pgpool не может создать базу данных

Я запустил pgpool с помощью команды

sudo pgpool -n &

он начал выдавать следующее сообщение на терминале:

2012-05-04 10:54:29 ЖУРНАЛ: pid 4109: pgpool-II успешно запущен. версия 2.3.2.1 (томитебоши)

Но когда я пытаюсь запустить следующую команду:

createdb -p 9999 bench_replication

Я получаю следующее сообщение об ошибке:

createdb: не удалось подключиться к базе данных postgres: не удалось подключиться к серверу: нет такого файла или каталога. Сервер работает локально и принимает соединения через сокет домена Unix "/var/run/postgresql/.s.PGSQL.9999"?

Когда я меняю порт с 9999 на 5432, база данных bench_replication создается только на локальном узле, а не на подчиненных узлах. Но в учебнике сказано упомянуть порт 9999 в этой команде, чтобы создать базу данных bench_replication на всех подчиненных узлах через pgpool.

Чтобы проверить, действительно ли pgpool запущен или нет, я останавливаю pgpool с помощью команды

2012-05-04 10:58:50 LOG:   pid 4109: received smart shutdown request
stop request sent to pgpool. waiting for termination...done.
[1]+  Done                    sudo -A pgpool -n

что подтверждает, что pgpool действительно работал. Что я делаю неправильно? Я изменил весь свой pgpool файл конфигурации, как указано в стандартных руководствах в сети.


person Abhishek Sagar    schedule 04.05.2012    source источник


Ответы (2)


Попробуйте эту команду:

createdb -p 9999 -h 127.0.0.1 bench_replication

По умолчанию PostgreSQL пытается использовать сокет.

person Seuros    schedule 26.05.2012
comment
Четыре года спустя и все еще работаю! Это должен быть принятый ответ! - person Victor Castillo Torres; 05.12.2016

Поздний ответ, но полезный для будущих поколений:

Когда ты бежишь

createdb -p 9999 bench_replication

под root, это генерирует следующую ошибку в журнале:

нет записи pg_hba.conf для хоста «12.34.56.78», пользователя «root», базы данных «postgres», SSL отключен

Это означает, что вы должны явно указать имя пользователя примерно так:

createdb -U postgres -p 9999 bench_replication

Тогда вы получите еще одну ошибку:

нет записи pg_hba.conf для хоста «12.34.56.78», пользователя «postgres», базы данных «postgres», SSL отключен

Итак, вы были заблокированы вторым узлом на уровне HBA. В этом случае вы должны либо разрешить второму узлу доступ с первого (в pg_hba.conf): host all postgres 12.34.56.77 trust, либо вы должны установить пароль: createdb -U postgres -p 9999 bench_replication -W SoMeP4Ssw0rD


Если это недостаточно ясно - просто проверьте свои журналы.

person Michael A.    schedule 12.01.2013