DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

Chapter 43. System Catalogs

Table of Contents
43.1. Overview
43.2. pg_aggregate
43.3. pg_am
43.4. pg_amop
43.5. pg_amproc
43.6. pg_attrdef
43.7. pg_attribute
43.8. pg_authid
43.9. pg_auth_members
43.10. pg_autovacuum
43.11. pg_cast
43.12. pg_class
43.13. pg_constraint
43.14. pg_conversion
43.15. pg_database
43.16. pg_depend
43.17. pg_description
43.18. pg_index
43.19. pg_inherits
43.20. pg_language
43.21. pg_largeobject
43.22. pg_listener
43.23. pg_namespace
43.24. pg_opclass
43.25. pg_operator
43.26. pg_pltemplate
43.27. pg_proc
43.28. pg_rewrite
43.29. pg_shdepend
43.30. pg_shdescription
43.31. pg_statistic
43.32. pg_tablespace
43.33. pg_trigger
43.34. pg_type
43.35. System Views
43.36. pg_cursors
43.37. pg_group
43.38. pg_indexes
43.39. pg_locks
43.40. pg_prepared_statements
43.41. pg_prepared_xacts
43.42. pg_roles
43.43. pg_rules
43.44. pg_settings
43.45. pg_shadow
43.46. pg_stats
43.47. pg_tables
43.48. pg_timezone_abbrevs
43.49. pg_timezone_names
43.50. pg_user
43.51. pg_views

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. PostgreSQL'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 always 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, such as adding index access methods.