Thread: Dump all in several files

Dump all in several files

From
Frederic Massot
Date:
Hi,

On the PostgreSQL 6.5 server I use this shell script (see below) for the
backup all of the database in several files, one file per database.

With version 7.3 of PostgreSQL (and the following) the data are not
recorded any more in a repertory with the name of the database, but with
the OID of the basebase.

Do you know how I can adapt this script?

If a developer of pg_dumpall reads this post, is it possible to add to
the command pg_dumpall an option to record one database per file?

Regards.


#! /bin/bash
#
for p in $(find /var/lib/postgres/data/base/ -type d -print -mindepth 1
-maxdepth 1 )
do
   base=`basename "$p"`
   pg_dump -d -f /var/backup/postgresql/dump_$base $base
done

--
==============================================
|              FREDERIC MASSOT               |
|     http://www.juliana-multimedia.com      |
|   mailto:frederic@juliana-multimedia.com   |
===========================Debian=GNU/Linux===

Re: Dump all in several files

From
Lonni J Friedman
Date:
On Tue, 15 Mar 2005 16:43:01 +0100, Frederic Massot
<frederic@juliana-multimedia.com> wrote:
> Hi,
>
> On the PostgreSQL 6.5 server I use this shell script (see below) for the
> backup all of the database in several files, one file per database.
>
> With version 7.3 of PostgreSQL (and the following) the data are not
> recorded any more in a repertory with the name of the database, but with
> the OID of the basebase.
>
> Do you know how I can adapt this script?
>
> If a developer of pg_dumpall reads this post, is it possible to add to
> the command pg_dumpall an option to record one database per file?
>
> Regards.
>
> #! /bin/bash
> #
> for p in $(find /var/lib/postgres/data/base/ -type d -print -mindepth 1
> -maxdepth 1 )
> do
>    base=`basename "$p"`
>    pg_dump -d -f /var/backup/postgresql/dump_$base $base
> done

Maybe i'm just not following you, but why can't you just do:
pg_dump $DBNAME >$DB_NAME

where $DB_NAME is the name of each database on the box?


--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
L. Friedman                                    netllama@gmail.com
LlamaLand                       http://netllama.linux-sxs.org

Re: Dump all in several files

From
Frederic Massot
Date:
Lonni J Friedman wrote:
> On Tue, 15 Mar 2005 16:43:01 +0100, Frederic Massot
> <frederic@juliana-multimedia.com> wrote:
>
>>Hi,
>>
>>On the PostgreSQL 6.5 server I use this shell script (see below) for the
>>backup all of the database in several files, one file per database.
>>
[...]
>
> Maybe i'm just not following you, but why can't you just do:
> pg_dump $DBNAME >$DB_NAME
>
> where $DB_NAME is the name of each database on the box?
>

This script is called in a crontab the every day at 6 o'clock in the
morning.

--
==============================================
|              FREDERIC MASSOT               |
|     http://www.juliana-multimedia.com      |
|   mailto:frederic@juliana-multimedia.com   |
===========================Debian=GNU/Linux===

Re: Dump all in several files

From
javier wilson
Date:
On Tue, 15 Mar 2005 17:01:39 +0100, Frederic Massot
<frederic@juliana-multimedia.com> wrote:
> Lonni J Friedman wrote:
> > On Tue, 15 Mar 2005 16:43:01 +0100, Frederic Massot
> > <frederic@juliana-multimedia.com> wrote:
> >
> >>Hi,
> >>
> >>On the PostgreSQL 6.5 server I use this shell script (see below) for the
> >>backup all of the database in several files, one file per database.
> >>
> [...]
> >
> > Maybe i'm just not following you, but why can't you just do:
> > pg_dump $DBNAME >$DB_NAME
> >
> > where $DB_NAME is the name of each database on the box?
> >
>
> This script is called in a crontab the every day at 6 o'clock in the
> morning.

i have a /etc/backup/data.pgsql where i list all databases
i want to dump, then a script in /etc/cron.daily reads this file
and call pg_dump:
pg_dump -U postgres $1>$1.dump.sql

javier

Re: Dump all in several files

From
Alvaro Herrera
Date:
On Tue, Mar 15, 2005 at 05:01:39PM +0100, Frederic Massot wrote:
> Lonni J Friedman wrote:
> >On Tue, 15 Mar 2005 16:43:01 +0100, Frederic Massot
> ><frederic@juliana-multimedia.com> wrote:
> >
> >>Hi,
> >>
> >>On the PostgreSQL 6.5 server I use this shell script (see below) for the
> >>backup all of the database in several files, one file per database.
> >
> >Maybe i'm just not following you, but why can't you just do:
> >pg_dump $DBNAME >$DB_NAME
> >
> >where $DB_NAME is the name of each database on the box?
> >
>
> This script is called in a crontab the every day at 6 o'clock in the
> morning.

You can obtain the list of databases for scripting with

psql -tlA | cut -d\| -f1

--
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"Si quieres ser creativo, aprende el arte de perder el tiempo"

Re: Dump all in several files

From
javier wilson
Date:
On Tue, 15 Mar 2005 12:15:39 -0400, Alvaro Herrera
<alvherre@dcc.uchile.cl> wrote:
> On Tue, Mar 15, 2005 at 05:01:39PM +0100, Frederic Massot wrote:
> > Lonni J Friedman wrote:
> > >On Tue, 15 Mar 2005 16:43:01 +0100, Frederic Massot
> > ><frederic@juliana-multimedia.com> wrote:
> > >
> > >>Hi,
> > >>
> > >>On the PostgreSQL 6.5 server I use this shell script (see below) for the
> > >>backup all of the database in several files, one file per database.
> > >
> > >Maybe i'm just not following you, but why can't you just do:
> > >pg_dump $DBNAME >$DB_NAME
> > >
> > >where $DB_NAME is the name of each database on the box?
> > >
> >
> > This script is called in a crontab the every day at 6 o'clock in the
> > morning.
>
> You can obtain the list of databases for scripting with
>
> psql -tlA | cut -d\| -f1
>

i didn't know that. very nice. try:

psql -Upostgres -tlA |cut -d\| -f1|xargs -i pg_dump -Upostgres -f
'{}'.dump.sql '{}'


javier

Re: Dump all in several files

From
Frederic Massot
Date:
Alvaro Herrera wrote:
> On Tue, Mar 15, 2005 at 05:01:39PM +0100, Frederic Massot wrote:
>
[...]
>
> You can obtain the list of databases for scripting with
>
> psql -tlA | cut -d\| -f1
>

Great !!! :o)

Thank you.
--
==============================================
|              FREDERIC MASSOT               |
|     http://www.juliana-multimedia.com      |
|   mailto:frederic@juliana-multimedia.com   |
===========================Debian=GNU/Linux===