Ведомый узел PGPOOL в состоянии ожидания

Я пытаюсь настроить простой pgpool с ведущим и ведомым (все на одном компьютере - разные порты). всякий раз, когда я вхожу в pgpool через psql -p 9999 и запускаю show pool_nodes; Я вижу главный и подчиненный кластеры, но состояние мази ожидает (они оба работают). Главный и подчиненный сервер настроены как первичный и горячий резерв для репликации. но всякий раз, когда я вставляю / выбираю через pgpool, все проходит через мастер .... Я хочу добраться до точки, когда вставки будут выполняться в основном, а выборки будут идти в подчиненном.

su - postgres
mkdir production_server
mkdir slave1
mkdir slave_archive
create new cluster on production_server

changes for those values on postgresql.conf (production_server):
-------------------------------------------------------
wal_level = replica
archive_mode on
listen_address = *
archive_command= cp %p /var/lib/pgsql/slave_archive/%f
port=5435
-------------------------------------------------------

restart the cluster on production_server
pg_basebackup -p 5435 -D /var/lib/pgsql/slave1

changes for those values on postgresql.conf (slave1):
-------------------------------------------------------
port=5466
hot_standby=on
primary_conninfo= host =127.0.0.1 port=5435
restore_command = cp /var/lib/pgsql/slave_archive/%f %p
-------------------------------------------------------

create also a standby.signal file (we're using postgres version 12.x)
switch to root and chmod 700 on slave1 directory
switch back to postgres: su - postgres
start the cluster on -D /var/lib/pgsql/slave1


psql -p 5435
create table table1 as SELECT * FROM generate_series(1, 10000);
select pg_switch_wal();
---> on psql -p 5466 we will also see this insert/table


let's configure the pg_pool:
------------------------------------------------------------
cd /etc/pgpool-II
cp pgpool.conf.sample pgpool.conf
vi pgpool.conf:
----------------------------------------
listen_address=*
backend_hostname0=127.0.0.1
backend_port0=5435
backend_directory0=/var/lib/pgsql/production_server 


backend_hostname0=127.0.0.1
backend_port0=5466
backend_directory0=/var/lib/pgsql/slave1 
health_check_user=postgres

----------------------------------------

./pgpool &
psql -p 9999 
in order to see the active nodes in the pool run:
show pool_nodes;
---> we need to recieve 2 nodes: 5435 / 5466

Это мой сценарий для настройки pgpool + master и slave. Как решить статус ожидания?


person user1743176    schedule 20.12.2020    source источник


Ответы (1)


Я столкнулся с той же проблемой, когда установил пакет pgpool-II-12 * (версия 4.1). Не удалось найти для этого никакого решения, поэтому я удалил его и установил пакет pgpool-II-pg12 * (версия 4.2) из ​​здесь и настроил его. В этой версии все работало нормально.

person Krishan Jangid    schedule 25.03.2021