<!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 8.0.11 Documentation" HREF="index.html"><LINK REL="UP" TITLE="Internals" HREF="internals.html"><LINK REL="PREVIOUS" TITLE="Executor" HREF="executor.html"><LINK REL="NEXT" TITLE="pg_aggregate" HREF="catalog-pg-aggregate.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="2007-02-02T03:57:22"></HEAD ><BODY CLASS="CHAPTER" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="5" ALIGN="center" VALIGN="bottom" >PostgreSQL 8.0.11 Documentation</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="executor.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="10%" ALIGN="left" VALIGN="top" ><A HREF="overview.html" >Fast Backward</A ></TD ><TD WIDTH="60%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="top" ><A HREF="protocol.html" >Fast Forward</A ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="top" ><A HREF="catalog-pg-aggregate.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="CHAPTER" ><H1 ><A NAME="CATALOGS" ></A >Chapter 41. System Catalogs</H1 ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT >41.1. <A HREF="catalogs.html#CATALOGS-OVERVIEW" >Overview</A ></DT ><DT >41.2. <A HREF="catalog-pg-aggregate.html" ><TT CLASS="STRUCTNAME" >pg_aggregate</TT ></A ></DT ><DT >41.3. <A HREF="catalog-pg-am.html" ><TT CLASS="STRUCTNAME" >pg_am</TT ></A ></DT ><DT >41.4. <A HREF="catalog-pg-amop.html" ><TT CLASS="STRUCTNAME" >pg_amop</TT ></A ></DT ><DT >41.5. <A HREF="catalog-pg-amproc.html" ><TT CLASS="STRUCTNAME" >pg_amproc</TT ></A ></DT ><DT >41.6. <A HREF="catalog-pg-attrdef.html" ><TT CLASS="STRUCTNAME" >pg_attrdef</TT ></A ></DT ><DT >41.7. <A HREF="catalog-pg-attribute.html" ><TT CLASS="STRUCTNAME" >pg_attribute</TT ></A ></DT ><DT >41.8. <A HREF="catalog-pg-cast.html" ><TT CLASS="STRUCTNAME" >pg_cast</TT ></A ></DT ><DT >41.9. <A HREF="catalog-pg-class.html" ><TT CLASS="STRUCTNAME" >pg_class</TT ></A ></DT ><DT >41.10. <A HREF="catalog-pg-constraint.html" ><TT CLASS="STRUCTNAME" >pg_constraint</TT ></A ></DT ><DT >41.11. <A HREF="catalog-pg-conversion.html" ><TT CLASS="STRUCTNAME" >pg_conversion</TT ></A ></DT ><DT >41.12. <A HREF="catalog-pg-database.html" ><TT CLASS="STRUCTNAME" >pg_database</TT ></A ></DT ><DT >41.13. <A HREF="catalog-pg-depend.html" ><TT CLASS="STRUCTNAME" >pg_depend</TT ></A ></DT ><DT >41.14. <A HREF="catalog-pg-description.html" ><TT CLASS="STRUCTNAME" >pg_description</TT ></A ></DT ><DT >41.15. <A HREF="catalog-pg-group.html" ><TT CLASS="STRUCTNAME" >pg_group</TT ></A ></DT ><DT >41.16. <A HREF="catalog-pg-index.html" ><TT CLASS="STRUCTNAME" >pg_index</TT ></A ></DT ><DT >41.17. <A HREF="catalog-pg-inherits.html" ><TT CLASS="STRUCTNAME" >pg_inherits</TT ></A ></DT ><DT >41.18. <A HREF="catalog-pg-language.html" ><TT CLASS="STRUCTNAME" >pg_language</TT ></A ></DT ><DT >41.19. <A HREF="catalog-pg-largeobject.html" ><TT CLASS="STRUCTNAME" >pg_largeobject</TT ></A ></DT ><DT >41.20. <A HREF="catalog-pg-listener.html" ><TT CLASS="STRUCTNAME" >pg_listener</TT ></A ></DT ><DT >41.21. <A HREF="catalog-pg-namespace.html" ><TT CLASS="STRUCTNAME" >pg_namespace</TT ></A ></DT ><DT >41.22. <A HREF="catalog-pg-opclass.html" ><TT CLASS="STRUCTNAME" >pg_opclass</TT ></A ></DT ><DT >41.23. <A HREF="catalog-pg-operator.html" ><TT CLASS="STRUCTNAME" >pg_operator</TT ></A ></DT ><DT >41.24. <A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A ></DT ><DT >41.25. <A HREF="catalog-pg-rewrite.html" ><TT CLASS="STRUCTNAME" >pg_rewrite</TT ></A ></DT ><DT >41.26. <A HREF="catalog-pg-shadow.html" ><TT CLASS="STRUCTNAME" >pg_shadow</TT ></A ></DT ><DT >41.27. <A HREF="catalog-pg-statistic.html" ><TT CLASS="STRUCTNAME" >pg_statistic</TT ></A ></DT ><DT >41.28. <A HREF="catalog-pg-tablespace.html" ><TT CLASS="STRUCTNAME" >pg_tablespace</TT ></A ></DT ><DT >41.29. <A HREF="catalog-pg-trigger.html" ><TT CLASS="STRUCTNAME" >pg_trigger</TT ></A ></DT ><DT >41.30. <A HREF="catalog-pg-type.html" ><TT CLASS="STRUCTNAME" >pg_type</TT ></A ></DT ><DT >41.31. <A HREF="views-overview.html" >System Views</A ></DT ><DT >41.32. <A HREF="view-pg-indexes.html" ><TT CLASS="STRUCTNAME" >pg_indexes</TT ></A ></DT ><DT >41.33. <A HREF="view-pg-locks.html" ><TT CLASS="STRUCTNAME" >pg_locks</TT ></A ></DT ><DT >41.34. <A HREF="view-pg-rules.html" ><TT CLASS="STRUCTNAME" >pg_rules</TT ></A ></DT ><DT >41.35. <A HREF="view-pg-settings.html" ><TT CLASS="STRUCTNAME" >pg_settings</TT ></A ></DT ><DT >41.36. <A HREF="view-pg-stats.html" ><TT CLASS="STRUCTNAME" >pg_stats</TT ></A ></DT ><DT >41.37. <A HREF="view-pg-tables.html" ><TT CLASS="STRUCTNAME" >pg_tables</TT ></A ></DT ><DT >41.38. <A HREF="view-pg-user.html" ><TT CLASS="STRUCTNAME" >pg_user</TT ></A ></DT ><DT >41.39. <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 always 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, such as adding index access methods. </P ><DIV CLASS="SECT1" ><H1 CLASS="SECT1" ><A NAME="CATALOGS-OVERVIEW" >41.1. Overview</A ></H1 ><P > <A HREF="catalogs.html#CATALOG-TABLE" >Table 41-1</A > lists the system catalogs. More detailed documentation of each catalog follows below. </P ><P > Most system catalogs are copied from the template database during database creation and are thereafter database-specific. A few catalogs are physically shared across all databases in a cluster; these are noted in the descriptions of the individual catalogs. </P ><DIV CLASS="TABLE" ><A NAME="CATALOG-TABLE" ></A ><P ><B >Table 41-1. System Catalogs</B ></P ><TABLE BORDER="1" CLASS="CALSTABLE" ><COL><COL><THEAD ><TR ><TH >Catalog Name</TH ><TH >Purpose</TH ></TR ></THEAD ><TBODY ><TR ><TD ><A HREF="catalog-pg-aggregate.html" ><TT CLASS="STRUCTNAME" >pg_aggregate</TT ></A ></TD ><TD >aggregate functions</TD ></TR ><TR ><TD ><A HREF="catalog-pg-am.html" ><TT CLASS="STRUCTNAME" >pg_am</TT ></A ></TD ><TD >index access methods</TD ></TR ><TR ><TD ><A HREF="catalog-pg-amop.html" ><TT CLASS="STRUCTNAME" >pg_amop</TT ></A ></TD ><TD >access method operators</TD ></TR ><TR ><TD ><A HREF="catalog-pg-amproc.html" ><TT CLASS="STRUCTNAME" >pg_amproc</TT ></A ></TD ><TD >access method support procedures</TD ></TR ><TR ><TD ><A HREF="catalog-pg-attrdef.html" ><TT CLASS="STRUCTNAME" >pg_attrdef</TT ></A ></TD ><TD >column default values</TD ></TR ><TR ><TD ><A HREF="catalog-pg-attribute.html" ><TT CLASS="STRUCTNAME" >pg_attribute</TT ></A ></TD ><TD >table columns (<SPAN CLASS="QUOTE" >"attributes"</SPAN >)</TD ></TR ><TR ><TD ><A HREF="catalog-pg-cast.html" ><TT CLASS="STRUCTNAME" >pg_cast</TT ></A ></TD ><TD >casts (data type conversions)</TD ></TR ><TR ><TD ><A HREF="catalog-pg-class.html" ><TT CLASS="STRUCTNAME" >pg_class</TT ></A ></TD ><TD >tables, indexes, sequences, views (<SPAN CLASS="QUOTE" >"relations"</SPAN >)</TD ></TR ><TR ><TD ><A HREF="catalog-pg-constraint.html" ><TT CLASS="STRUCTNAME" >pg_constraint</TT ></A ></TD ><TD >check constraints, unique constraints, primary key constraints, foreign key constraints</TD ></TR ><TR ><TD ><A HREF="catalog-pg-conversion.html" ><TT CLASS="STRUCTNAME" >pg_conversion</TT ></A ></TD ><TD >encoding conversion information</TD ></TR ><TR ><TD ><A HREF="catalog-pg-database.html" ><TT CLASS="STRUCTNAME" >pg_database</TT ></A ></TD ><TD >databases within this database cluster</TD ></TR ><TR ><TD ><A HREF="catalog-pg-depend.html" ><TT CLASS="STRUCTNAME" >pg_depend</TT ></A ></TD ><TD >dependencies between database objects</TD ></TR ><TR ><TD ><A HREF="catalog-pg-description.html" ><TT CLASS="STRUCTNAME" >pg_description</TT ></A ></TD ><TD >descriptions or comments on database objects</TD ></TR ><TR ><TD ><A HREF="catalog-pg-group.html" ><TT CLASS="STRUCTNAME" >pg_group</TT ></A ></TD ><TD >groups of database users</TD ></TR ><TR ><TD ><A HREF="catalog-pg-index.html" ><TT CLASS="STRUCTNAME" >pg_index</TT ></A ></TD ><TD >additional index information</TD ></TR ><TR ><TD ><A HREF="catalog-pg-inherits.html" ><TT CLASS="STRUCTNAME" >pg_inherits</TT ></A ></TD ><TD >table inheritance hierarchy</TD ></TR ><TR ><TD ><A HREF="catalog-pg-language.html" ><TT CLASS="STRUCTNAME" >pg_language</TT ></A ></TD ><TD >languages for writing functions</TD ></TR ><TR ><TD ><A HREF="catalog-pg-largeobject.html" ><TT CLASS="STRUCTNAME" >pg_largeobject</TT ></A ></TD ><TD >large objects</TD ></TR ><TR ><TD ><A HREF="catalog-pg-listener.html" ><TT CLASS="STRUCTNAME" >pg_listener</TT ></A ></TD ><TD >asynchronous notification support</TD ></TR ><TR ><TD ><A HREF="catalog-pg-namespace.html" ><TT CLASS="STRUCTNAME" >pg_namespace</TT ></A ></TD ><TD >schemas</TD ></TR ><TR ><TD ><A HREF="catalog-pg-opclass.html" ><TT CLASS="STRUCTNAME" >pg_opclass</TT ></A ></TD ><TD >index access method operator classes</TD ></TR ><TR ><TD ><A HREF="catalog-pg-operator.html" ><TT CLASS="STRUCTNAME" >pg_operator</TT ></A ></TD ><TD >operators</TD ></TR ><TR ><TD ><A HREF="catalog-pg-proc.html" ><TT CLASS="STRUCTNAME" >pg_proc</TT ></A ></TD ><TD >functions and procedures</TD ></TR ><TR ><TD ><A HREF="catalog-pg-rewrite.html" ><TT CLASS="STRUCTNAME" >pg_rewrite</TT ></A ></TD ><TD >query rewrite rules</TD ></TR ><TR ><TD ><A HREF="catalog-pg-shadow.html" ><TT CLASS="STRUCTNAME" >pg_shadow</TT ></A ></TD ><TD >database users</TD ></TR ><TR ><TD ><A HREF="catalog-pg-statistic.html" ><TT CLASS="STRUCTNAME" >pg_statistic</TT ></A ></TD ><TD >planner statistics</TD ></TR ><TR ><TD ><A HREF="catalog-pg-tablespace.html" ><TT CLASS="STRUCTNAME" >pg_tablespace</TT ></A ></TD ><TD >tablespaces within this database cluster</TD ></TR ><TR ><TD ><A HREF="catalog-pg-trigger.html" ><TT CLASS="STRUCTNAME" >pg_trigger</TT ></A ></TD ><TD >triggers</TD ></TR ><TR ><TD ><A HREF="catalog-pg-type.html" ><TT CLASS="STRUCTNAME" >pg_type</TT ></A ></TD ><TD >data types</TD ></TR ></TBODY ></TABLE ></DIV ></DIV ></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="catalog-pg-aggregate.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" ><TT CLASS="STRUCTNAME" >pg_aggregate</TT ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >