47.56. System Views

Note: XCONLY: The following description applies only to Postgres-XC.

Unlike general views, all the system views are defined in each coordinator and datanode.

Note: The following description applies both to Postgres-XC and PostgreSQL if not described explicitly. You can read PostgreSQL as Postgres-XC except for version number, which is specific to each product.

In addition to the system catalogs, PostgreSQL provides a number of built-in views. Some system views provide convenient access to some commonly used queries on the system catalogs. Other views provide access to internal server state.

The information schema (Chapter 33) provides an alternative set of views which overlap the functionality of the system views. Since the information schema is SQL-standard whereas the views described here are PostgreSQL-specific, it's usually better to use the information schema if it provides all the information you need.

Table 47-57 lists the system views described here. More detailed documentation of each view follows below. There are some additional views that provide access to the results of the statistics collector; they are described in Table 26-1.

Except where noted, all the views described here are read-only.

Table 47-57. System Views

View NamePurpose
pg_available_extensionsavailable extensions
pg_available_extension_versionsavailable versions of extensions
pg_cursorsopen cursors
pg_groupgroups of database users
pg_indexesindexes
pg_lockscurrently held locks
pg_matviewsmaterialized views
pg_prepared_statementsprepared statements
pg_prepared_xactsprepared transactions
pg_rolesdatabase roles
pg_rulesrules
pg_seclabelssecurity labels
pg_settingsparameter settings
pg_shadowdatabase users
pg_statsplanner statistics
pg_tablestables
pg_timezone_abbrevstime zone abbreviations
pg_timezone_namestime zone names
pg_userdatabase users
pg_user_mappingsuser mappings
pg_viewsviews

Note: XCONLY: The following description applies only to Postgres-XC.

Please note that Postgres-XC propagates view definition only to coordinators because not all view definitions can be pushed down to datanodes.