El catalogo pg_class cataloga tablas y casi todo lo que tiene columnas o es similar a una tabla. Esto incluye índices (pero consulte también pg_index), secuencias (pero ver también pg_sequence), vistas, vistas materializadas, tipos compuestos y tablas TOAST; ver relkind. A continuación, cuando nos referimos a todos estos tipos de objetos, hablamos de relaciones. No todas las columnas son significativas para todos los tipos de relaciones.

Tabla 51.11. pg_class Columnas

Tipo de columna

Descripción

oid oid

Identificador de fila

relname name

Nombre de la tabla, índice, vista, etc.

relnamespace oid (referencias pg_namespace.oid)

El OID del espacio de nombres que contiene esta relación

reltype oid (referencias pg_type.oid)

El OID del tipo de datos que corresponde al tipo de fila de esta tabla, si lo hay (cero para índices, que no tienen pg_type entrada)

reloftype oid (referencias pg_type.oid)

Para tablas con tipo, el OID del tipo compuesto subyacente, cero para todas las demás relaciones

relowner oid (referencias pg_authid.oid)

Dueño de la relación

relam oid (referencias pg_am.oid)

Si se trata de una tabla o un índice, el método de acceso utilizado (montón, árbol B, hash, etc.)

relfilenode oid

Nombre del archivo en disco de esta relación; cero significa que esto es un mapeado relación cuyo nombre de archivo de disco está determinado por el estado de bajo nivel

reltablespace oid (referencias pg_tablespace.oid)

El espacio de tabla en el que se almacena esta relación. Si es cero, el espacio de tabla predeterminado de la base de datos está implícito. (No tiene sentido si la relación no tiene un archivo en el disco).

relpages int4

Tamaño de la representación en disco de esta tabla en páginas (de tamaño BLCKSZ). Esta es solo una estimación utilizada por el planificador. Es actualizado por VACUUM, ANALYZEy algunos comandos DDL como CREATE INDEX.

reltuples float4

Número de filas activas en la tabla. Esta es solo una estimación utilizada por el planificador. Es actualizado por VACUUM, ANALYZEy algunos comandos DDL como CREATE INDEX.

relallvisible int4

Número de páginas marcadas como visibles en el mapa de visibilidad de la tabla. Esta es solo una estimación utilizada por el planificador. Es actualizado por VACUUM, ANALYZEy algunos comandos DDL como CREATE INDEX.

reltoastrelid oid (referencias pg_class.oid)

OID de la tabla TOAST asociada con esta tabla, 0 si no hay ninguna. La tabla TOAST almacena grandes atributos fuera de línea en una mesa secundaria.

relhasindex bool

Verdadero si se trata de una tabla y tiene (o ha tenido recientemente) índices

relisshared bool

Verdadero si esta tabla se comparte en todas las bases de datos del clúster. Solo ciertos catálogos del sistema (como pg_database) son compartidas.

relpersistence char

p = mesa permanente, u = tabla no registrada, t = tabla temporal

relkind char

r = mesa ordinaria, i = índice, S = secuencia, t = Mesa de tostadas, v = ver, m = vista materializada, c = tipo compuesto, f = mesa extranjera, p = tabla particionada, I = índice particionado

relnatts int2

Número de columnas de usuario en la relación (no se cuentan las columnas del sistema). Debe haber tantas entradas correspondientes en pg_attribute. Ver también pg_attribute.attnum.

relchecks int2

Número de CHECK limitaciones en la mesa; ver pg_constraint catalogar

relhasrules bool

Verdadero si la mesa tiene (o alguna vez tuvo) reglas; ver pg_rewrite catalogar

relhastriggers bool

Verdadero si la tabla tiene (o alguna vez tuvo) disparadores; ver pg_trigger catalogar

relhassubclass bool

Verdadero si la tabla o el índice tiene (o alguna vez tuvo) hijos de herencia

relrowsecurity bool

Verdadero si la tabla tiene habilitada la seguridad de nivel de fila; ver pg_policy catalogar

relforcerowsecurity bool

Verdadero si la seguridad de nivel de fila (cuando está habilitada) también se aplicará al propietario de la tabla; ver pg_policy catalogar

relispopulated bool

Verdadero si la relación está poblada (esto es cierto para todas las relaciones excepto algunas vistas materializadas)

relreplident char

Columnas utilizadas para formar identidad de réplica para filas: d = predeterminado (clave principal, si existe), n = nada, f = todas las columnas, i = índice con indisreplident set (igual que nada si el índice utilizado se ha eliminado)

relispartition bool

Verdadero si la tabla o el índice es una partición

relrewrite oid (referencias pg_class.oid)

Para las nuevas relaciones que se escriben durante una operación DDL que requiere una reescritura de tabla, esto contiene el OID de la relación original; de lo contrario, 0. Ese estado solo es visible internamente; este campo nunca debe contener nada más que 0 para una relación visible para el usuario.

relfrozenxid xid

Todos los ID de transacción anteriores a este han sido reemplazados por un permanente (congelado) ID de transacción en esta tabla. Esto se usa para rastrear si la mesa necesita ser aspirada para evitar que el ID de transacción se envuelva o para permitir pg_xact ser encogido. Cero (InvalidTransactionId) si la relación no es una tabla.

relminmxid xid

Todos los ID de multixact anteriores a este han sido reemplazados por un ID de transacción en esta tabla. Esto se usa para rastrear si la mesa necesita ser aspirada para evitar el envolvente de ID multixida o para permitir pg_multixact ser encogido. Cero (InvalidMultiXactId) si la relación no es una tabla.

relacl aclitem[]

Privilegios de acceso; consulte la Sección 5.7 para obtener más detalles

reloptions text[]

Opciones específicas del método de acceso, como palabra clave = valor instrumentos de cuerda

relpartbound pg_node_tree

Si la tabla es una partición (ver relispartition), representación interna del límite de partición

Varias de las banderas booleanas en pg_class se mantienen perezosamente: se garantiza que son verdaderas si ese es el estado correcto, pero no se pueden restablecer a falso inmediatamente cuando la condición ya no es verdadera. Por ejemplo, relhasindex está establecido por CREATE INDEX, pero nunca lo borra DROP INDEX. En lugar de, VACUUM aclara relhasindex si encuentra que la tabla no tiene índices. Esta disposición evita las condiciones de carrera y mejora la simultaneidad.

Anterior

Hasta próximo
51.10. pg_cast Hogar 51.12. pg_collation