пост-ГРЭС-xc не установит из-за поврежденных пакетов

На 14,04 установках postgresql был установлен через sudo apt-get install postgresql postgresql-contrib libpq-dev

Эта установка предназначена, чтобы быть ведомым устройством, но не может запустить, не работая pg_resetxlog. Даже при том, что /usr/lib/postgresql/9.3/bin/ имеет pg_resetxlog, система требует установки 'пост-ГРЭС-xc'.

apt-get install postgres-xc
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 postgres-xc : Depends: postgres-xc-client but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

если пост-ГРЭС-xc зависит от postgres-xc-client, почему эта зависимость проигнорировала?

Ведомое устройство обновления является VPS. Был установлен, создав postgresql через sudo apt-get install postgresql postgresql-contrib libpq-dev
На ведущем устройстве (OS X 10.6.8 с postgre, установленным через домашнее пиво)

psql -c "select pg_start_backup('initial_backup');"
rsync -cva --inplace --exclude=*pg_xlog* /usr/local/var/postgres/ slave_IP_address:/var/lib/postgresql/9.3/main/
psql -c "select pg_stop_backup();"

Ведомому устройству затем создали его recovery.conf файл. но запуск ведомого устройства service postgresql start запущенное дросселирование pg_log быть исключенным, тот каталог был затем создан.
Затем: PANIC: could not locate a valid checkpoint record

2
задан 2 October 2014 в 11:24

1 ответ

Вы скопировали основное резервное копирование без pg_xlog - по-видимому, намеренно.

Единственное время это в порядке, - когда Ваше ведущее устройство имеет archive_command в postgresql.conf заархивировать WAL к некоторому общему ресурсу и копию имеет a restore_command в recovery.conf это может считать заархивированный WAL. Даже затем Вы должны mkdir пустое pg_xlog.

Если Вы не используете WAL архивация, необходимо скопировать pg_xlog, включая сегмент (сегменты) WAL, созданный после конца pg_stop_backup, как объяснено в руководстве.

Я настоятельно рекомендую, чтобы Вы использовали более новое pg_basebackup команда для создания копии вместо этого. Это намного более просто и легко для разбираний. Просто включите a replication соединение от адреса запланированной копии на ведущем устройстве (в 'pg_hba.conf), как Вы было бы для потоковой передачи репликации, затем:

pg_basebackup -D /path/to/new/data/dir -X stream --write-recovery-conf -h master.server.address ...other connection options...

скопировать каталог данных ведущего устройства, включая все потребовало WAL к копии. Это даже создает a recovery.conf для Вас автоматически.


postgres-xc не то же самое как PostgreSQL. Это - несовместимое ветвление более старой версии PostgreSQL, который добавляет мультиосновную кластеризацию. Это - серьезная ошибка, если Ubuntu когда-нибудь говорит Вам устанавливать postgres-xc получить инструменты PostgreSQL.

Никогда не работайте pg_resetxlog. Единственное время Вы должны, после серьезного отказа базы данных, и только затем после полного резервного копирования; посмотрите запись на повреждении базы данных на Wiki.

8
ответ дан 7 October 2019 в 00:36

Другие вопросы по тегам:

Похожие вопросы: