Thread: 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)