<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >System Catalogs</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK REV="MADE" HREF="mailto:pgsql-docs@postgresql.org"><LINK REL="HOME" TITLE="PostgreSQL 9.6.21 Documentation" HREF="index.html"><LINK REL="UP" TITLE="Internals" HREF="internals.html"><LINK REL="PREVIOUS" TITLE="Executor" HREF="executor.html"><LINK REL="NEXT" TITLE="Overview" HREF="catalogs-overview.html"><LINK REL="STYLESHEET" TYPE="text/css" HREF="stylesheet.css"><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"><META NAME="creation" CONTENT="2021-02-27T18:26:08"></HEAD ><BODY CLASS="CHAPTER" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="4" ALIGN="center" VALIGN="bottom" ><A HREF="index.html" >PostgreSQL 9.6.21 Documentation</A ></TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A TITLE="Executor" HREF="executor.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="internals.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="60%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="20%" ALIGN="right" VALIGN="top" ><A TITLE="Overview" HREF="catalogs-overview.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="CATALOGS" ></A >Chapter 50. System Catalogs</H1 ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT >50.1. <A HREF="catalogs-overview.html" >Overview</A ></DT ><DT >50.2. <A HREF="catalog-pg-aggregate.html" ><TT CLASS="STRUCTNAME" >pg_aggregate</TT ></A ></DT ><DT >50.3. <A HREF="catalog-pg-am.html" ><TT CLASS="STRUCTNAME" >pg_am</TT ></A ></DT ><DT >50.4. <A HREF="catalog-pg-amop.html" ><TT CLASS="STRUCTNAME" >pg_amop</TT ></A ></DT ><DT >50.5. <A HREF="catalog-pg-amproc.html" ><TT CLASS="STRUCTNAME" >pg_amproc</TT ></A ></DT ><DT >50.6. <A HREF="catalog-pg-attrdef.html" ><TT CLASS="STRUCTNAME" >pg_attrdef</TT ></A ></DT ><DT >50.7. <A HREF="catalog-pg-attribute.html" ><TT CLASS="STRUCTNAME" >pg_attribute</TT ></A ></DT ><DT >50.8. <A HREF="catalog-pg-authid.html" ><TT CLASS="STRUCTNAME" >pg_authid</TT ></A ></DT ><DT >50.9. <A HREF="catalog-pg-auth-members.html" ><TT CLASS="STRUCTNAME" >pg_auth_members</TT ></A ></DT ><DT >50.10. <A HREF="catalog-pg-cast.html" ><TT CLASS="STRUCTNAME" >pg_cast</TT ></A ></DT ><DT >50.11. <A HREF="catalog-pg-class.html" ><TT CLASS="STRUCTNAME" >pg_class</TT ></A ></DT ><DT >50.12. <A HREF="catalog-pg-collation.html" ><TT CLASS="STRUCTNAME" >pg_collation</TT ></A ></DT ><DT >50.13. <A HREF="catalog-pg-constraint.html" ><TT CLASS="STRUCTNAME" >pg_constraint</TT ></A ></DT ><DT >50.14. <A HREF="catalog-pg-conversion.html" ><TT CLASS="STRUCTNAME" >pg_conversion</TT ></A ></DT ><DT >50.15. <A HREF="catalog-pg-database.html" ><TT CLASS="STRUCTNAME" >pg_database</TT ></A ></DT ><DT >50.16. <A HREF="catalog-pg-db-role-setting.html" ><TT CLASS="STRUCTNAME" >pg_db_role_setting</TT ></A ></DT ><DT >50.17. <A HREF="catalog-pg-default-acl.html" ><TT CLASS="STRUCTNAME" >pg_default_acl</TT ></A ></DT ><DT >50.18. <A HREF="catalog-pg-depend.html" ><TT CLASS="STRUCTNAME" >pg_depend</TT ></A ></DT ><DT >50.19. <A HREF="catalog-pg-description.html" ><TT CLASS="STRUCTNAME" >pg_description</TT ></A ></DT ><DT >50.20. <A HREF="catalog-pg-enum.html" ><TT CLASS="STRUCTNAME" >pg_enum</TT ></A ></DT ><DT >50.21. <A HREF="catalog-pg-event-trigger.html" ><TT CLASS="STRUCTNAME" >pg_event_trigger</TT ></A ></DT ><DT >50.22. <A HREF="catalog-pg-extension.html" ><TT CLASS="STRUCTNAME" >pg_extension</TT ></A ></DT ><DT >50.23. <A HREF="catalog-pg-foreign-data-wrapper.html" ><TT CLASS="STRUCTNAME" >pg_foreign_data_wrapper</TT ></A ></DT ><DT >50.24. <A HREF="catalog-pg-foreign-server.html" ><TT CLASS="STRUCTNAME" >pg_foreign_server</TT ></A ></DT ><DT >50.25. <A HREF="catalog-pg-foreign-table.html" ><TT CLASS="STRUCTNAME" >pg_foreign_table</TT ></A ></DT ><DT >50.26. <A HREF="catalog-pg-index.html" ><TT CLASS="STRUCTNAME" >pg_index</TT ></A ></DT ><DT >50.27. <A HREF="catalog-pg-inherits.html" ><TT CLASS="STRUCTNAME" >pg_inherits</TT ></A ></DT ><DT >50.28. <A HREF="catalog-pg-init-privs.html" ><TT CLASS="STRUCTNAME" >pg_init_privs</TT ></A ></DT ><DT >50.29. <A HREF="catalog-pg-language.html" ><TT CLASS="STRUCTNAME" >pg_language</TT ></A ></DT ><DT >50.30. <A HREF="catalog-pg-largeobject.html" ><TT CLASS="STRUCTNAME" >pg_largeobject</TT ></A ></DT ><DT >50.31. <A HREF="catalog-pg-largeobject-metadata.html" ><TT CLASS="STRUCTNAME" >pg_largeobject_metadata</TT ></A ></DT ><DT >50.32. <A HREF="catalog-pg-namespace.html" ><TT CLASS="STRUCTNAME" >pg_namespace</TT ></A ></DT ><DT >50.33. <A HREF="catalog-pg-opclass.html" ><TT CLASS="STRUCTNAME" >pg_opclass</TT ></A ></DT ><DT >50.34. <A HREF="catalog-pg-operator.html" ><TT CLASS="STRUCTNAME" >pg_operator</TT ></A ></DT ><DT >50.35. <A HREF="catalog-pg-opfamily.html" ><TT CLASS="STRUCTNAME" >pg_opfamily</TT ></A ></DT ><DT >50.36. <A HREF="catalog-pg-pltemplate.html" ><TT CLASS="STRUCTNAME" >pg_pltemplate</TT ></A ></DT ><DT >50.37. <A HREF="catalog-pg-policy.html" ><TT CLASS="STRUCTNAME" >pg_policy</TT ></A ></DT ><DT >50.38. <A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A ></DT ><DT >50.39. <A HREF="catalog-pg-range.html" ><TT CLASS="STRUCTNAME" >pg_range</TT ></A ></DT ><DT >50.40. <A HREF="catalog-pg-replication-origin.html" ><TT CLASS="STRUCTNAME" >pg_replication_origin</TT ></A ></DT ><DT >50.41. <A HREF="catalog-pg-rewrite.html" ><TT CLASS="STRUCTNAME" >pg_rewrite</TT ></A ></DT ><DT >50.42. <A HREF="catalog-pg-seclabel.html" ><TT CLASS="STRUCTNAME" >pg_seclabel</TT ></A ></DT ><DT >50.43. <A HREF="catalog-pg-shdepend.html" ><TT CLASS="STRUCTNAME" >pg_shdepend</TT ></A ></DT ><DT >50.44. <A HREF="catalog-pg-shdescription.html" ><TT CLASS="STRUCTNAME" >pg_shdescription</TT ></A ></DT ><DT >50.45. <A HREF="catalog-pg-shseclabel.html" ><TT CLASS="STRUCTNAME" >pg_shseclabel</TT ></A ></DT ><DT >50.46. <A HREF="catalog-pg-statistic.html" ><TT CLASS="STRUCTNAME" >pg_statistic</TT ></A ></DT ><DT >50.47. <A HREF="catalog-pg-tablespace.html" ><TT CLASS="STRUCTNAME" >pg_tablespace</TT ></A ></DT ><DT >50.48. <A HREF="catalog-pg-transform.html" ><TT CLASS="STRUCTNAME" >pg_transform</TT ></A ></DT ><DT >50.49. <A HREF="catalog-pg-trigger.html" ><TT CLASS="STRUCTNAME" >pg_trigger</TT ></A ></DT ><DT >50.50. <A HREF="catalog-pg-ts-config.html" ><TT CLASS="STRUCTNAME" >pg_ts_config</TT ></A ></DT ><DT >50.51. <A HREF="catalog-pg-ts-config-map.html" ><TT CLASS="STRUCTNAME" >pg_ts_config_map</TT ></A ></DT ><DT >50.52. <A HREF="catalog-pg-ts-dict.html" ><TT CLASS="STRUCTNAME" >pg_ts_dict</TT ></A ></DT ><DT >50.53. <A HREF="catalog-pg-ts-parser.html" ><TT CLASS="STRUCTNAME" >pg_ts_parser</TT ></A ></DT ><DT >50.54. <A HREF="catalog-pg-ts-template.html" ><TT CLASS="STRUCTNAME" >pg_ts_template</TT ></A ></DT ><DT >50.55. <A HREF="catalog-pg-type.html" ><TT CLASS="STRUCTNAME" >pg_type</TT ></A ></DT ><DT >50.56. <A HREF="catalog-pg-user-mapping.html" ><TT CLASS="STRUCTNAME" >pg_user_mapping</TT ></A ></DT ><DT >50.57. <A HREF="views-overview.html" >System Views</A ></DT ><DT >50.58. <A HREF="view-pg-available-extensions.html" ><TT CLASS="STRUCTNAME" >pg_available_extensions</TT ></A ></DT ><DT >50.59. <A HREF="view-pg-available-extension-versions.html" ><TT CLASS="STRUCTNAME" >pg_available_extension_versions</TT ></A ></DT ><DT >50.60. <A HREF="view-pg-config.html" ><TT CLASS="STRUCTNAME" >pg_config</TT ></A ></DT ><DT >50.61. <A HREF="view-pg-cursors.html" ><TT CLASS="STRUCTNAME" >pg_cursors</TT ></A ></DT ><DT >50.62. <A HREF="view-pg-file-settings.html" ><TT CLASS="STRUCTNAME" >pg_file_settings</TT ></A ></DT ><DT >50.63. <A HREF="view-pg-group.html" ><TT CLASS="STRUCTNAME" >pg_group</TT ></A ></DT ><DT >50.64. <A HREF="view-pg-indexes.html" ><TT CLASS="STRUCTNAME" >pg_indexes</TT ></A ></DT ><DT >50.65. <A HREF="view-pg-locks.html" ><TT CLASS="STRUCTNAME" >pg_locks</TT ></A ></DT ><DT >50.66. <A HREF="view-pg-matviews.html" ><TT CLASS="STRUCTNAME" >pg_matviews</TT ></A ></DT ><DT >50.67. <A HREF="view-pg-policies.html" ><TT CLASS="STRUCTNAME" >pg_policies</TT ></A ></DT ><DT >50.68. <A HREF="view-pg-prepared-statements.html" ><TT CLASS="STRUCTNAME" >pg_prepared_statements</TT ></A ></DT ><DT >50.69. <A HREF="view-pg-prepared-xacts.html" ><TT CLASS="STRUCTNAME" >pg_prepared_xacts</TT ></A ></DT ><DT >50.70. <A HREF="view-pg-replication-origin-status.html" ><TT CLASS="STRUCTNAME" >pg_replication_origin_status</TT ></A ></DT ><DT >50.71. <A HREF="view-pg-replication-slots.html" ><TT CLASS="STRUCTNAME" >pg_replication_slots</TT ></A ></DT ><DT >50.72. <A HREF="view-pg-roles.html" ><TT CLASS="STRUCTNAME" >pg_roles</TT ></A ></DT ><DT >50.73. <A HREF="view-pg-rules.html" ><TT CLASS="STRUCTNAME" >pg_rules</TT ></A ></DT ><DT >50.74. <A HREF="view-pg-seclabels.html" ><TT CLASS="STRUCTNAME" >pg_seclabels</TT ></A ></DT ><DT >50.75. <A HREF="view-pg-settings.html" ><TT CLASS="STRUCTNAME" >pg_settings</TT ></A ></DT ><DT >50.76. <A HREF="view-pg-shadow.html" ><TT CLASS="STRUCTNAME" >pg_shadow</TT ></A ></DT ><DT >50.77. <A HREF="view-pg-stats.html" ><TT CLASS="STRUCTNAME" >pg_stats</TT ></A ></DT ><DT >50.78. <A HREF="view-pg-tables.html" ><TT CLASS="STRUCTNAME" >pg_tables</TT ></A ></DT ><DT >50.79. <A HREF="view-pg-timezone-abbrevs.html" ><TT CLASS="STRUCTNAME" >pg_timezone_abbrevs</TT ></A ></DT ><DT >50.80. <A HREF="view-pg-timezone-names.html" ><TT CLASS="STRUCTNAME" >pg_timezone_names</TT ></A ></DT ><DT >50.81. <A HREF="view-pg-user.html" ><TT CLASS="STRUCTNAME" >pg_user</TT ></A ></DT ><DT >50.82. <A HREF="view-pg-user-mappings.html" ><TT CLASS="STRUCTNAME" >pg_user_mappings</TT ></A ></DT ><DT >50.83. <A HREF="view-pg-views.html" ><TT CLASS="STRUCTNAME" >pg_views</TT ></A ></DT ></DL ></DIV ><P > 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. <SPAN CLASS="PRODUCTNAME" >PostgreSQL</SPAN >'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, <TT CLASS="COMMAND" >CREATE DATABASE</TT > inserts a row into the <TT CLASS="STRUCTNAME" >pg_database</TT > 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. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="executor.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="catalogs-overview.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Executor</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="internals.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Overview</TD ></TR ></TABLE ></DIV ></BODY ></HTML >