Обсуждение: How to determine current database?

Поиск
Список
Период
Сортировка

How to determine current database?

От
Ron St-Pierre
Дата:
I am using postgres 7.3.4 and need to be able to determine which
database a query is being run in (from a script). pg_database lists
databases but doesn't tell me which one is currently active. Is there a
query I can use along the lines of:
UPDATE tblUpdates SET xxx=1234 WHERE pg_current = TRUE;
or
UPDATE tblUpdates SET xxx=1234 WHERE pg_current = thisDBname;

We have about 15 databases all set up identically and when the structure
changes I run scripts to update them to ensure that they are all the
same. I need to create two new databases which have slight changes
(different default values - for now) and want to be able to have my
scripts be able to determine which database their running from.

Thanks

Ron


Re: How to determine current database?

От
Joe Conway
Дата:
Ron St-Pierre wrote:

> I am using postgres 7.3.4 and need to be able to determine which
> database a query is being run in (from a script). pg_database lists
> databases but doesn't tell me which one is currently active.

See:
http://www.postgresql.org/docs/7.3/static/functions-misc.html

HTH,

Joe

Re: How to determine current database?

От
Eric Ridge
Дата:
On Feb 13, 2004, at 6:05 PM, Ron St-Pierre wrote:

> I am using postgres 7.3.4 and need to be able to determine which
> database a query is being run in (from a script). pg_database lists
> databases but doesn't tell me which one is currently active. Is there
> a query I can use along the lines of:

The built-in function "current_database()" returns the current database
name.

=# select current_database();
  current_database
------------------
  testing
(1 row)

Use it in your update statements too.

eric

> UPDATE tblUpdates SET xxx=1234 WHERE pg_current = TRUE;
> or
> UPDATE tblUpdates SET xxx=1234 WHERE pg_current = thisDBname;
>
> We have about 15 databases all set up identically and when the
> structure changes I run scripts to update them to ensure that they are
> all the same. I need to create two new databases which have slight
> changes  (different default values - for now) and want to be able to
> have my scripts be able to determine which database their running
> from.
>
> Thanks
>
> Ron
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to
> majordomo@postgresql.org


Re: How to determine current database?

От
Tom Lane
Дата:
Ron St-Pierre <rstpierre@syscor.com> writes:
> I am using postgres 7.3.4 and need to be able to determine which
> database a query is being run in (from a script).

See current_database():
http://www.postgresql.org/docs/7.4/static/functions-misc.html

            regards, tom lane

Re: How to determine current database?

От
Ron St-Pierre
Дата:
Eric Ridge wrote:

> On Feb 13, 2004, at 6:05 PM, Ron St-Pierre wrote:
>
>> I am using postgres 7.3.4 and need to be able to determine which
>> database a query is being run in (from a script). pg_database lists
>> databases but doesn't tell me which one is currently active. Is there
>> a query I can use along the lines of:
>
>
> The built-in function "current_database()" returns the current
> database name.
>
> =# select current_database();
>  current_database
> ------------------
>  testing
> (1 row)
>
> Use it in your update statements too.
>
> eric

That's exactly what I need!

Joe Conway wrote:

> See:
> http://www.postgresql.org/docs/7.3/static/functions-misc.html


Thanks guys. I was searching the docs looking for functions starting
with pg_

Ron