Last edit
Changed: 51c51
< hostssl all all 127.0.0.1/32 trust
to
> host all all 127.0.0.1/32 trust
Changed: 57c57
< ** Для создания самоподписанного сертификата в каталоге /db2/pgdata выполняем следующие действия:
to
> ** Для создания самоподписанного сертификата в каталоге /db2/pgdata-master выполняем следующие действия:
Changed: 105,108c105,106
< /usr/local/pgsql/bin/createdb -h localhost -p 5501 cluster-master
< /usr/local/pgsql/bin/createdb -h localhost -p 5501 cluster-slave
< /usr/local/pgsql/bin/createdb -h localhost -p 5502 cluster-master
< /usr/local/pgsql/bin/createdb -h localhost -p 5502 cluster-slave
to
> /usr/local/pgsql/bin/createdb -h localhost -p 5501 cluster
> /usr/local/pgsql/bin/createdb -h localhost -p 5502 cluster
Changed: 112,119c110,111
< /usr/local/pgsql/bin/psql -h localhost -p 5501 -f cluster.schema cluster-master
< /usr/local/pgsql/bin/psql -h localhost -p 5501 -f cluster.schema cluster-slave
< /usr/local/pgsql/bin/psql -h localhost -p 5502 -f cluster.schema cluster-master
< /usr/local/pgsql/bin/psql -h localhost -p 5502 -f cluster.schema cluster-slave
< </pre></html>
< * Настраиваем Slony-I
< ** Создаем скрипт init_master.sh следующего содержания:
< <html><pre>
to
> /usr/local/pgsql/bin/psql -h localhost -p 5501 -f cluster.schema cluster
> /usr/local/pgsql/bin/psql -h localhost -p 5502 -f cluster.schema cluster
Added: 134a127,149
> logdir = '/tmp'
> </pre></html>
> ** Запускаем PgPool
> <html><pre>
> /usr/local/pgsql/bin/pgpool
> </pre></html>
> ** Проверим, что PgPool работает
> <html><pre>
> /usr/local/pgsql/bin/psql -h localhost -p 5555 -l
> </pre></html>
> Результат должен быть примерно таким:
> <html><pre>
> List of databases
> Name | Owner | Encoding
> -----------+----------+----------
> cluster | postgres | KOI8
> template0 | postgres | KOI8
> template1 | postgres | KOI8
> (3 rows)
> </pre></html>
> * Настраиваем Slony-I
> ** Создаем скрипт init_master.sh следующего содержания:
> <html><pre>
** В системе есть пользователь postgres и группа postgres ** Данные master БД будут располагаться в каталоге /db2/pgdata-master, а данные backup БД - в каталоге db2/pgdata-backup ** Все нижеперечислоенные действия производятся от пользователя postgres, если другое не указано явно ** Локаль БД по-умолчанию - POSIX
su root -c 'mkdir -p /db2/pgdata-master /db2/pgdata-backup' su root -c 'chown postgres:postgres /db2/pgdata-master /db2/pgdata-backup'
/usr/local/pgsql/bin/initdb -D /db2/pgdata-master /usr/local/pgsql/bin/initdb -D /db2/pgdata-backup
listen_addresses = 'localhost' port = 5501 max_connections = 5 ssl = on shared_buffers = 100 #archive_command = '' log_destination = 'stderr' redirect_stderr = true log_directory = '/var/log/pgsql' log_filename = 'pgsql.log.%d.%m.%Y' log_rotation_age = 1440 log_rotation_size = 0 log_min_error_statement = error log_line_prefix = '%t %p %d %u ' lc_messages = 'C' lc_monetary = 'C' lc_numeric = 'C' lc_time = 'C'Такой же файл кладем в /db2/pgdata-backup, изменив лишь параметр port
... port = 5502 ...
local all all trust host all all 127.0.0.1/32 trustПосле чего копируем этот файл в /db2/pgdata-backup:
cp /db2/pgdata-master/pg_hba.conf /db2/pgdata-backup/pg_hba.conf
openssl req -new -text -out server.req (запоминаем passphrase) openssl rsa -in privkey.pem -out server.key (больше нам passphrase не потребуется) rm privkey.pem openssl req -x509 -in server.req -text -key server.key -out server.crt chmod 0600 server.key server.crtКопируем файлы server.key и server.crt в каталог /db2/pgdata-backup:
cp /db2/pgdata-master/server.key /db2/pgdata-backup/server.key cp /db2/pgdata-master/server.crt /db2/pgdata-backup/server.crt
/usr/local/pgsql/bin/pg_ctl -D /db2/pgdata-master start /usr/local/pgsql/bin/pg_ctl -D /db2/pgdata-backup startНа ругань насчет файла root.crt особого внимания не обращаем - проверка клиентских сертификатов нас не интересует
/usr/local/pgsql/bin/psql -h localhost -p 5501 -lРезультат вывода должен быть примерно следующим:
List of databases Name | Owner | Encoding ----------------+----------+---------- template0 | postgres | ASCII template1 | postgres | ASCII (2 rows)То же самое проделываем для backup БД:
/usr/local/pgsql/bin/psql -h localhost -p 5502 -l
CREATE TABLE organizations ( org_id int4 not null, name text, PRIMARY KEY(org_id) ); CREATE TABLE users ( user_id int4 not null, name text, org_id int4 not null, PRIMARY KEY(user_id), FOREIGN KEY(org_id) REFERENCES organizations(org_id) DEFERRABLE INITIALLY DEFERRED );
/usr/local/pgsql/bin/createdb -h localhost -p 5501 cluster /usr/local/pgsql/bin/createdb -h localhost -p 5502 cluster
/usr/local/pgsql/bin/psql -h localhost -p 5501 -f cluster.schema cluster /usr/local/pgsql/bin/psql -h localhost -p 5502 -f cluster.schema cluster
listen_addresses = 'localhost' port = 5555 backend_host_name = 'localhost' backend_port = 5501 secondary_backend_host_name = 'localhost' secondary_backend_port = 5502 num_init_children = 4 max_pool = 1 child_life_time = 0 connection_life_time = 0 master_slave_mode = true logdir = '/tmp'
/usr/local/pgsql/bin/pgpool
/usr/local/pgsql/bin/psql -h localhost -p 5555 -lРезультат должен быть примерно таким:
List of databases Name | Owner | Encoding -----------+----------+---------- cluster | postgres | KOI8 template0 | postgres | KOI8 template1 | postgres | KOI8 (3 rows)