Обсуждение: current_schemas()
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/
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
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
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)