Обсуждение: pg_dump in cycle
Dear Sirs, I want to dump all databases, but separately each database in its own file, not all databases in one single file as pg_dumpall does. How can I implement that ? Cheers, Ilia Chipitsine
Use pg_dump instead of pg_dumpall example: pg_dump databaseName > databaseDumpFile if u have many databases, you can make a script that dumps each database in it's own file .... ----- Original Message ----- From: "Ilia Chipitsine" <ilia@paramon.ru> To: <pgsql-general@postgresql.org> Sent: Thursday, September 16, 2004 8:08 AM Subject: [GENERAL] pg_dump in cycle > Dear Sirs, > > I want to dump all databases, but separately each database in its own > file, not all databases in one single file as pg_dumpall does. > > How can I implement that ? > > Cheers, > Ilia Chipitsine > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Don't 'kill -9' the postmaster >
U can use : select datname from pg_database; in order to get the list of databses HTH Najib. ----- Original Message ----- From: "Ilia Chipitsine" <ilia@paramon.ru> To: "Najib Abi Fadel" <nabifadel@usj.edu.lb> Sent: Thursday, September 16, 2004 10:41 AM Subject: Re: [GENERAL] pg_dump in cycle > > Use pg_dump instead of pg_dumpall > > > > example: > > pg_dump databaseName > databaseDumpFile > > > > if u have many databases, you can make a script that dumps each database in > > sure, I have many databases. > how can I write such script without explicitly specifying database names ? > I do not want to modify that script after I have added database. > > > it's own file .... > > > > > > > > ----- Original Message ----- > > From: "Ilia Chipitsine" <ilia@paramon.ru> > > To: <pgsql-general@postgresql.org> > > Sent: Thursday, September 16, 2004 8:08 AM > > Subject: [GENERAL] pg_dump in cycle > > > > > >> Dear Sirs, > >> > >> I want to dump all databases, but separately each database in its own > >> file, not all databases in one single file as pg_dumpall does. > >> > >> How can I implement that ? > >> > >> Cheers, > >> Ilia Chipitsine > >> > >> ---------------------------(end of broadcast)--------------------------- > >> TIP 4: Don't 'kill -9' the postmaster > >> > > > > >
yes, but how can I integrate that query with shell script (which will perform actual dumping) ? I would even say, "select datname from pg_database where not datistemplate", becuase otherwise pg_dump will complain about template0 Cheers, Ilia Chipitsine > U can use : > select datname from pg_database; > > in order to get the list of databses > > HTH > > Najib. > > ----- Original Message ----- > From: "Ilia Chipitsine" <ilia@paramon.ru> > To: "Najib Abi Fadel" <nabifadel@usj.edu.lb> > Sent: Thursday, September 16, 2004 10:41 AM > Subject: Re: [GENERAL] pg_dump in cycle > > >>> Use pg_dump instead of pg_dumpall >>> >>> example: >>> pg_dump databaseName > databaseDumpFile >>> >>> if u have many databases, you can make a script that dumps each database > in >> >> sure, I have many databases. >> how can I write such script without explicitly specifying database names ? >> I do not want to modify that script after I have added database. >> >>> it's own file .... >>> >>> >>> >>> ----- Original Message ----- >>> From: "Ilia Chipitsine" <ilia@paramon.ru> >>> To: <pgsql-general@postgresql.org> >>> Sent: Thursday, September 16, 2004 8:08 AM >>> Subject: [GENERAL] pg_dump in cycle >>> >>> >>>> Dear Sirs, >>>> >>>> I want to dump all databases, but separately each database in its own >>>> file, not all databases in one single file as pg_dumpall does. >>>> >>>> How can I implement that ? >>>> >>>> Cheers, >>>> Ilia Chipitsine >>>> >>>> ---------------------------(end of > broadcast)--------------------------- >>>> TIP 4: Don't 'kill -9' the postmaster >>>> >>> >>> >> > >
Check out the "psql " command.
U can use :
psql -l
which outputs sometinhg like
List of databases
Name | Owner | Encoding
-----------------+-----------+-----------
dragon_devel | ptufenkji | UNICODE
dragon_devel_v2 | ptufenkji | UNICODE
dragon_joujou | ptufenkji | UNICODE
dragon_prod | ptufenkji | UNICODE
fgm | gnakhle | UNICODE
fgm_eval | ptufenkji | UNICODE
hotline | postgres | UNICODE
template0 | postgres | SQL_ASCII
template1 | postgres | SQL_ASCII
usj | ptufenkji | UNICODE
for the shell script and do some text filtering in order to retrieve the
databse names.
(Or may be u can do a connection to the database from the shell script i am
not sure: i don't have a big experience in shell scripting)
----- Original Message -----
From: "Ilia Chipitsine" <ilia@paramon.ru>
To: "Najib Abi Fadel" <nabifadel@usj.edu.lb>
Cc: "generalpost" <pgsql-general@postgresql.org>
Sent: Thursday, September 16, 2004 11:01 AM
Subject: Re: [GENERAL] pg_dump in cycle
> yes, but how can I integrate that query with shell script (which will
> perform actual dumping) ?
>
> I would even say, "select datname from pg_database where not
> datistemplate", becuase otherwise pg_dump will complain about template0
>
> Cheers,
> Ilia Chipitsine
>
>
> > U can use :
> > select datname from pg_database;
> >
> > in order to get the list of databses
> >
> > HTH
> >
> > Najib.
> >
> > ----- Original Message -----
> > From: "Ilia Chipitsine" <ilia@paramon.ru>
> > To: "Najib Abi Fadel" <nabifadel@usj.edu.lb>
> > Sent: Thursday, September 16, 2004 10:41 AM
> > Subject: Re: [GENERAL] pg_dump in cycle
> >
> >
> >>> Use pg_dump instead of pg_dumpall
> >>>
> >>> example:
> >>> pg_dump databaseName > databaseDumpFile
> >>>
> >>> if u have many databases, you can make a script that dumps each
database
> > in
> >>
> >> sure, I have many databases.
> >> how can I write such script without explicitly specifying database
names ?
> >> I do not want to modify that script after I have added database.
> >>
> >>> it's own file ....
> >>>
> >>>
> >>>
> >>> ----- Original Message -----
> >>> From: "Ilia Chipitsine" <ilia@paramon.ru>
> >>> To: <pgsql-general@postgresql.org>
> >>> Sent: Thursday, September 16, 2004 8:08 AM
> >>> Subject: [GENERAL] pg_dump in cycle
> >>>
> >>>
> >>>> Dear Sirs,
> >>>>
> >>>> I want to dump all databases, but separately each database in its own
> >>>> file, not all databases in one single file as pg_dumpall does.
> >>>>
> >>>> How can I implement that ?
> >>>>
> >>>> Cheers,
> >>>> Ilia Chipitsine
> >>>>
> >>>> ---------------------------(end of
> > broadcast)---------------------------
> >>>> TIP 4: Don't 'kill -9' the postmaster
> >>>>
> >>>
> >>>
> >>
> >
> >
>
This seems to be more interesting for shell scripting:
psql -d DatabaseName -c 'select datname from pg_database where not
datistemplate' ;
datname
-----------------
fgm_eval
hotline
usj
dragon_devel
dragon_joujou
dragon_devel_v2
dragon_prod
fgm
(8 rows)
Cheers.
Najib.
----- Original Message -----
From: "Najib Abi Fadel" <nabifadel@usj.edu.lb>
To: "Ilia Chipitsine" <ilia@paramon.ru>
Cc: "generalpost" <pgsql-general@postgresql.org>
Sent: Thursday, September 16, 2004 12:08 PM
Subject: Re: [GENERAL] pg_dump in cycle
>
> Check out the "psql " command.
> U can use :
>
> psql -l
>
> which outputs sometinhg like
> List of databases
> Name | Owner | Encoding
> -----------------+-----------+-----------
> dragon_devel | ptufenkji | UNICODE
> dragon_devel_v2 | ptufenkji | UNICODE
> dragon_joujou | ptufenkji | UNICODE
> dragon_prod | ptufenkji | UNICODE
> fgm | gnakhle | UNICODE
> fgm_eval | ptufenkji | UNICODE
> hotline | postgres | UNICODE
> template0 | postgres | SQL_ASCII
> template1 | postgres | SQL_ASCII
> usj | ptufenkji | UNICODE
>
>
> for the shell script and do some text filtering in order to retrieve the
> databse names.
>
> (Or may be u can do a connection to the database from the shell script i
am
> not sure: i don't have a big experience in shell scripting)
>
>
>
>
>
> ----- Original Message -----
> From: "Ilia Chipitsine" <ilia@paramon.ru>
> To: "Najib Abi Fadel" <nabifadel@usj.edu.lb>
> Cc: "generalpost" <pgsql-general@postgresql.org>
> Sent: Thursday, September 16, 2004 11:01 AM
> Subject: Re: [GENERAL] pg_dump in cycle
>
>
> > yes, but how can I integrate that query with shell script (which will
> > perform actual dumping) ?
> >
> > I would even say, "select datname from pg_database where not
> > datistemplate", becuase otherwise pg_dump will complain about template0
> >
> > Cheers,
> > Ilia Chipitsine
> >
> >
> > > U can use :
> > > select datname from pg_database;
> > >
> > > in order to get the list of databses
> > >
> > > HTH
> > >
> > > Najib.
> > >
> > > ----- Original Message -----
> > > From: "Ilia Chipitsine" <ilia@paramon.ru>
> > > To: "Najib Abi Fadel" <nabifadel@usj.edu.lb>
> > > Sent: Thursday, September 16, 2004 10:41 AM
> > > Subject: Re: [GENERAL] pg_dump in cycle
> > >
> > >
> > >>> Use pg_dump instead of pg_dumpall
> > >>>
> > >>> example:
> > >>> pg_dump databaseName > databaseDumpFile
> > >>>
> > >>> if u have many databases, you can make a script that dumps each
> database
> > > in
> > >>
> > >> sure, I have many databases.
> > >> how can I write such script without explicitly specifying database
> names ?
> > >> I do not want to modify that script after I have added database.
> > >>
> > >>> it's own file ....
> > >>>
> > >>>
> > >>>
> > >>> ----- Original Message -----
> > >>> From: "Ilia Chipitsine" <ilia@paramon.ru>
> > >>> To: <pgsql-general@postgresql.org>
> > >>> Sent: Thursday, September 16, 2004 8:08 AM
> > >>> Subject: [GENERAL] pg_dump in cycle
> > >>>
> > >>>
> > >>>> Dear Sirs,
> > >>>>
> > >>>> I want to dump all databases, but separately each database in its
own
> > >>>> file, not all databases in one single file as pg_dumpall does.
> > >>>>
> > >>>> How can I implement that ?
> > >>>>
> > >>>> Cheers,
> > >>>> Ilia Chipitsine
> > >>>>
> > >>>> ---------------------------(end of
> > > broadcast)---------------------------
> > >>>> TIP 4: Don't 'kill -9' the postmaster
> > >>>>
> > >>>
> > >>>
> > >>
> > >
> > >
> >
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/docs/faqs/FAQ.html
* Najib Abi Fadel:
| This seems to be more interesting for shell scripting:
|
| psql -d DatabaseName -c 'select datname from pg_database where not
| datistemplate' ;
|
| datname
| -----------------
| fgm_eval
| hotline
| usj
| dragon_devel
| dragon_joujou
| dragon_devel_v2
| dragon_prod
| fgm
| (8 rows)
$ psql -ltA | cut -d'|' -f1 | grep -v '^template' | xargs -i pg_dump -f {}.pg_dump {}
--
-- PostgreSQL database dump complete
--
--
-- PostgreSQL database dump complete
--
$ ls -l *.pg_dump
-rw-r--r-- 1 postgres users 493 2004-09-17 14:00 foo.pg_dump
-rw-r--r-- 1 postgres users 3326 2004-09-17 14:00 test.pg_dump
--
Lars Haugseth