Назад | Перейти на главную страницу

postgres обновлен с 9.1 до 9.2, требуемое обновление базы данных не выполняется

При переходе с postgres 9.1 на 9.2 он говорит, что базы данных необходимо обновить, поэтому, давая команду обновления, которую я даю, я получаю следующее

$ sudo service postgresql upgrade
Stopping postgresql service:                               [  OK  ]
Upgrading database:                                        [FAILED]
See /var/lib/pgsql9/pgupgrade.log for details.

Содержимое файла журнала /var/lib/pgsql9/pgupgrade.log являются

Performing Consistency Checks
-----------------------------
Checking current, bin, and data directories                 ok
Checking cluster versions                                   ok

connection to database failed: fe_sendauth: no password supplied


could not connect to old postmaster started with the command:
"/usr/lib64/pgsql/postgresql-9.1/bin/pg_ctl" -w -l "pg_upgrade_server.log" -D "/var/lib/pgsql9/data-old" -o "-p 5432 -b  -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directory='/var/lib/pgsql9'" start
Failure, exiting

Я использовал postgres с паролем, чтобы включить что-то вроде этого pg_connect("host=localhost port=5432 dbname=pgdbname user=postgres password=postgrespassword");

я имел yum updated моя система и попал в это. Можете ли вы даже предложить способ, которым я могу все вернуть, тогда это будет здорово!

Обходной путь

Отредактируйте свой pg_hba.conf и установить соединения на local к trust на время обновления.

Задний план

Команда Amazon Linux в Amazon приняла странное решение выполнить обновление до основной версии PostgreSQL с помощью простого «yum update». Большинство поставщиков используют разные имена пакетов для разных основных версий, поэтому пользователи должны принимать явное решение об обновлении. Amazon этого не сделала и не относитесь серьезно к отзывам об этой проблеме.

Обновление пользователей до новой версии PostgreSQL при "yum update" - неправильный поступок именно по той причине, с которой вы столкнулись: pg_upgrade имеет ограничения, и вы не можете сделать дамп и перезагрузить, если у вас нет двоичных файлов старой версии сервера.

я написал об этом заметку некоторое время назад.

В Запись в FAQ по Amazon Linux по этой теме улучшилось с тех пор, как я написал об этом, но до сих пор не осознает, что они создают проблему из-за своей плохой политики упаковки.

Серьезно подумайте об использовании дистрибутива, который больше заботится о упаковке PostgreSQL. Команда PGDG на данный момент не производит пакеты для Amazon Linux, в противном случае я бы рекомендовал их использовать.