Я установил потоковую репликацию на 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. Это всего лишь временный обходной путь, но я принимаю его, не имея лучшего ответа.