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

PostgreSQL 9.1 на CentOS 6.5 - recovery.conf вызывает завершение процесса с кодом ошибки

Я установил потоковую репликацию на Ubuntu 12.04 LTS с синхронизацией файлов WAL в случае сбоя. Теперь я пытался сделать то же самое на CentOS 6.5.

Для этого я добавил официальный RPM с postgresql.org и установил postgresql 9.1 с помощью yum.

Все хорошо до того момента, когда я должен создать recovery.conf файл.

Достаточно просто создать даже пустой recovery.conf файл в $PDATA каталог, поэтому PostgreSQL не запускается:

DEBUG:      PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
DEBUG:      MAIL=/var/spool/mail/root
DEBUG:      LC_IDENTIFICATION=pl_PL.UTF-8
DEBUG:      PWD=/var/lib/pgsql
DEBUG:      LANG=en_US.UTF-8
DEBUG:      LC_MEASUREMENT=pl_PL.UTF-8
DEBUG:      SELINUX_LEVEL_REQUESTED=
DEBUG:      HISTCONTROL=ignoredups
DEBUG:      HOME=/var/lib/pgsql
DEBUG:      SHLVL=2
DEBUG:      LOGNAME=postgres
DEBUG:      SSH_CONNECTION=10.255.0.142 41803 10.255.0.186 22
DEBUG:      LESSOPEN=|/usr/bin/lesspipe.sh %s
DEBUG:      LC_TIME=C
DEBUG:      G_BROKEN_FILENAMES=1
DEBUG:      LC_NAME=pl_PL.UTF-8
DEBUG:      _=/usr/pgsql-9.1/bin/postgres
DEBUG:      PGLOCALEDIR=/usr/pgsql-9.1/share/locale
DEBUG:      PGSYSCONFDIR=/etc/sysconfig/pgsql
DEBUG:      LC_COLLATE=en_US.UTF-8
DEBUG:      LC_CTYPE=en_US.UTF-8
DEBUG:      LC_MESSAGES=pl_PL.UTF-8
DEBUG:  -----------------------------------------
DEBUG:  invoking IpcMemoryCreate(size=39288832)
DEBUG:  usuwanie pliku "pg_notify/0000" # removing file
DEBUG:  max_safe_fds = 984, usable_fds = 1000, already_open = 6
DEBUG:  zatrzymanie rejestratora # means stop registry/registrator
DEBUG:  shmem_exit(0): 0 callbacks to make
DEBUG:  proc_exit(0): 0 callbacks to make
DEBUG:  exit(0)
DEBUG:  shmem_exit(-1): 0 callbacks to make
DEBUG:  proc_exit(-1): 0 callbacks to make

То же самое при запуске gdb:

DEBUG:  shmem_exit(0): 0 callbacks to make
DEBUG:  proc_exit(0): 0 callbacks to make
DEBUG:  exit(0)
DEBUG:  shmem_exit(-1): 0 callbacks to make
DEBUG:  proc_exit(-1): 0 callbacks to make

Program exited with code 01.
(gdb) bt
No stack.

с участием -d 5 и LC = C (слишком длинный, чтобы поместиться в сообщение) http://pastebin.com/Z7t1CEwg

Без этого файла recovery.conf PostgreSQL работает нормально.

Кто-нибудь сталкивался с такой проблемой?

Проблема не возникает на CentOS x64. Это всего лишь временный обходной путь, но я принимаю его, не имея лучшего ответа.