From: Achilleas Mantzios <achill@matrix.gatewaynet.com>
To: pgsql-admin@postgresql.org
To: Slavcho.Trnkovski@netcetera.com
Subject: Re: Tablespace symlinks
Date: Tue, 31 Jan 2017 15:09:20 +0200
Message-ID: <58908C80.60507@matrix.gatewaynet.com> (raw)
In-Reply-To: <f01211f9e89147378e98ed6d58b06a83@exchange02.one.nca>
References: <CACwHmfE6Cmzvmj9ELMYHqpdeg99oE5fu2vfSdmzUxssZhJ_qRw@mail.gmail.com>
<588F545D.1060604@matrix.gatewaynet.com>
<f01211f9e89147378e98ed6d58b06a83@exchange02.one.nca>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-admin>
Hello,
the docs say very clearly that is your responsibility to unpack the tar files. You might change your script to smth like :
for f in `ls *.tar | grep -v base.tar`; do targ=`basename -s .tar $f`; echo 'tblspc='$targ; targdir=`grep $targ data/tablespace_map|awk '{print $2}' `; echo 'tblspcloc='$targdir ; echo tar xvf $f -C
$tblspcloc ; done
experiment a little with the above, change .tar to .tar.gz , I added echo before tar xvf for testing purposes.
On 31/01/2017 10:54, Slavcho Trnkovski wrote:
>
> Hi,
>
> File content:
>
> -bash-4.2$ more tablespace_map
>
> 16408 /pgdata/tablespaces/db1_lob
>
> 16409 /pgdata/tablespaces/db1_data
>
> 16410 /pgdata/tablespaces/db1_index
>
> The problem is that I get errors in step 2: “tar Cannot open: No such file or directory…”
>
> So, at which step symbolic links should be created by the server?
>
> Regards,
>
> Slavcho
>
> --
> We innovate. You win. http://netcetera.com
>
> Slavcho Trnkovski | slavcho.trnkovski@netcetera.com | T +389 2 306 45 32 |
> Netcetera DOOEL | 1000 Skopje | Macedonia | http://netcetera.com |
>
> *From:*pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] *On Behalf Of *Achilleas Mantzios
> *Sent:* Monday, January 30, 2017 3:58 PM
> *To:* pgsql-admin@postgresql.org
> *Subject:* Re: [ADMIN] Tablespace symlinks
>
> tar != "the server" . The doc tells you the server will consult /tablespace_map. /What does this file look like in your base.tar.gz ?
>
> On 30/01/2017 16:24, Slavcho Trnkovski wrote:
>
> Hi,
>
> I'm using PostgreSQL 9.5.
>
> As backup I use pg_basebackup with options /--format=t -v -z -P /.
>
> These are the steps I do for restore:
> 1.
>
> tar -xzf base.tar.gz -C $PGDATA
>
> 2.
>
> for f in `ls | grep -v base.tar.gz `; do
>
> echo "tar -xf $f -C $PGDATA/pg_tblspc/`echo $f|cut -d'.' -f 1`"
> tar -xf $f -C $PGDATA/pg_tblspc/`echo $f|cut -d'.' -f 1`
> done
>
> Iha
>
> v
>
> e
>
> problem because symlinks for my tablespaces are not being created in step 1.
>
> According to https://www.postgresql.org/docs/9.5/static/app-pgbasebackup.html :
>
> "/When tar format mode is used, it is the user's responsibility to unpack each tar file before starting the PostgreSQL server. If there are additional tablespaces, the tar files for them need to
> be unpacked in the correct locations. In this case the symbolic links for those tablespaces will be created by the server according to the contents of the //tablespace_map// file that is
> included in the //base.tar// file./"
>
> my understanding is that these symbolic links should be created with the first step.
>
> I was using same approach with PostgreSQL 9.4, and it was OK.
>
> So, is this new behavior in 9.5 (so I shall handle it manually), or I am missing something?
>
> Regards,
>
> Slavcho
>
>
>
>
> --
> Achilleas Mantzios
> IT DEV Lead
> IT DEPT
> Dynacom Tankers Mgmt
--
Achilleas Mantzios
IT DEV Lead
IT DEPT
Dynacom Tankers Mgmt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: achill@matrix.gatewaynet.com, Slavcho.Trnkovski@netcetera.com
Subject: Re: Tablespace symlinks
In-Reply-To: <58908C80.60507@matrix.gatewaynet.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox