@@ -1207,3 +1207,50 @@ create domain testdomain1 as int constraint unsigned check (value > 0);
12071207alter domain testdomain1 rename constraint unsigned to unsigned_foo;
12081208alter domain testdomain1 drop constraint unsigned_foo;
12091209drop domain testdomain1;
1210+ --
1211+ -- Information schema
1212+ --
1213+ SELECT * FROM information_schema.column_domain_usage
1214+ WHERE domain_name IN ('con', 'dom', 'pos_int', 'things')
1215+ ORDER BY domain_name;
1216+ domain_catalog | domain_schema | domain_name | table_catalog | table_schema | table_name | column_name
1217+ ----------------+---------------+-------------+---------------+--------------+------------+-------------
1218+ regression | public | con | regression | public | domcontest | col1
1219+ regression | public | dom | regression | public | domview | col1
1220+ regression | public | things | regression | public | thethings | stuff
1221+ (3 rows)
1222+
1223+ SELECT * FROM information_schema.domain_constraints
1224+ WHERE domain_name IN ('con', 'dom', 'pos_int', 'things')
1225+ ORDER BY constraint_name;
1226+ constraint_catalog | constraint_schema | constraint_name | domain_catalog | domain_schema | domain_name | is_deferrable | initially_deferred
1227+ --------------------+-------------------+-----------------+----------------+---------------+-------------+---------------+--------------------
1228+ regression | public | con_check | regression | public | con | NO | NO
1229+ regression | public | meow | regression | public | things | NO | NO
1230+ regression | public | pos_int_check | regression | public | pos_int | NO | NO
1231+ (3 rows)
1232+
1233+ SELECT * FROM information_schema.domains
1234+ WHERE domain_name IN ('con', 'dom', 'pos_int', 'things')
1235+ ORDER BY domain_name;
1236+ domain_catalog | domain_schema | domain_name | data_type | character_maximum_length | character_octet_length | character_set_catalog | character_set_schema | character_set_name | collation_catalog | collation_schema | collation_name | numeric_precision | numeric_precision_radix | numeric_scale | datetime_precision | interval_type | interval_precision | domain_default | udt_catalog | udt_schema | udt_name | scope_catalog | scope_schema | scope_name | maximum_cardinality | dtd_identifier
1237+ ----------------+---------------+-------------+-----------+--------------------------+------------------------+-----------------------+----------------------+--------------------+-------------------+------------------+----------------+-------------------+-------------------------+---------------+--------------------+---------------+--------------------+----------------+-------------+------------+----------+---------------+--------------+------------+---------------------+----------------
1238+ regression | public | con | integer | | | | | | | | | 32 | 2 | 0 | | | | | regression | pg_catalog | int4 | | | | | 1
1239+ regression | public | dom | integer | | | | | | | | | 32 | 2 | 0 | | | | | regression | pg_catalog | int4 | | | | | 1
1240+ regression | public | pos_int | integer | | | | | | | | | 32 | 2 | 0 | | | | | regression | pg_catalog | int4 | | | | | 1
1241+ regression | public | things | integer | | | | | | | | | 32 | 2 | 0 | | | | | regression | pg_catalog | int4 | | | | | 1
1242+ (4 rows)
1243+
1244+ SELECT * FROM information_schema.check_constraints
1245+ WHERE (constraint_schema, constraint_name)
1246+ IN (SELECT constraint_schema, constraint_name
1247+ FROM information_schema.domain_constraints
1248+ WHERE domain_name IN ('con', 'dom', 'pos_int', 'things'))
1249+ ORDER BY constraint_name;
1250+ constraint_catalog | constraint_schema | constraint_name | check_clause
1251+ --------------------+-------------------+-----------------+--------------
1252+ regression | public | con_check | (VALUE > 0)
1253+ regression | public | meow | (VALUE < 11)
1254+ regression | public | pos_int_check | (VALUE > 0)
1255+ (3 rows)
1256+
0 commit comments