Properties

Name: element_types 
Owner: postgres 
Has rules:  
Has Triggers:  
Comment:  

Columns

Name Type Length
  object_catalog  sql_identifier  -1 
  object_schema  sql_identifier  -1 
  object_name  sql_identifier  -1 
  object_type  character_data  -1 
  collection_type_identifier  sql_identifier  -1 
  data_type  character_data  -1 
  character_maximum_length  cardinal_number  -1 
  character_octet_length  cardinal_number  -1 
  character_set_catalog  sql_identifier  -1 
  character_set_schema  sql_identifier  -1 
  character_set_name  sql_identifier  -1 
  collation_catalog  sql_identifier  -1 
  collation_schema  sql_identifier  -1 
  collation_name  sql_identifier  -1 
  numeric_precision  cardinal_number  -1 
  numeric_precision_radix  cardinal_number  -1 
  numeric_scale  cardinal_number  -1 
  datetime_precision  cardinal_number  -1 
  interval_type  character_data  -1 
  interval_precision  character_data  -1 
  domain_default  character_data  -1 
  udt_catalog  sql_identifier  -1 
  udt_schema  sql_identifier  -1 
  udt_name  sql_identifier  -1 
  scope_catalog  sql_identifier  -1 
  scope_schema  sql_identifier  -1 
  scope_name  sql_identifier  -1 
  maximum_cardinality  cardinal_number  -1 
  dtd_identifier  sql_identifier  -1 
Total: 29 column(s)

SQL


CREATE VIEW element_types AS
    SELECT (current_database())::sql_identifier AS object_catalog, (n.nspname)::sql_identifier AS object_schema, (x.objname)::sql_identifier AS object_name, (x.objtype)::character_data AS object_type, (x.objdtdid)::sql_identifier AS collection_type_identifier, (CASE WHEN (nbt.nspname = 'pg_catalog'::name) THEN format_type(bt.oid, NULL::integer) ELSE 'USER-DEFINED'::text END)::character_data AS data_type, (NULL::integer)::cardinal_number AS character_maximum_length, (NULL::integer)::cardinal_number AS character_octet_length, (NULL::character varying)::sql_identifier AS character_set_catalog, (NULL::character varying)::sql_identifier AS character_set_schema, (NULL::character varying)::sql_identifier AS character_set_name, (NULL::character varying)::sql_identifier AS collation_catalog, (NULL::character varying)::sql_identifier AS collation_schema, (NULL::character varying)::sql_identifier AS collation_name, (NULL::integer)::cardinal_number AS numeric_precision, (NULL::integer)::cardinal_number AS numeric_precision_radix, (NULL::integer)::cardinal_number AS numeric_scale, (NULL::integer)::cardinal_number AS datetime_precision, (NULL::character varying)::character_data AS interval_type, (NULL::character varying)::character_data AS interval_precision, (NULL::character varying)::character_data AS domain_default, (current_database())::sql_identifier AS udt_catalog, (nbt.nspname)::sql_identifier AS udt_schema, (bt.typname)::sql_identifier AS udt_name, (NULL::character varying)::sql_identifier AS scope_catalog, (NULL::character varying)::sql_identifier AS scope_schema, (NULL::character varying)::sql_identifier AS scope_name, (NULL::integer)::cardinal_number AS maximum_cardinality, (('a'::text || (x.objdtdid)::text))::sql_identifier AS dtd_identifier FROM pg_namespace n, pg_type "at", pg_namespace nbt, pg_type bt, (((SELECT c.relnamespace, (c.relname)::sql_identifier AS relname, 'TABLE'::text AS text, a.attnum, a.atttypid FROM pg_class c, pg_attribute a WHERE ((((c.oid = a.attrelid) AND (c.relkind = ANY (ARRAY['r'::"char", 'v'::"char"]))) AND (a.attnum > 0)) AND (NOT a.attisdropped)) UNION ALL SELECT t.typnamespace, (t.typname)::sql_identifier AS typname, 'DOMAIN'::text AS text, 1, t.typbasetype FROM pg_type t WHERE (t.typtype = 'd'::"char")) UNION ALL SELECT ss.pronamespace, ((((ss.proname)::text || '_'::text) || (ss.oid)::text))::sql_identifier AS sql_identifier, 'ROUTINE'::text AS text, (ss.x).n AS n, (ss.x).x AS x FROM (SELECT p.pronamespace, p.proname, p.oid, _pg_expandarray(COALESCE(p.proallargtypes, (p.proargtypes)::oid[])) AS x FROM pg_proc p) ss) UNION ALL SELECT p.pronamespace, ((((p.proname)::text || '_'::text) || (p.oid)::text))::sql_identifier AS sql_identifier, 'ROUTINE'::text AS text, 0, p.prorettype FROM pg_proc p) x(objschema, objname, objtype, objdtdid, objtypeid) WHERE ((((((n.oid = x.objschema) AND ("at".oid = x.objtypeid)) AND (("at".typelem <> (0)::oid) AND ("at".typlen = -1))) AND ("at".typelem = bt.oid)) AND (nbt.oid = bt.typnamespace)) AND ((n.nspname, (x.objname)::text, x.objtype, (x.objdtdid)::text) IN (SELECT data_type_privileges.object_schema, data_type_privileges.object_name, data_type_privileges.object_type, data_type_privileges.dtd_identifier FROM data_type_privileges)));


ALTER TABLE information_schema.element_types OWNER TO postgres;

See Also

List of views