PostgreSQL 7.1.3 Documentation
Prev |  | Next

# Chapter 3. System Catalogs

# 3.1. Overview

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 never has to 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 esoteric operations, such as adding index access methods.

Table 3-1. System Catalogs

Catalog Name | Purpose
--- | ---
pg_aggregate | aggregate functions
pg_am | index access methods
pg_amop | access method operators
pg_amproc | access method support procedures
pg_attrdef | column default values
pg_attribute | table columns (attributes, fields)
pg_class | tables, indexes, sequences ("relations")
pg_database | databases
pg_description | descriptions or comments on database objects
pg_group | user groups
pg_index | additional index information
pg_inheritproc | (not used)
pg_inherits | table inheritance hierarchy
pg_ipl | (not used)
pg_language | languages for writing functions
pg_largeobject | large objects
pg_listener | asynchronous notification
pg_opclass | index access method operator classes
pg_operator | operators
pg_proc | functions and procedures
pg_relcheck | check constraints
pg_rewrite | query rewriter rules
pg_shadow | database users
pg_statistic | optimizer statistics
pg_trigger | triggers
pg_type | data types

More detailed documentation of most catalogs follow below. The catalogs that relate to index access methods are explained in the Programmer's Guide. Some catalogs don't have any documentation, yet.

Prev | Home | Next
Executor | Up | pg_aggregate