Extensiones
Mira las extensiones de PostgreSQL instaladas y disponibles, e instálalas, actualízalas o elimínalas con lo que necesita cada una. Edición Studio.
Abrirlas#
En la edición Studio, pasa a Avanzado y elige Extensiones en la barra lateral. Filtrar extensiones acota las dos listas por nombre.
Instaladas#
Cada extensión instalada enseña su versión y su esquema. Si el servidor tiene una versión más nueva, salen las dos, como 1.4 → 1.8, y Actualizar ejecuta ALTER EXTENSION … UPDATE hasta la versión por defecto del servidor.
Disponibles#
Las extensiones que tiene el servidor y esta base no usa, con su versión por defecto y su descripción. Primero van las populares, marcadas Popular: pg_stat_statements, pgcrypto, pg_trgm, postgis, vector, uuid-ossp, citext y hstore.
Lo que puede ofrecer el servidor depende de su imagen. La imagen oficial postgres trae las extensiones de contrib (pgcrypto, pg_trgm, hstore…); otras, como postgis o vector, necesitan una imagen que las incluya.
Instalar abre la revisión. Puedes elegir el Esquema donde instalarla o dejar Esquema por defecto. Gresbase avisa cuando:
- La extensión necesita otras que no están instaladas. Añade
CASCADE, que las instala también. - Necesita
shared_preload_libraries. Se instala, pero no funcionará hasta que el servidor la cargue y se reinicie.
Extensiones que necesitan precarga#
Algunas extensiones solo funcionan si el servidor las carga al arrancar. Gresbase las marca con requiere precarga: pg_stat_statements, pg_cron, timescaledb, citus, pgaudit, pg_squeeze, pg_wait_sampling, pg_qualstats, pg_stat_kcache, pglogical, pg_partman_bgw y pg_prewarm. PostgreSQL no dice qué extensiones lo necesitan, así que es una lista conocida.
Añade la biblioteca a shared_preload_libraries y reinicia PostgreSQL. Con la imagen postgres en Compose:
services:
db:
image: postgres:17
command: ["postgres", "-c", "shared_preload_libraries=pg_stat_statements"]Leer shared_preload_libraries necesita pg_read_all_settings (o superusuario). Sin eso, Gresbase no sabe qué está cargado y avisa siempre.
Eliminar#
Eliminar lista lo que depende de la extensión fuera de ella misma: otras extensiones que la necesitan y objetos como columnas que usan sus tipos. Si algo depende de ella, tienes que marcar Eliminarlos también (CASCADE), que elimina esos objetos con ella. Confirmas escribiendo el nombre de la extensión.
CASCADE elimina columnas con sus datos. Lee la lista antes de confirmar.
Permisos#
- Un superusuario puede instalar cualquier extensión que tenga el servidor.
- Los demás roles pueden instalar extensiones de confianza (PostgreSQL 13 y posteriores) si tienen
CREATEen la base. Gresbase lo explica encima de la lista y marca el resto con requiere superusuario. - Sin superusuario ni
CREATEen la base, las extensiones se ven, pero no se instalan. - Para actualizar o eliminar una extensión hay que ser su dueño (o superusuario).
En modo solo lectura las listas se ven y no se puede instalar, actualizar ni eliminar nada. Mira también Seguridad y red.