current_schemas()

Started by Halley Pacheco de Oliveiraalmost 21 years ago4 messagesdocs
Jump to latest
#1Halley Pacheco de Oliveira
halleypo@yahoo.com.br

I would like to know how to use current_schemas(), since SELECT current_schemas(); didn't work in
PostgreSQL 7.4 and 8.0 psql.

Halley

PostgreSQL 8.0.3 Documentation
Chapter 16. Server Run-time Environment
16.4. Run-time Configuration

The current effective value of the search path can be examined via the SQL function
current_schemas(). This is not quite the same as examining the value of search_path, since
current_schemas() shows how the requests appearing in search_path were resolved.

teste=# \dn
********* QUERY **********
SELECT n.nspname AS "Name",
u.usename AS "Owner"
FROM pg_catalog.pg_namespace n LEFT JOIN pg_catalog.pg_user u
ON n.nspowner=u.usesysid
WHERE (n.nspname NOT LIKE 'pg\\_temp\\_%' OR
n.nspname = (pg_catalog.current_schemas(true))[1])
ORDER BY 1;
**************************

List of schemas
Name | Owner
--------------------+----------
information_schema | postgres
pg_catalog | postgres
pg_toast | postgres
public | postgres
(4 rows)

teste=# SELECT current_schema();
current_schema
----------------
public
(1 row)

teste=# SELECT current_schemas();
ERROR: function current_schemas() does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type
casts.

_______________________________________________________
Yahoo! Acesso Gr�tis - Internet r�pida e gr�tis.
Instale o discador agora! http://br.acesso.yahoo.com/

#2Alvaro Herrera
alvherre@surnet.cl
In reply to: Halley Pacheco de Oliveira (#1)
Re: current_schemas()

On Tue, Jul 05, 2005 at 08:14:40AM -0300, Halley Pacheco de Oliveira wrote:

teste=# SELECT current_schemas();
ERROR: function current_schemas() does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type
casts.

alvherre=# select current_schemas(true);
current_schemas
---------------------
{pg_catalog,public}
(1 fila)

alvherre=# select current_schemas(false);
current_schemas
-----------------
{public}
(1 fila)

Function parameters are essential when determining if a function exists
or not.

alvherre=# \df current_schema*
Listado de funciones
Schema | Nombre | Tipo de dato de salida | Tipos de datos de argumentos
------------+-----------------+------------------------+------------------------------
pg_catalog | current_schema | name |
pg_catalog | current_schemas | name[] | boolean
(2 filas)

--
Alvaro Herrera (<alvherre[a]surnet.cl>)
FOO MANE PADME HUM

#3Bruce Momjian
bruce@momjian.us
In reply to: Halley Pacheco de Oliveira (#1)
Re: current_schemas()

Why not just use pg_catalog.current_schemas()?

---------------------------------------------------------------------------

Halley Pacheco de Oliveira wrote:

I would like to know how to use current_schemas(), since SELECT current_schemas(); didn't work in
PostgreSQL 7.4 and 8.0 psql.

Halley

PostgreSQL 8.0.3 Documentation
Chapter 16. Server Run-time Environment
16.4. Run-time Configuration

The current effective value of the search path can be examined via the SQL function
current_schemas(). This is not quite the same as examining the value of search_path, since
current_schemas() shows how the requests appearing in search_path were resolved.

teste=# \dn
********* QUERY **********
SELECT n.nspname AS "Name",
u.usename AS "Owner"
FROM pg_catalog.pg_namespace n LEFT JOIN pg_catalog.pg_user u
ON n.nspowner=u.usesysid
WHERE (n.nspname NOT LIKE 'pg\\_temp\\_%' OR
n.nspname = (pg_catalog.current_schemas(true))[1])
ORDER BY 1;
**************************

List of schemas
Name | Owner
--------------------+----------
information_schema | postgres
pg_catalog | postgres
pg_toast | postgres
public | postgres
(4 rows)

teste=# SELECT current_schema();
current_schema
----------------
public
(1 row)

teste=# SELECT current_schemas();
ERROR: function current_schemas() does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type
casts.

_______________________________________________________
Yahoo! Acesso Gr?tis - Internet r?pida e gr?tis.
Instale o discador agora! http://br.acesso.yahoo.com/

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
#4Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Bruce Momjian (#3)
Re: current_schemas()

On Fri, Jul 29, 2005 at 10:30:13PM -0400, Bruce Momjian wrote:

Why not just use pg_catalog.current_schemas()?

The function is current_schemas(bool), that's why this example doesn't
work:

teste=# SELECT current_schemas();
ERROR: function current_schemas() does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type casts.

--
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
"Aprende a avergonzarte m�s ante ti que ante los dem�s" (Dem�crito)