diff options
Diffstat (limited to 'src/tutorial/syscat.source')
-rw-r--r-- | src/tutorial/syscat.source | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/src/tutorial/syscat.source b/src/tutorial/syscat.source deleted file mode 100644 index 4ef6d513bf4..00000000000 --- a/src/tutorial/syscat.source +++ /dev/null @@ -1,149 +0,0 @@ ---------------------------------------------------------------------------- --- --- syscat.sql- --- sample queries to the system catalogs --- --- --- Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group --- Portions Copyright (c) 1994, Regents of the University of California --- --- $Id: syscat.source,v 1.7 2002/06/20 20:29:54 momjian Exp $ --- ---------------------------------------------------------------------------- - --- --- lists the name of all database adminstrators and the name of their --- database(s) --- -SELECT usename, datname - FROM pg_user, pg_database - WHERE usesysid = datdba - ORDER BY usename, datname; - --- --- lists all user-defined classes --- -SELECT relname - FROM pg_class - WHERE relkind = 'r' -- not indices, views, etc - and relname !~ '^pg_' -- not catalogs - ORDER BY relname; - - --- --- lists all simple indices (ie. those that are not defined over a function --- of several attributes) --- -SELECT bc.relname AS class_name, - ic.relname AS index_name, - a.attname - FROM pg_class bc, -- base class - pg_class ic, -- index class - pg_index i, - pg_attribute a -- att in base - WHERE i.indrelid = bc.oid - and i.indexrelid = ic.oid - and i.indkey[0] = a.attnum - and a.attrelid = bc.oid - and i.indproc = '0'::oid -- no functional indices - ORDER BY class_name, index_name, attname; - - --- --- lists the user-defined attributes and their types for all user-defined --- classes --- -SELECT c.relname, a.attname, t.typname - FROM pg_class c, pg_attribute a, pg_type t - WHERE c.relkind = 'r' -- no indices - and c.relname !~ '^pg_' -- no catalogs - and a.attnum > 0 -- no system att's - and a.attrelid = c.oid - and a.atttypid = t.oid - ORDER BY relname, attname; - - --- --- lists all user-defined base types (not including array types) --- -SELECT u.usename, t.typname - FROM pg_type t, pg_user u - WHERE u.usesysid = t.typowner - and t.typrelid = '0'::oid -- no complex types - and t.typelem = '0'::oid -- no arrays - and u.usename <> 'postgres' - ORDER BY usename, typname; - - --- --- lists all left unary operators --- -SELECT o.oprname AS left_unary, - right_type.typname AS operand, - result.typname AS return_type - FROM pg_operator o, pg_type right_type, pg_type result - WHERE o.oprkind = 'l' -- left unary - and o.oprright = right_type.oid - and o.oprresult = result.oid - ORDER BY operand; - - --- --- lists all right unary operators --- -SELECT o.oprname AS right_unary, - left_type.typname AS operand, - result.typname AS return_type - FROM pg_operator o, pg_type left_type, pg_type result - WHERE o.oprkind = 'r' -- right unary - and o.oprleft = left_type.oid - and o.oprresult = result.oid - ORDER BY operand; - --- --- lists all binary operators --- -SELECT o.oprname AS binary_op, - left_type.typname AS left_opr, - right_type.typname AS right_opr, - result.typname AS return_type - FROM pg_operator o, pg_type left_type, pg_type right_type, pg_type result - WHERE o.oprkind = 'b' -- binary - and o.oprleft = left_type.oid - and o.oprright = right_type.oid - and o.oprresult = result.oid - ORDER BY left_opr, right_opr; - - --- --- lists the name, number of arguments and the return type of all user-defined --- C functions --- -SELECT p.proname, p.pronargs, t.typname - FROM pg_proc p, pg_language l, pg_type t - WHERE p.prolang = l.oid - and p.prorettype = t.oid - and l.lanname = 'c' - ORDER BY proname; - --- --- lists all aggregate functions and the types to which they can be applied --- -SELECT p.proname, t.typname - FROM pg_aggregate a, pg_proc p, pg_type t - WHERE a.aggfnoid = p.oid - and p.proargtypes[0] = t.oid - ORDER BY proname, typname; - - --- --- lists all the operator classes that can be used with each access method --- as well as the operators that cn be used with the respective operator --- classes --- -SELECT am.amname, opc.opcname, opr.oprname - FROM pg_am am, pg_opclass opc, pg_amop amop, pg_operator opr - WHERE opc.opcamid = am.oid - and amop.amopclaid = opc.oid - and amop.amopopr = opr.oid - ORDER BY amname, opcname, oprname; |