|
|
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
PostgreSQL 8.4 --------------- SQL --------------- CREATE TYPE public.base_type1 ( INPUT = array_in, OUTPUT = array_out, INTERNALLENGTH = VARIABLE, DELIMITER = ',', SEND = anyarray_send, RECEIVE = array_recv, ALIGNMENT = double, STORAGE = EXTENDED ); -----СООБЩЕНИЕ ОБ ОШИБКЕ----- ERROR: function array_out(base_type1) does not exist ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2015, 16:28 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
Ищут пожарные, ыщет милиция, Ищут фотографы в нашей столице, Ищут два часа, но не могут найти, Как сообщение то перевести. (c) Скуфеу Ензу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2015, 18:39 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
Что делал: 1. Создаю дамп на текущем сервере командой: pg_dump -Fc -c -U voip naumendb > /opt/postgres/naudb01.dump 2. Восстанавливаю на целевом сервере командой: # su - postgres -c "pg_restore -Fc -c -d naumendb /var/lib/pgsql/8.4/backups/naudb01.dump" pg_restore: [archiver (db)] Error while PROCESSING TOC: pg_restore: [archiver (db)] Error from TOC entry 622; 1247 17259 TYPE _V_ALL_OPERATOR_CALLS voip pg_restore: [archiver (db)] could not execute query: ERROR: type "public._V_ALL_OPERATOR_CALLS" does not exist Command was: DROP TYPE public."_V_ALL_OPERATOR_CALLS" CASCADE; pg_restore: [archiver (db)] could not execute query: ERROR: argument of element must be a type name Command was: CREATE TYPE "_V_ALL_OPERATOR_CALLS" ( INTERNALLENGTH = variable, INPUT = array_in, OUTPUT = array_out, RECEI... pg_restore: [archiver (db)] could not execute query: ERROR: type "public._V_ALL_OPERATOR_CALLS" does not exist Command was: ALTER TYPE public."_V_ALL_OPERATOR_CALLS" OWNER TO voip; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 10:38 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
функция array_out есть в pg_catalog ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 10:48 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
Но не могу понять, почему при создании типа она не видна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 12:10 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
ZeroLНо не могу понять, почему при создании типа она не видна. 1. Она точно есть в целевой базе? 2. У неё точно в целевой базе тип аргумента base_type1 (и если да, то как это Вам удалось, кстати)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 13:07 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
ZeroL, предположу - вы даете огрызки логов ... create language plpgsql, в 8.4, по умолчанию не ставится ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 13:12 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
ZeroLфункция array_out есть в pg_catalog покажЫте вывод Код: sql 1. в обеих базах. // а дальше, если всё путём, будем ковыряться в дефолтных кастах, которые сами не переносятся, Максим как-то описывал технику ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 13:27 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
PgSQLAnonymousZeroLНо не могу понять, почему при создании типа она не видна. 1. Она точно есть в целевой базе? 2. У неё точно в целевой базе тип аргумента base_type1 (и если да, то как это Вам удалось, кстати)? 1. Ага, есть. Проверяли: select pg_catalog.array_out('{"a","b"}'::varchar[])::varchar; 2. Да, так и есть. function array_out("_V_ALL_OPERATOR_CALLS") - такой нет, а array_out(pg_catalog.anyarray) - есть. Но она нам не нужна. Нашли такой тезис: 7.3 is stricter about the declarations of datatype I/O functions than prior releases were. Since array_out is declared to take anyarray, not int4array, the above fails. You could hack your way to a working datatype by creating extra pg_proc entries for array_in/_out: create function int4array_in(cstring) returns int4array as 'array_in' language internal strict immutable; create function int4array_out(int4array) returns cstring as 'array_out' language internal strict immutable; Но функции-обертки сделать не получилось. Далее научные исследования застопорились, подскажите, в какую сторону копать? PS Дамп был сделан из 8.4.13, а заливается в 8.4.22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 14:54 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
Victor NevskyZeroL, предположу - вы даете огрызки логов ... create language plpgsql, в 8.4, по умолчанию не ставится ... Zerol рядом, поэтому пишу от его имени. Я не спец в PG, но боюсь, что это ни при чем. Насколько я смог нарыть, проблема в ужесточении требований к декларированию типов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 14:56 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
[quot ikonst]PgSQLAnonymousпропущено... Но функции-обертки сделать не получилось. Далее научные исследования застопорились, подскажите, в какую сторону копать? PS Дамп был сделан из 8.4.13, а заливается в 8.4.22. Да пишите ж вы подробнее. ;) Что делали, что именно не получилось (вывод сервера, а не своими словами), repro можете показать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 15:06 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
qwwqZeroLфункция array_out есть в pg_catalog покажЫте вывод Код: sql 1. в обеих базах. // а дальше, если всё путём, будем ковыряться в дефолтных кастах, которые сами не переносятся, Максим как-то описывал технику postgres | pg_catalog | array_out_751 | postgres | pg_catalog | array_out | FUNCTION | | | | | | | cstring | | | | | | | | | | | | | | | postgres | pg_catalog | cstring | | | | | 0 | EXTERNAL | array_out | | INTERNAL | GENERAL | NO | MODIFIES | YES | | YES | 0 | | | INVOKER | | | | NO | | | | YES | | | | | | | | | | | | | | | | | | | | | | | | (1 row) Различие между двумя БД только в поле .route_definition. В исходной - NULL, в приемнике - array_out ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 15:08 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
ikonst, наверное ваш случай http://www.postgresql.org/message-id/flat/17149.1301323667@sss.pgh.pa.us#17149.1301323667@sss.pgh.pa.us]http://www.postgresql.org/message-id/flat/17149.1301323667@sss.pgh.pa.us#17149.1301323667@sss.pgh.pa.us исправьте/обойдите этот косяк в исходной базе иначе придётся жить без возможности проапгрейдиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 15:12 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
[quot PgSQLAnonymous]ikonstпропущено... Да пишите ж вы подробнее. ;) Что делали, что именно не получилось (вывод сервера, а не своими словами), repro можете показать? Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 15:15 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
Victor Nevsky ikonst, наверное ваш случай http://www.postgresql.org/message-id/flat/17149.1301323667@sss.pgh.pa.us#17149.1301323667@sss.pgh.pa.us]http://www.postgresql.org/message-id/flat/17149.1301323667@sss.pgh.pa.us#17149.1301323667@sss.pgh.pa.us исправьте/обойдите этот косяк в исходной базе иначе придётся жить без возможности проапгрейдиться. Нет, к сожалению, ничего про наш случай не увидел. Так если бы - не мы эту систему разрабатывали, плюс она в 24/7 Но идея мне нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 15:27 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
ikonst, то на первый взгляд, посмотрите тему . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 16:27 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Может, мне глаза изменяют, но Вам не кажется, что в определении функции _V_ALL_OPERATOR_CALLS_out в названии типа V_ALL_OPERATOR_CALLS просто не хватает кавычек? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 16:59 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
PgSQLAnonymous Может, мне глаза изменяют, но Вам не кажется, что в определении функции _V_ALL_OPERATOR_CALLS_out в названии типа V_ALL_OPERATOR_CALLS просто не хватает кавычек? postgres=# create function _V_ALL_OPERATOR_CALLS_out("_V_ALL_OPERATOR_CALLS") returns cstring as 'array_out' language internal strict immable; ERROR: type _V_ALL_OPERATOR_CALLS does not exist ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 14:04 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
ZeroL, вы сами запутались и всех запутали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 17:00 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
выполните запрос в исходной базе SELECT * FROM information_schema.routines where routine_name in ('array_in', 'array_out', 'array_send', 'array_recv') , дайте результат сюда и не нужно рассуждать о array_out и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 17:03 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
Victor Nevskyвыполните запрос в исходной базе SELECT * FROM information_schema.routines where routine_name in ('array_in', 'array_out', 'array_send', 'array_recv') , дайте результат сюда и не нужно рассуждать о array_out и т.д. specific_catalog specific_schema specific_name routine_catalog routine_schema routine_name routine_type module_catalog module_schema module_name udt_catalog udt_schema udt_name data_type character_maximum_length character_octet_length character_set_catalog character_set_schema character_set_name collation_catalog collation_schema collation_name numeric_precision numeric_precision_radix numeric_scale datetime_precision interval_type interval_precision type_udt_catalog type_udt_schema type_udt_name scope_catalog scope_schema scope_name maximum_cardinality dtd_identifier routine_body routine_definition external_name external_language parameter_style is_deterministic sql_data_access is_null_call sql_path schema_level_routine max_dynamic_result_sets is_user_defined_cast is_implicitly_invocable security_type to_sql_specific_catalog to_sql_specific_schema to_sql_specific_name as_locator created last_altered new_savepoint_level is_udt_dependent result_cast_from_data_type result_cast_as_locator result_cast_char_max_length result_cast_char_octet_length result_cast_char_set_catalog result_cast_char_set_schema result_cast_character_set_name result_cast_collation_catalog result_cast_collation_schema result_cast_collation_name result_cast_numeric_precision result_cast_numeric_precision_radix result_cast_numeric_scale result_cast_datetime_precision result_cast_interval_type result_cast_interval_precision result_cast_type_udt_catalog result_cast_type_udt_schema result_cast_type_udt_name result_cast_scope_catalog result_cast_scope_schema result_cast_scope_name result_cast_maximum_cardinality result_cast_dtd_identifier postgres pg_catalog array_in_750 postgres pg_catalog array_in FUNCTION anyarray postgres pg_catalog anyarray 0 EXTERNAL array_in INTERNAL GENERAL NO MODIFIES YES YES 0 INVOKER NO YES postgres pg_catalog array_out_751 postgres pg_catalog array_out FUNCTION cstring postgres pg_catalog cstring 0 EXTERNAL array_out INTERNAL GENERAL NO MODIFIES YES YES 0 INVOKER NO YES postgres pg_catalog array_recv_2400 postgres pg_catalog array_recv FUNCTION anyarray postgres pg_catalog anyarray 0 EXTERNAL array_recv INTERNAL GENERAL NO MODIFIES YES YES 0 INVOKER NO YES postgres pg_catalog array_send_2401 postgres pg_catalog array_send FUNCTION bytea postgres pg_catalog bytea 0 EXTERNAL array_send INTERNAL GENERAL NO MODIFIES YES YES 0 INVOKER NO YES ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 18:08 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
ZeroL, для того что-бы, create type ....без ошибки, в исходной базе должны быть перегруженные функции: array_in, array_out, array_send, array_recv. это вы выдали результат с той базы где нормально отрабатывает? Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. я пас. должно быть типа такого: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 18:55 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
Victor Nevsky, Нет, так не идет. При создании типа Код: sql 1. Насколько я понимаю, ругается на тип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 14:43 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
где? куда? не верю. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Код: plaintext 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. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 15:23 |
|
||
|
ошибка создания типа
|
|||
|---|---|---|---|
|
#18+
Victor Nevsky, успокойтесь, у ТС в кавычках, в верхнем регистре. просто прочитайте ТС лекцию про отличие имён, и объясните, что в вашем скрипте ошибка с именем типа в верхнем регистре вылезти не может. -- "её там нет" значит это обрывок их скрипта, в котором где-то есть кавычки вокруг имени типа в верхнем регистре, где-то -- нет. и нет никакого понимания ТС-ов, что имена -- разные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2015, 16:02 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38957509&tid=1997994]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
197ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 482ms |

| 0 / 0 |
