|
|
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Есть запрос: Код: plsql 1. есть сервер оригинальный, есть его клон - виртуалка, версии постгреса одинаковые, таблички db_users на них - 15 строк - все одинаковое - визуально сравнил. на одном выполняется, а на другом (На клоне) нет - пишет: ERROR: operator does not exist: smallint ~~* unknown at character 137 HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. LINE 1: ...er_id) AS filescount FROM core_users WHERE status ILIKE '1%'... ^ -указывает на I в ILIKE куда копать? что делать? помогите плиз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.05.2014, 23:01:28 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Я не эксперт в Постгрес, но знаю что у него очень много заморочек с приведением типов, возможно стоит привести status к строковому типу принудительно. В подтверждении догадки на офф. доке. string LIKE pattern [ESCAPE escape-character] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 02:28:30 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr ZlobinЕсть запрос: Код: plsql 1. есть сервер оригинальный, есть его клон - виртуалка, версии постгреса одинаковые, таблички db_users на них - 15 строк - все одинаковое - визуально сравнил. на одном выполняется, а на другом (На клоне) нет - пишет: ERROR: operator does not exist: smallint ~~* unknown at character 137 HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. LINE 1: ...er_id) AS filescount FROM core_users WHERE status ILIKE '1%'... ^ -указывает на I в ILIKE куда копать? что делать? помогите плиз like/ilike только над текстами работают... так что вам надо к ::text приводить status и значит на оригинальном сервере что то с настройками приведений типов по умолчанию натворили (зря в общем хотя и не особо опасно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 03:50:47 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
спасибо за ответы, буду пробовать Maxim Bogukи значит на оригинальном сервере что то с настройками приведений типов по умолчанию натворили (зря в общем хотя и не особо опасно). как это проверить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 08:15:35 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
относительно like/ilike только над текстами работают... так что вам надо к ::text приводить status если на оригинальном работает - почему тут нет, если это клон? как поменять - подскажете? и если поменять на что то повлияет? в данной колонке - только цифры, от 0 до 9... одна цифра - больше ничего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 09:09:20 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr Zlobinотносительно like/ilike только над текстами работают... так что вам надо к ::text приводить status если на оригинальном работает - почему тут нет, если это клон? как поменять - подскажете? и если поменять на что то повлияет? в данной колонке - только цифры, от 0 до 9... одна цифра - больше ничего 1)а собственно что значит клон? как именно его делали? 2)поменять на что? сделать на исходном сервере как было или сделать на новом так же как на исходном? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 09:38:41 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr Zlobinспасибо за ответы, буду пробовать Maxim Bogukи значит на оригинальном сервере что то с настройками приведений типов по умолчанию натворили (зря в общем хотя и не особо опасно). как это проверить? psql к вашей базе... \dC+ smallint если увидите строку вида Source type | Target type | Function | Implicit? | Description ------------------+------------------+----------+---------------+------------- smallint | text | text | yes | значит руками создан implicit cast smallint -> text через что то вида: Код: plsql 1. 2. поскольку это грязный скальпель в потрохах базы - никакой pg_dump/pg_restore на другой сервер его не перенесут... и надо руками выполнять. PS: а еще лучше никогда так не делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 10:17:46 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
понял, чуть позже проверю и отпишусь. еще вопрос не в тему -на оригинальном сервере периодически меняется структура, можно ли ее переносить как то на клон? обновленные данные не критичны...нужны только новые функции\тригерры\таблицы не хочется тягать полный дамп-ресторе.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 10:43:42 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
а еще как то можно выловить implicit cast smallint -> text , так где он не нужен? или при дампе- восстановлении- если он делается не через дамп а через sql скрипт? хочу проверить всю базу на подобные подставы ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 11:14:40 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr Zlobinпонял, чуть позже проверю и отпишусь. еще вопрос не в тему -на оригинальном сервере периодически меняется структура, можно ли ее переносить как то на клон? обновленные данные не критичны...нужны только новые функции\тригерры\таблицы не хочется тягать полный дамп-ресторе.... для этого изменения структуры должны делатся через файлы под контролем версий которые будут накатываться и на основную базу и на клон... т.е. эта задача должна решаться средствами вне базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 11:16:54 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr Zlobinа еще как то можно выловить implicit cast smallint -> text , так где он не нужен? или при дампе- восстановлении- если он делается не через дамп а через sql скрипт? хочу проверить всю базу на подобные подставы ) переформулируйте вопрос... не понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 11:17:37 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
по синхронизации структуры - можно ли выгрузить новую структуру в скрипт и залить на клон? что -бы что есть - пропустилось? или лучше выгрузить две структуры - и диффом сравнить? по второму - подобное ручное изменение что то с настройками приведений типов по умолчанию натворили -проверить сразу по всей базе? или оно вылезет только при некорректном запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 12:58:09 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr Zlobin что то с настройками приведений типов по умолчанию натворили -проверить сразу по всей базе? или оно вылезет только при некорректном запросе? только при некорректном запросе естественно вылезет... это же только запросов касается а не данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:26:29 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
понял я как то упустил 1)а собственно что значит клон? как именно его делали? 2)поменять на что? сделать на исходном сервере как было или сделать на новом так же как на исходном? 1 - клонирование сервера с помощью rsync с последующей виртуализацией 2 в идеале - привести клон в состояние исходного. никакой pg_dump/pg_restore на другой сервер его не перенесут... и надо руками выполнять. а если сделать дамп в скл скрипт? и залить его? будут данные как в оригинале? получится сделать также как и на оригинальном сервере, что бы запрос выполнялся? в любом случае - при сохранении структуры - сохранится данная правка, внесенная в оригинале, но не загрузится на новый или даже не сохранится? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 15:56:36 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
на боевой сервер сейчас консоли нету, есть только удаленный доступ через виндовую софтину. на клоне - проверил - небыло записи, выполнил ваши команды - помогло, спасибо. через удаленную оболочку \dC+ smallint не выполняется. есть ли возможность посмотреть это другим запросом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 16:18:47 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr Zlobinна боевой сервер сейчас консоли нету, есть только удаленный доступ через виндовую софтину. на клоне - проверил - небыло записи, выполнил ваши команды - помогло, спасибо. через удаленную оболочку \dC+ smallint не выполняется. есть ли возможность посмотреть это другим запросом? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 16:41:43 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Нифига себе сокращение.... спасибо... 1 на клоне \dC+ smallint -все равно показывает все, а не только то что с smallint 2я паралельно вызвонил людей, мне кинули с сервера оригинального вывод \dC+ вот список различий (все одинаковое убрал): оригнал: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. клон: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. ну, эта строка Код: sql 1. уже не отличается... спасибо вашим командам. т.е. по сути, все (binary compatible) в оригинале (binary coercible) и все остальное добавлено | text | text | yes 3 даже приглашение отлчается ) => \ я понимаю что правильно не менять, но все же- кк можно привести значения клона в значения оригинала? я так понимаю это глобальные параметры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 17:30:13 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr Zlobin, всетаки подробно опишите процедуру клонирования базы так как я не понимаю как если вы файлово копировали остановленную базу вы получили разные настроки приведений типов.... привести клон к оригиналу скорее всего чем то вида: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. плюс-минус приведение нескольких типов... Это не глобальные параметры а локальные параметры конктретной базы... но поскольку они внутренние (и не предусмотрены к изменению в нормальной ситуации) - они через pg_dump не переносятся (и через Pg_dumpall Тоже кстати). Собственно эти касты - приведение логики работы базы к той которая была в версиях 8.3 и ранее (когда вместо того чтобы почистить код и привести запросы в норму - ставили вот такие вот костыли). Файл напобие того что я написал - он во время выхода 8.4 много где в сети валялся могли взять оттуда и внести не думая о последствиях долговременных. --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 18:45:26 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
в моем предыдущем топике выяснилось что файловая оакзалась битая и в т.ч. из за этого не удалялась, только после всех команда вакума\анализа и тд - она удалилась. поэтому и выходит такая неурядица. сейчас база - взята с дампа сделаного в скл файл. дамп сделанный pg_dump как Вы и писали pg_restore не подымает, с скл файла - подняло, видимо проигнорив ошибки. меня интерисует можно ли снять и как это сделать дамп базы под owner-ом, так что бы этот дамп поднялся, в т.ч. и с данными параметрами. мдя... костыль тот еще.... Спасибо, | text | text | yes уже все появилсь. по сути остается два вопроса: 1 можно ли как то дампить\выгружать все, включая этот костыль но не копируя на холодную? 2 и как поменять на (binary coercible) ? или это не повлияет на работу ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 19:09:03 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr Zlobinв моем предыдущем топике выяснилось что файловая оакзалась битая и в т.ч. из за этого не удалялась, только после всех команда вакума\анализа и тд - она удалилась. поэтому и выходит такая неурядица. сейчас база - взята с дампа сделаного в скл файл. дамп сделанный pg_dump как Вы и писали pg_restore не подымает, с скл файла - подняло, видимо проигнорив ошибки. меня интерисует можно ли снять и как это сделать дамп базы под owner-ом, так что бы этот дамп поднялся, в т.ч. и с данными параметрами. мдя... костыль тот еще.... Спасибо, | text | text | yes уже все появилсь. по сути остается два вопроса: 1 можно ли как то дампить\выгружать все, включая этот костыль но не копируя на холодную? 2 и как поменять на (binary coercible) ? или это не повлияет на работу ? 1)нет не возможно в принципе никак... эту инфу вообще из базы штатными средствами не выгрузить 2) разница между binary coercible и binary compatible - я думаю вызвана разными версиями базы у вас на исходном сервере и на вашем... и менять это никак не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 19:18:34 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
т.е. сейчас мне достаточно просто делсть дамп-ресторе? по идее ошибок уже не будет? есть подозрение что были ошибки именно из за этого, не заливались какие то функции. з.ы. вы можете ткнуть линком, на файл и описание этого костыля? я даже не знаю по каким принципам его искать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2014, 19:22:20 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr Zlobinт.е. сейчас мне достаточно просто делсть дамп-ресторе? по идее ошибок уже не будет? есть подозрение что были ошибки именно из за этого, не заливались какие то функции. з.ы. вы можете ткнуть линком, на файл и описание этого костыля? я даже не знаю по каким принципам его искать... Ап. подскажите по данным двум моментам? спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 17:26:43 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Еще вопрос: если я переделаю запросі - как удалить данный "костыль"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2014, 23:25:59 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr Zlobinт.е. сейчас мне достаточно просто делсть дамп-ресторе? по идее ошибок уже не будет? есть подозрение что были ошибки именно из за этого, не заливались какие то функции. з.ы. вы можете ткнуть линком, на файл и описание этого костыля? я даже не знаю по каким принципам его искать... 1.т.е. сейчас мне достаточно просто делсть дамп-ресторе? по идее ошибок уже не будет? скорее всего да 2. первая ссылка по гуглу "8.3 compatible cast postgresql" http://petereisentraut.blogspot.de/2008/03/readding-implicit-casts-in-postgresql.html --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2014, 15:31:39 |
|
||
|
Ошибка при выполнении запроса с ilike
|
|||
|---|---|---|---|
|
#18+
Alexandr ZlobinЕще вопрос: если я переделаю запросі - как удалить данный "костыль"? это хороший вопрос... проще всего dump и restore базы начисто... можно и пачкой sql комманд но их придумывать надо. --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2014, 15:33:03 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=127&tid=1998654]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 200ms |
| total: | 393ms |

| 0 / 0 |
