@rtem |
|
Темы:
32
Сообщения:
127
Участник с: 04 января 2009
|
Всем привет, помогите обновить PostgreSQL, раньше была версия 9.0, а сейчас пакет обновился до 9.1. Раньше не имел дела с этой СУБД, буду признателен за подсказку. Спасибо. |
@rtem |
|
Темы:
32
Сообщения:
127
Участник с: 04 января 2009
|
пробую делать вот так и не выходит[[email protected] ~]$ pg_upgrade --check -d /var/lib/postgres/olddata/ -D /var/lib/postgres/data/ -b /opt/pgsql-9.0/bin/ -B /usr/bin/ Performing Consistency Checks ----------------------------- Checking current, bin, and data directories ok Checking cluster versions This utility can only upgrade to PostgreSQL version 9.1. Failure, exiting |
sleepycat |
|
Темы:
98
Сообщения:
3291
Участник с: 19 июля 2011
|
ну похоже что он хочет сказать что может помоч апнуться только до v 9.1
Лозунг у них был такой: "Познание бесконечности требует бесконечного времени". С этим я не спорил, но они делали из этого неожиданный вывод: "А потому работай не работай — все едино". И в интересах неувеличения энтропии Вселенной они не работали. (с)
|
@rtem |
|
Темы:
32
Сообщения:
127
Участник с: 04 января 2009
|
та это понятно, хотя странно поставил postgresql-old-upgrade 9.0.5-1 и в olddata данные предыдущей версии. по идее обновляюсь до новой версии т.е. 9.1, и что то не выходит |
anthonio |
|
Темы:
18
Сообщения:
378
Участник с: 11 августа 2009
|
А что нельзя сделать дамп а потом с него развернуть? |
@rtem |
|
Темы:
32
Сообщения:
127
Участник с: 04 января 2009
|
anthonioа можно подробнее? |
anthonio |
|
Темы:
18
Сообщения:
378
Участник с: 11 августа 2009
|
@rtemНа рабочем сервере делаем дамп необходимой базы данных:anthonioа можно подробнее? $ /usr/bin/pg_dump -U username -Z 5 -cO database > psql_dump.gz Или можно удалить базу данных: $ sudo bash $ su - postgres $ dropdb database $ createdb database $ zcat psql_dump.gz | psql -U username database |
@rtem |
|
Темы:
32
Сообщения:
127
Участник с: 04 января 2009
|
А если сервер уже обновился? т.е. уже обновленная версия и он не стартует потому что пишет, что базы для работы со старой версией |
anthonio |
|
Темы:
18
Сообщения:
378
Участник с: 11 августа 2009
|
https://wiki.archlinux.org/index.php/Downgrading_Packages ? |
@rtem |
|
Темы:
32
Сообщения:
127
Участник с: 04 января 2009
|
Все обновил. Как оказалось, все не так сложно, а дело обстоит так: после того как обновилась сама PostgreSQL запустить сервер не получается. Ставим пакет postgresql-old-upgrade, переключаемся на пользователя postgres. Идем в каталог /var/lib/postgres/ и выполняем команду mv /var/lib/postgres/data /var/lib/postgres/olddata Потом запускаем сервер, ждем когда он создаст новый каталог /var/lib/postgres/data и останавливаем сервер (да, перед тем как остановить я подключился к PostgreSQL и обновил роль для пользователя posgres, установил ему пароль ALTER ROLE postgres WITH PASSWORD ‘password’;). Так как у меня была настроена авторизация к СУБД по паролю и метод md5 в /var/lib/postgres/data/pg_hba.conf (и в olddata/pg_hba.conf) то в каталоге /var/lib/postgres/ я создал файл .pgpass с таким содержимым *:*:*:*:password (хост, порт, база, пользователь как написано на офф. сайте можно прописать звездочками, главное пароль указать который используется) . дайте ему 0600 права и потом запускаем проверку [[email protected] ~]$ pg_upgrade --check -d /var/lib/postgres/olddata/ -D /var/lib/postgres/data/ -b /opt/pgsql-9.0/bin/ -B /usr/bin/ --old-port=5432 --new-port=5433 --user=postgres Performing Consistency Checks ----------------------------- Checking current, bin, and data directories ok Checking cluster versions ok Checking database user is a superuser ok Checking for prepared transactions ok Checking for reg* system oid user data types ok Checking for contrib/isn with bigint-passing mismatch ok Creating catalog dump ok Checking for prepared transactions ok Checking for presence of required libraries ok [[email protected] ~]$ /opt/pgsql-9.0/bin/pg_ctl stop -D /var/lib/postgres/olddata/ waiting for server to shut down.... done server stopped [[email protected] ~]$ pg_upgrade -d /var/lib/postgres/olddata/ -D /var/lib/postgres/data/ -b /opt/pgsql-9.0/bin/ -B /usr/bin/ --old-port=5432 --new-port=5433 --user=postgres Performing Consistency Checks ----------------------------- Checking current, bin, and data directories ok Checking cluster versions ok Checking database user is a superuser ok Checking for prepared transactions ok Checking for reg* system oid user data types ok Checking for contrib/isn with bigint-passing mismatch ok Creating catalog dump ok Checking for prepared transactions ok Checking for presence of required libraries ok | If pg_upgrade fails after this point, you must | re-initdb the new cluster before continuing. | You will also need to remove the ".old" suffix | from /var/lib/postgres/olddata/global/pg_control.old. Performing Upgrade ------------------ Adding ".old" suffix to old global/pg_control ok Analyzing all rows in the new cluster ok Freezing all rows on the new cluster ok Deleting new commit clogs ok Copying old commit clogs to new server ok Setting next transaction id for new cluster ok Resetting WAL archives ok Setting frozenxid counters in new cluster ok Creating databases in the new cluster ok Adding support functions to new cluster ok Restoring database schema to new cluster ok Removing support functions from new cluster ok Restoring user relation files ok Setting next oid for new cluster ok Creating script to delete old cluster ok Upgrade complete ---------------- | Optimizer statistics are not transferred by pg_upgrade | so consider running: | vacuumdb --all --analyze-only | on the newly-upgraded cluster. | Running this script will delete the old cluster's data files: | /var/lib/postgres/delete_old_cluster.sh |