Compartir a través de


Administración de extensiones de PostgreSQL

SE APLICA A: Azure Database for PostgreSQL con servidor flexible

El servidor flexible de Azure Database for PostgreSQL le permite ampliar la funcionalidad de la base de datos mediante extensiones. Las extensiones agrupan varios objetos SQL relacionados en un solo paquete que se puede cargar o quitar de la base de datos con un comando. Después de cargarse en la base de datos, las extensiones funcionan como características integradas.

Permitir extensiones

Antes de instalar extensiones en el servidor flexible de Azure Database for PostgreSQL, debe agregar a la lista de permitidos estas extensiones para su uso.

Mediante Azure Portal:

  1. Seleccione la instancia de servidor flexible de Azure Database for PostgreSQL.

  2. En el menú de recursos, en sección Configuración, seleccione Parámetros del servidor.

  3. Seleccione las extensiones que desea incluir en la lista de permitidas, de entre las disponibles en el parámetro azure.extensions, y seleccione Guardar.

    Recorte de pantalla de la lista de permitidos.

Cargar bibliotecas

shared_preload_libraries es un parámetro de configuración de servidor que determina qué bibliotecas deben cargarse cuando se inicia el servidor flexible de Azure Database for PostgreSQL. Las bibliotecas que usan memoria compartida deben cargarse a través de este parámetro. Si la extensión se debe agregar a las bibliotecas de precarga compartida, siga estos pasos:

Mediante Azure Portal:

  1. Seleccione la instancia de servidor flexible de Azure Database for PostgreSQL.

  2. En el menú de recursos, en sección Configuración, seleccione Parámetros del servidor.

  3. Incluya las bibliotecas que desea agregar en el valor de shared_preload_librariesy seleccione Guardar.

    Recorte de pantalla de la página Parámetros del servidor al establecer shared_preload_libraries.

  4. Dado que shared_preload_librarieses un parámetro de servidor estático, requiere un reinicio del servidor para que los cambios surtan efecto.

    Recorte de pantalla de la página Parámetros del servidor, en la que se muestra el cuadro de diálogo en el que puede guardar los cambios y reiniciar.

Creación de extensiones

Después de incluir una extensión en la lista de permitidas y, si la extensión lo requiere, también se agrega a shared_load_libraries, se puede crear o instalar en cada base de datos en la que se va a usar.

  1. Para crear una extensión, un usuario debe ser miembro del rol azure_pg_admin.

  2. Ejecute el comando CREATE EXTENSION para crear o instalar una extensión determinada. Este comando carga los objetos empaquetados en la base de datos.

Nota:

Las extensiones de terceros que se ofrecen en el servidor flexible de Azure Database for PostgreSQL tienen una licencia de código abierto. Actualmente, no ofrecemos extensiones de terceros ni versiones de extensiones con modelos de licencia premium o propietarios.

La instancia de servidor flexible de Azure Database for PostgreSQL admite un subconjunto de extensiones de PostgreSQL clave, como se muestra en extensiones admitidas por nombre o en extensiones admitidas por la versión de PostgreSQL. Esta información también está disponible al ejecutar SHOW azure.extensions;. Las extensiones no incluidas en esas listas no se admiten en el servidor flexible de Azure Database for PostgreSQL. No puede crear o cargar sus propias extensiones en el servidor flexible de Azure Database for PostgreSQL.

Anular extensiones

Para anular una extensión, primero asegúrese de agregarla a la lista de permitidas.

  1. Para anular una extensión, un usuario debe ser miembro del rol azure_pg_admin.

  2. Ejecute el comando DROP EXTENSION para anular o desinstalar una extensión determinada. Este comando quita los objetos empaquetados en la extensión de la base de datos.

Actualizar extensiones

Para actualizar una extensión instalada a la versión más reciente disponible compatible con Azure, use el siguiente comando SQL:

ALTER EXTENSION <extension_name> UPDATE;

Este comando simplifica la administración de extensiones de base de datos, ya que permite a los usuarios actualizar manualmente a la versión más reciente aprobada por Azure, lo que mejora la compatibilidad y la seguridad.

Limitaciones

Aunque la actualización de extensiones es sencilla, existen ciertas limitaciones:

  • Selección de una versión específica: el comando no admite la actualización a versiones intermedias de una extensión.

  • Cambio a una versión anterior: no admite el cambio de una extensión a una versión anterior. Si es necesario cambiar a una versión anterior, es posible que se necesite asistencia de soporte técnico y depende de la disponibilidad de la versión anterior.

Visualización de las extensiones instaladas

Para enumerar las extensiones instaladas actualmente en la base de datos, use el siguiente comando SQL:

SELECT * FROM pg_extension;

Errores posibles

La extensión "%s" no está permitida para los usuarios de "azure_pg_admin" en Azure Database for PostgreSQL

Este error se produce al ejecutar un comando CREATE EXTENSION o DROP EXTENSION que hace referencia a una extensión que no está incluida en la lista de permitidas o a una extensión que aún no es compatible con la instancia de Azure Database para un servidor flexible en la que se está ejecutando el comando.

Solo los miembros de "azure_pg_admin" pueden usar CREATE EXTENSION

Este error se produce cuando el usuario que ejecuta un comando CREATE EXTENSION no es miembro del rol azure_pg_admin.

Solo los miembros de "azure_pg_admin" pueden usar DROP EXTENSION

Este error se produce cuando el usuario que ejecuta un comando DROP EXTENSION no es miembro del rol azure_pg_admin.