2 Chapter 35. The Information Schema
8 35.3. information_schema_catalog_name
9 35.4. administrable_role_authorizations
10 35.5. applicable_roles
13 35.8. check_constraint_routine_usage
14 35.9. check_constraints
16 35.11. collation_character_set_applicability
17 35.12. column_column_usage
18 35.13. column_domain_usage
20 35.15. column_privileges
21 35.16. column_udt_usage
23 35.18. constraint_column_usage
24 35.19. constraint_table_usage
25 35.20. data_type_privileges
26 35.21. domain_constraints
27 35.22. domain_udt_usage
31 35.26. foreign_data_wrapper_options
32 35.27. foreign_data_wrappers
33 35.28. foreign_server_options
34 35.29. foreign_servers
35 35.30. foreign_table_options
37 35.32. key_column_usage
39 35.34. referential_constraints
40 35.35. role_column_grants
41 35.36. role_routine_grants
42 35.37. role_table_grants
43 35.38. role_udt_grants
44 35.39. role_usage_grants
45 35.40. routine_column_usage
46 35.41. routine_privileges
47 35.42. routine_routine_usage
48 35.43. routine_sequence_usage
49 35.44. routine_table_usage
54 35.49. sql_implementation_info
57 35.52. table_constraints
58 35.53. table_privileges
61 35.56. triggered_update_columns
64 35.59. usage_privileges
65 35.60. user_defined_types
66 35.61. user_mapping_options
68 35.63. view_column_usage
69 35.64. view_routine_usage
70 35.65. view_table_usage
73 The information schema consists of a set of views that contain
74 information about the objects defined in the current database. The
75 information schema is defined in the SQL standard and can therefore be
76 expected to be portable and remain stable — unlike the system catalogs,
77 which are specific to PostgreSQL and are modeled after implementation
78 concerns. The information schema views do not, however, contain
79 information about PostgreSQL-specific features; to inquire about those
80 you need to query the system catalogs or other PostgreSQL-specific
85 When querying the database for constraint information, it is possible
86 for a standard-compliant query that expects to return one row to return
87 several. This is because the SQL standard requires constraint names to
88 be unique within a schema, but PostgreSQL does not enforce this
89 restriction. PostgreSQL automatically-generated constraint names avoid
90 duplicates in the same schema, but users can specify such duplicate
93 This problem can appear when querying information schema views such as
94 check_constraint_routine_usage, check_constraints, domain_constraints,
95 and referential_constraints. Some other views have similar issues but
96 contain the table name to help distinguish duplicate rows, e.g.,
97 constraint_column_usage, constraint_table_usage, table_constraints.