[Sysadmins] replication on postgresql 9.1
Дмитрий
ddv на bgc.perm.ru
Чт Июл 5 19:36:22 MSK 2012
02.07.2012 13:20, Anton Gorlov пишет:
> 02.07.2012 11:18, Sergey Alembekov пишет:
>> 02.07.2012 11:11, Anton Gorlov пишет:
>>> Возможно ли реплицировать не все базы,а лишь часть баз? речь идёт про
>>> нативную реплику, без использования slony
>> нет
> гм...печально. Тогда такой вопрос - можно ли в рамках 1 сервера
> запустить 2 инстанции БД? типа некий аналог mysql_multi тут существует
> или нет?
у вас должно быть что-то вроде
/etc/sysconfig/pgsql/postgres (не помню где точно)
в нём
PGDATA=/var/lib/pgsql/postgres_data/
PGLOG=/var/lib/pgsql/postgres_log/
PGPORT=5432
делаете ещё один
cp /etc/sysconfig/pgsql/postgres /etc/sysconfig/pgsql/postgres1
с содержимым
PGDATA=/var/lib/pgsql/postgres1_data/
PGLOG=/var/lib/pgsql/postgres1_log/
PGPORT=5433
делаете симлинк
ln -s /etc/init.d/postgres /etc/init.d/postgres1
генерите базу для обоих
service postgres initdb
service postgres1 initdb
запускаем
service postgres start
service postgres1 start
главное чтоб init скрипте было
. /etc/sysconfig/pgsql/${NAME}
чтоб переменные брались от туда, а $NAME из basename бралось
в альте вроде не из basename берётся, поэтому симлинк не покатит,
сделайте CP и отредактируйте.
на счёт репликации.. часть нельзя, т.к. передаются wal'ы в них записаны
изменения в страницах, в которых может быть что угодно.. папка data на
мастере и слэйве идентичны из байта в байт при условии что слэйв уже
успел накатить все из менения на мастере.. по этой же причне нельзя на
слейве создать другую базу.
Подробная информация о списке рассылки Sysadmins