On Thu, Jan 9, 2014 at 10:29 PM, Gabriele Bartolini <
gabriele.bartol...@2ndquadrant.it> wrote:

> Hi Steeve,
> > Il 09/01/14 22:10, Steeve Lennmark ha scritto:
> >
> > That's a much better solution, I attached a patch with the updated code.
> >
> > # SELECT oid, pg_tablespace_location(oid) FROM pg_tablespace;
> > [...]
> >  16388 | /tmp/tblspc1
> >  16389 | /tmp/tblspc2
>
> I'd suggest, a similar solution to the one we have adopted in Barman (if
> you don't know it: www.pgbarman.org), that is:
>
> --tablespace NAME:LOCATION [--tablespace NAME:location]
>
> I prefer this over the location on the master as this might change over
> time (at least more frequently than the tablespace name) and over servers.


I'm a barman user myself so that was actually my initial thought. If
there aren't some kind of hidden internal that I've missed I don't see
a way to convert an OID (only have OID and path at this stage) to a
tablespace name. This solution, even though not optimal, is a lot
better than my initial one where I used the OID directly.


> > $ pg_basebackup -Xs -D backup/data -T /tmp/tblspc1:$(pwd)/backup/t1 -T
> > /tmp/tblspc2:$(pwd)/backup/t2
>
> With the above example, it would become:
>
> $ pg_basebackup -Xs -D backup/data -T tblspc1:$(pwd)/backup/t1 -T
> tblspc2:$(pwd)/backup/t2
>

Yeah, that would be my favourite solution.

Regards,
Steeve
--
Steeve Lennmark

Reply via email to