Para introducirnos en los conceptos basicos de la extensibilidad, hemos de estudiar como se dise¤an los catalogos. Puede saltarse esta seccion ahora, pero algunas secciones mas tarde no seran comprendidas sin la informacion dada aqui, asi que marque esta paágina como posterior referencia. Todos los sistemas de catalogos tienen un nombre que empieza por pg_. Las siguientes clases contienen informacion que debe de ser util para los usuarios finales. (Hay muchas otros sistemas de catalogo, pero estos raramente son pedidos directamente.)
Tabla 32-1. Sistema de Catalogos de Postgres
Nombre del Catalogo | Descriccion |
---|---|
pg_database | base de datos |
pg_class | clases |
pg_attribute | atributos de clases |
pg_index | indices secundarios |
pg_proc | procedimientos (ambos C y SQL) |
pg_type | tipos (ambos base y complejo) |
pg_operator | operadores |
pg_aggregate | conjunto y conjunto de funciones |
pg_am | metodo de acceso |
pg_amop | operador de metodo de acceso |
pg_amproc | soporte de operador de metodo de acceso |
pg_opclass | operador de clases de metodo de acceso |
El manual de referencia da mas detalle de explicacion de estos catalogos y sus atributos. De cualquier manera, El principal sistema de catalogo de Postgres muestra su mayor entidades y sus relacionamiento en el sistema de catalogo. (Los atributos que no se refieren a otras entidades no son mostrados si no son parte primaria de la llave. Este diagrama puede ser mas o menos incomprensible hasta que realmente comience a mirar los contenidos de los catalogos y vea como se relacionan entre si. Por ahora, lo principal seguir este diagrama:
En varias de las secciones que vienen a continuacion, presentaremos varias consultas compuestas en los catalogos del sistema que presentan informacion que necesitamos para extender el sistema. Mirado este diagrama podremos hacer que algunas de estas consultas compuestas (que a menudo se componen de tres o cuatro partes) sean Más comprensibles mas faciles de entender, dado que sera capaz de ver los atributos usados en las claves importadas de los formularios de consulta de otras clases.
Muchas caracteristicas distintas (clases, atributos, funciones, tipos, metodos de acceso, etc) estan estrechamente relacionadas en este esquema. Un simple comando de creacion puede modificar muchos de estos catalogos.
Los tipos y procedimientos son elementos fundamentales de este esquema.
Nota: Usamos las palabras procedure y function de forma mas o menos indistinta.
Hay muchos otros atributos y relaciones que tienen significados obvios, pero hay otros muchos (particularmente aquellos que tienen que ver con los metodos de acceso) que no los tienen. Las relaciones entre pg_am, pg_amop, pg_amproc, pg_operator y pg_opclass son particularmente dificiles de complrender, y seran descritas en profundidad (en la seccion sobre tipos de interfase y operadores de indice) antes de que estudiemos las extensiones basicas.