|
Невозможен upgrade 9.5->9.6 из-за plpython
|
|||
---|---|---|---|
#18+
Сервер для всякой рабочей информации. Одна из баз просто тестовая - для всякого рода экспериментов. Когда-то в этой базе были эксперименты с python: create language / drop language (или create extension / drop extension.... уже не помню). Все функции уже давно дропнуты, но остались следы в pg_proc. Код: sql 1. 2. 3. 4. 5. 6.
В результате при штатном апгрейде через pg_upgrade, справедливо вылезает это Код: sql 1. 2.
Собственно вопрос простой, можно ли что-то с этим сделать? Например, дропнуть из системного каталога, насколько это безопасно? Возможно я изначально упустил какую-то деталь при create/drop language и нужно воспроизвести историю?? Сейчас версии сервера уже пересобраны без поддержки python (дистрибутив gentoo). Конечно, можно просто дропнуть всю базу test, но вопрос принципиальный, а если будет база, в которой это важно. Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 01:49 |
|
Невозможен upgrade 9.5->9.6 из-за plpython
|
|||
---|---|---|---|
#18+
grgdvo, А что говорит `\dx`, нет ли там каких "ненужных" расширений? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 10:06 |
|
Невозможен upgrade 9.5->9.6 из-за plpython
|
|||
---|---|---|---|
#18+
Скорее всего язык вы создавали с помощью CREATE LANGUAGE. В документации пишется, что plpython нужно создавать с помощью CREATE EXTENSION ( CREATE LANGUAGE ): авторAs of PostgreSQL 9.1, most procedural languages have been made into “extensions”, and should therefore be installed with CREATE EXTENSION not CREATE LANGUAGE. Direct use of CREATE LANGUAGE should now be confined to extension installation scripts. If you have a “bare” language in your database, perhaps as a result of an upgrade, you can convert it to an extension using CREATE EXTENSION langname FROM unpackaged. Если plpython создавать с помощью CREATE LANGUAGE, то действительно почему-то данные процедуры не удаляются из pg_proc. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 12:10 |
|
Невозможен upgrade 9.5->9.6 из-за plpython
|
|||
---|---|---|---|
#18+
vyegorov, Было в \dL, я его дропнул. Сейчас вот так выглядит Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Учитывая комментарий Rutra 20653306 , попробую воссоздать историю. Пересобиру с питоном, потом create extension и drop extension. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2017, 23:37 |
|
Невозможен upgrade 9.5->9.6 из-за plpython
|
|||
---|---|---|---|
#18+
Похоже помогло пересоздание. Объясняю почему "похоже" Сделал следующее. 1. Пересобрал версии PG (9.5 и 9.6) с поддержкой python2 для джентушников: в package.use PYTHON_TARGETS: -* python2_7 PYTHON_SINGLE_TARGET: -* python2_7 eselect python set [здесь номер для версии python2] 2. На версии 9.5 (до апгрейда) createlang/droplang срабатывали успешно, но следы в pg_proc все равно оставались после дропа. 3. Пересобрал версии PG (9.5 и 9.6) с поддержкой python3 аналогично в package.use PYTHON_TARGETS: -* python3_4 PYTHON_SINGLE_TARGET: -* python3_4 eselect python set [здесь номер для версии python3] 4. На версии 9.5 (до апгрейда) createlang/droplang срабатывали успешно, И СЛЕДЫ в pg_proc НЕ ОСТАВАЛИСЬ после дропа. Хотя я не создавал функций, ну и соответственно и следов не должно остаться. 5. Плюнул на следы, апгрейд надо было провести, вернулся к версиям PG с python2. Все прошло успешно, ибо модуль в наличии. 6. После pg_upgrade, рекомендуют к запуску скрипты analyze_new_cluster и потом delete_old_cluster. Все это сделал, и вуаля!! следов нет. Вот по этому и говорю "похоже", потому что у меня два варианта трактовки полученного результата. Либо pg_upgrade, не стал переносить то, чего на самом деле нет из старого кластера в новый. Либо помог vacuum full, который в analyze_new_cluster, который подчистил "ненужное", перенесенное из старого кластера. В любом случае всем спасибо, проблема с апгрейдом разрешилась успешно, все данные перенеслись в полном объеме. В конце-концов остаюсь на версии с python3, авось пригодится для чего-нибудь. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2017, 02:22 |
|
|
start [/forum/topic.php?fid=53&fpage=69&tid=1996351]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 126ms |
0 / 0 |