Re: Highly academic: local etcd & Patroni Cluster for testing on asingle host
От | Ian Barwick |
---|---|
Тема | Re: Highly academic: local etcd & Patroni Cluster for testing on asingle host |
Дата | |
Msg-id | ef8c9642-6ef5-0b1d-9c75-19088ec10ad9@2ndquadrant.com обсуждение исходный текст |
Ответ на | Highly academic: local etcd & Patroni Cluster for testing on a singlehost (Paul Förster <paul.foerster@gmail.com>) |
Ответы |
Re: Highly academic: local etcd & Patroni Cluster for testing on asingle host
|
Список | pgsql-general |
On 2020/02/26 0:41, Paul Förster wrote: > Hi, > > I have set up an etcd & Patroni cluster on a single machine for testing purposes as follows: > > /data/pg01a/db as data directory for the first "node" > /data/pg01b/db as data directory for the second "node" > > I have set up Patroni to make each PostgreSQL database cluster archive to its own destination, so they won't interferewith each other. All is well and working fine so far. Failover/Switchover works, they are syncing properly, etc. > > Now: > > Inside /data/pg01a and /data/pg01b I also have a directory ts, i.e. /data/pg01a/ts and /data/pg01b/ts to simulate differentfilesystems. > > If I do a 'create tablespace' and specify its location, I must of course specify either /data/pg01a/ts or /data/pg01b/ts. > > Files with Tables get created as usual, but since it's a replication (sync, by the way), the other tablespace directorywill not hold any files, but instead, the replica uses the same files as does the master. > > Is there any way around that, i.e. make the replica use its own files? I found a way to make each archive destination individualdespite Patroni, but I can't seem to find a way to do something similar to the tablespaces. Even correcting thesymlinks in ${PGDATA}/pg_tblspc manually (and then restart) does not work. > > The explanation is simple: the location is stored inside the database cluster information and is per definition the sameacross all nodes. So, if 'a' is master and I do "create tablespace test location '/data/pg01a/ts'" it creates files therewith the replica 'b' using the *same* destination. > > Still, is there a way to make each node store that information individually? I know, this is highly academic but I onlyhave a single host to do etcd & Patroni cluster experiments on. Assuming the standby/replica is created using pg_basebackup, you can use the -T/--tablespace-mapping option to remap the tablespace directories. Regards Ian Barwick -- Ian Barwick https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-general по дате отправления: