Chapter 56. System Catalogs

Table of Contents

56.1. Overview
56.2. pg_aggregate
56.3. pg_am
56.4. pg_amop
56.5. pg_amproc
56.6. pg_attrdef
56.7. pg_attribute
56.8. pg_authid
56.9. pg_auth_members
56.10. pg_cast
56.11. pg_class
56.12. pg_collation
56.13. pg_constraint
56.14. pg_conversion
56.15. pg_database
56.16. pg_db_role_setting
56.17. pg_default_acl
56.18. pg_depend
56.19. pg_description
56.20. pg_enum
56.21. pg_event_trigger
56.22. pg_extension
56.23. pg_foreign_data_wrapper
56.24. pg_foreign_server
56.25. pg_foreign_table
56.26. pg_index
56.27. pg_inherits
56.28. pg_init_privs
56.29. pg_language
56.30. pg_largeobject
56.31. pg_largeobject_metadata
56.32. pg_namespace
56.33. pg_opclass
56.34. pg_operator
56.35. pg_opfamily
56.36. pg_parameter_acl
56.37. pg_partitioned_table
56.38. pg_policy
56.39. pg_proc
56.40. pg_profile
56.41. pg_publication
56.42. pg_publication_namespace
56.43. pg_publication_rel
56.44. pg_range
56.45. pg_replication_origin
56.46. pg_rewrite
56.47. pg_role_password
56.48. pg_seclabel
56.49. pg_sequence
56.50. pg_shdepend
56.51. pg_shdescription
56.52. pg_shseclabel
56.53. pg_statistic
56.54. pg_statistic_ext
56.55. pg_statistic_ext_data
56.56. pg_subscription
56.57. pg_subscription_rel
56.58. pg_tablespace
56.59. pg_transform
56.60. pg_trigger
56.61. pg_ts_config
56.62. pg_ts_config_map
56.63. pg_ts_dict
56.64. pg_ts_parser
56.65. pg_ts_template
56.66. pg_type
56.67. pg_user_mapping

The system catalogs are the place where a relational database management system stores schema metadata, such as information about tables and columns, and internal bookkeeping information. Postgres Pro's system catalogs are regular tables. You can drop and recreate the tables, add columns, insert and update values, and severely mess up your system that way. Normally, one should not change the system catalogs by hand, there are normally SQL commands to do that. (For example, CREATE DATABASE inserts a row into the pg_database catalog — and actually creates the database on disk.) There are some exceptions for particularly esoteric operations, but many of those have been made available as SQL commands over time, and so the need for direct manipulation of the system catalogs is ever decreasing.