RE: Getting back names of databases

From: "Culberson, Philip" <philip(dot)culberson(at)dat(dot)com>
To: "'pgsql-general(at)hub(dot)org'" <pgsql-general(at)hub(dot)org>
Subject: RE: Getting back names of databases
Date: 2000-05-22 18:30:20
Message-ID: A95EFC3B707BD311986C00A0C9E95B6A01AB1CCB@datmail03.dat.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

You could run the following statement from a shell. It returns just the name
of all database, one name per line. The "-A -q -t" turns off all formatting
and other superfluous messages.

I'm assume you wouldn't really need to back up template1 at the same time as
your other databases, so it is purposely excluded.

psql -A -q -t -d template1 -c "select datname from pg_database where datname
<> 'template1'"

Phil

-----Original Message-----
From: Steve Wolfe [mailto:steve(at)iboats(dot)com]
Sent: Monday, May 22, 2000 11:10 AM
To: pgsql-general(at)hub(dot)org
Subject: Re: [GENERAL] Getting back names of databases

> I know that I've seen this somewhere in past messages, but I can't seem
> to find how to search the archives. Is the search engine offline?
>
> Anyway, I'm trying to write a shell script which will backup my
> databases to DAT tape. I'd like to know how I could get the list of
> existing database names from Postgres. For example, I have 3 databases
> named db01, db02, db03. How can I ask Postgres for these 3 names?

There are a few ways... such as doing something like "psql -d
template1 -c \l" on the command line, and parsing the output. You could
also do a pg_dumpall instead of a pg_dump, but it's not always the best for
a backup. It makes it nice if you have to restore the entire server, but
if you just need to restore one particular database, then you have to edit
the file.

steve

Browse pgsql-general by date

  From Date Subject
Next Message Ragnar Hakonarson 2000-05-22 18:54:59 plperl difficulties
Previous Message Keith G. Murphy 2000-05-22 18:25:18 Re: Getting back names of databases