Table of Contents
pg_buffercachepg_buffercache_numapg_buffercache_summary()pg_buffercache_usage_counts()pg_buffercache_evict()pg_buffercache_evict_relation()pg_buffercache_evict_all()crosstab y otras)SYSTEM_ROWS para TABLESAMPLESYSTEM_TIME para TABLESAMPLE
Este apéndice y el siguiente contienen información sobre los componentes
opcionales que se encuentran en el directorio contrib de la
distribución de PostgreSQL.
Estos incluyen herramientas de portabilidad, utilidades de análisis
y características de complementos (plug-ins) que no forman parte del núcleo del sistema de PostgreSQL.
Están separados principalmente porque se dirigen a un público limitado o son
demasiado experimentales para formar parte del árbol de fuentes principal.
Esto no impide su utilidad.
Este apéndice cubre las extensiones y otras bibliotecas de módulos de
complementos del servidor que se encuentran en contrib.
La Appendix G cubre los programas de utilidad.
Al compilar desde la distribución de fuentes, estos componentes opcionales no se compilan automáticamente, a menos que compiles el objetivo «world» (consulta la Step 2). Puedes compilar e instalar todos ellos ejecutando:
makemake install
en el directorio contrib de un árbol de fuentes configurado;
o para compilar e instalar solo un módulo seleccionado, haz lo mismo en el
subdirectorio de ese módulo.
Muchos de los módulos tienen pruebas de regresión, que se pueden ejecutar
ejecutando:
make check
antes de la instalación o
make installcheck
una vez que tengas un servidor de PostgreSQL en funcionamiento.
Si estás utilizando una versión empaquetada de PostgreSQL,
estos componentes suelen estar disponibles como un subpaquete separado,
como postgresql-contrib.
Muchos componentes suministran nuevas funciones, operadores o tipos definidos por el usuario, empaquetados como extensiones. Para hacer uso de una de estas extensiones, después de haber instalado el código, debes registrar los nuevos objetos SQL en el sistema de base de datos. Esto se hace ejecutando un comando CREATE EXTENSION. En una base de datos nueva, simplemente puedes hacer:
CREATE EXTENSION extension_name;
Este comando registra los nuevos objetos SQL únicamente en la base de datos actual,
por lo que debes ejecutarlo en cada base de datos en la que desees que estén
disponibles las utilidades de la extensión. Alternativamente, ejecútalo en la
base de datos template1 para que la extensión se copie de forma
predeterminada en las bases de datos creadas posteriormente.
Para todas las extensiones, el comando CREATE EXTENSION debe ser
ejecutado por un superusuario de la base de datos, a menos que la extensión se
considere “trusted” (de confianza). Las extensiones de confianza pueden
ser ejecutadas por cualquier usuario que tenga el privilegio CREATE
en la base de datos actual. Las extensiones que son de confianza se identifican
como tales en las secciones que siguen. Generalmente, las extensiones de confianza son
aquellas que no pueden proporcionar acceso a funcionalidades fuera de la base de datos.
Las siguientes extensiones son de confianza en una instalación predeterminada:
| btree_gin | fuzzystrmatch | ltree | tcn |
| btree_gist | hstore | pgcrypto | tsm_system_rows |
| citext | intarray | pg_trgm | tsm_system_time |
| cube | isn | seg | unaccent |
| dict_int | lo | tablefunc | uuid-ossp |
Muchas extensiones te permiten instalar sus objetos en el esquema de tu elección.
Para hacer eso, añade SCHEMA
al comando schema_nameCREATE EXTENSION. De forma predeterminada, los objetos
se colocarán en tu esquema de destino de creación actual, el cual a su vez tiene como
valor predeterminado public.
Ten en cuenta, sin embargo, que algunos de estos componentes no son “extensiones” en este sentido, sino que se cargan en el servidor de alguna otra manera, por ejemplo, mediante shared_preload_libraries. Consulta la documentación de cada componente para obtener más detalles.