Amazon RDS para PostgreSQL - Amazon Relational Database Service

Amazon RDS para PostgreSQL

Amazon RDS admite instancias de base de datos que ejecutan varias versiones de PostgreSQL. Para obtener una lista de las versiones disponibles, consulte Versiones de base de datos de PostgreSQL disponibles.

nota

Se prevé que para el 26 de abril de 2022 quede obsoleta la versión 9.6 de PostgreSQL. Para obtener más información, consulte La versión 9.6 de PostgreSQL queda obsoleta.

Puede crear instancias de base de datos e instantáneas de base de datos, restauraciones de un momento dado y backups. Las instancias de base de datos en las que se ejecuta PostgreSQL admiten implementaciones Multi-AZ, réplicas de lectura, IOPS aprovisionadas y se pueden crear dentro de una nube virtual privada (VPC). También puede utilizar la Capa de conexión segura (SSL) para conectarse a una instancia de base de datos en la que se ejecuta PostgreSQL.

Antes de crear una instancia de base de datos, debe completar los pasos que se describen en Configuración del entorno para Amazon RDS.

Puede usar cualquier aplicación cliente de SQL estándar para ejecutar comandos para la instancia desde su equipo cliente. Entre estas aplicaciones se incluyen pgAdmin, una conocida herramienta de administración y desarrollo de código abierto para PostgreSQL, o psql, una utilidad de línea de comando que forma parte de una instalación de PostgreSQL. Para ofrecer una experiencia de servicio administrado, Amazon RDS no proporciona acceso de host a las instancias de base de datos. También restringe el acceso a ciertos procedimientos y tablas del sistema que requieren privilegios avanzados. Amazon RDS permite el acceso a las bases de datos de una instancia de base de datos usando cualquier aplicación cliente de SQL estándar. Amazon RDS no permite el acceso directo de anfitrión a una instancia de base de datos mediante Telnet o Secure Shell (SSH).

Amazon RDS para PostgreSQL cumple muchos estándares del sector. Por ejemplo, puede utilizar las bases de datos de Amazon RDS para PostgreSQL para crear aplicaciones conformes con HIPAA y para almacenar información relacionada con la sanidad. Esto incluye el almacenamiento de información sanitaria protegida (PHI) en virtud de un Contrato de asociación empresarial (BAA) completado con AWS. Amazon RDS para PostgreSQL también cumple con los requisitos de seguridad del Programa federal de administración de riesgos y autorizaciones (FedRAMP). Amazon RDS para PostgreSQL ha recibido una autorización provisional para operar (P-ATO) de la Junta de Autorización Conjunta (JAB) de FedRAMP en la referencia FedRAMP HIGH dentro de las regiones de AWS GovCloud (US). Para obtener más información acerca de los estándares de conformidad admitidos, consulte Conformidad en la nube de AWS.

Para importar los datos de PostgreSQL en una instancia de base de datos, siga el procedimiento que se describe en la sección Importación de datos en PostgreSQL en Amazon RDS.

Temas

Tareas de administración comunes de Amazon RDS para PostgreSQL

A continuación se detallan las tareas de administración frecuentes que se realizan para una instancia de base de datos de Amazon RDS para PostgreSQL, con enlaces a la documentación relativa a cada tarea.

A continuación, se presenta una lista de otras secciones de esta guía que pueden ser útiles para comprender y utilizar las características importantes de RDS for PostgreSQL:

Trabajo con el entorno de vista previa de bases de datos

La comunidad de PostgreSQL lanza continuamente nuevas versiones y nuevas extensiones de PostgreSQL, incluso versiones beta. Esto ofrece a los usuarios de PostgreSQL la oportunidad de probar una nueva versión de PostgreSQL con antelación. Para obtener más información sobre el proceso de lanzamiento de la versión beta de la comunidad de PostgreSQL, consulte la información sobre la versión beta en la documentación de PostgreSQL. Del mismo modo, Amazon RDS ofrece algunas versiones beta de PostgreSQL como versiones preliminares. Esto le permite crear instancias de base de datos con la versión de vista previa y probar sus funciones en el entorno de vista previa de la base de datos.

Las instancias de base de datos de RDS para PostgreSQL en el entorno de vista previa de base de datos son funcionalmente similares a otras instancias de RDS para PostgreSQL. Sin embargo, no puede usar una versión de vista previa para la producción.

Tenga en cuenta las siguientes limitaciones importantes:

  • Todas las instancias de base de datos se eliminan 60 días después de crearlas, junto con las copias de seguridad e instantáneas.

  • Solo puede crear una instancia de base de datos en una Virtual Private Cloud (VPC) en función del servicio de Amazon VPC.

  • Solo puede utilizar almacenamiento SSD de uso general y SSD IOPS provisionadas.

  • No puede obtener ayuda de AWS Support con instancias de base de datos. En su lugar, puede publicar sus preguntas en la comunidad de preguntas y respuestas administrada de AWS, AWSre:Post.

  • No puede copiar una instantánea de una instancia de base de datos en un entorno de producción.

Las siguientes opciones son compatibles con la vista previa:

  • Puede crear instancias de base de datos únicamente con los tipos de instancia M6i, R6i, M6g, M5, T3, R6g y R5. Para obtener más información sobre las clases de instancias de RDS, consulte Clases de instancia de base de datos de .

  • Puede utilizar implementaciones Single-AZ y Multi-AZ.

  • Puede utilizar las funciones estándar de volcado y carga de PostgreSQL para exportar bases de datos desde o importar bases de datos hacia el entorno de la vista previa de base de datos.

Características no compatibles en el entorno de vista previa de bases de datos

Las siguientes características no están disponibles en el entorno de vista previa de bases de datos:

  • Copia de instantáneas entre regiones

  • Réplicas de lectura entre regiones

Creación de una nueva instancia de base de datos en el entorno de vista previa de bases de datos

Utilice el procedimiento siguiente para crear una instancia de base de datos en el entorno de vista previa.

Para crear una instancia de base de datos en el entorno de vista previa de bases de datos
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. Elija Dashboard (Panel) en el panel de navegación.

  3. En la página Dashboard (Panel), busque la sección Database Preview Environment (Entorno de vista previa de base de datos), tal como se muestra en la siguiente imagen.

    Sección de entorno de vista previa con el enlace que se muestra en la consola de RDS o el panel.

    Puede navegar directamente a Database Preview Environment. Antes de continuar, debe reconocer y aceptar las limitaciones.

    Diálogo de limitaciones del entorno de vista previa
  4. Para crear la instancia de base de datos de RDS para PostgreSQL, siga el mismo proceso que para crear cualquier instancia de base de datos de Amazon RDS. Para obtener más información, consulte el procedimiento Consola en Creación de una instancia de base de datos.

Para crear una instancia en el entorno de vista previa de base de datos mediante la API de RDS o la AWS CLI, utilice el siguiente punto de conexión.

rds-preview.us-east-2.amazonaws.com

Versión 17 de PostgreSQL en el entorno de vista previa de bases de datos

nota

Esta es la documentación preliminar de la versión 17 de Amazon RDS PostgreSQL. Está sujeta a cambios.

PostgreSQL versión 17 RC1 ya está disponible en el entorno de vista previa de bases de datos de Amazon RDS. La versión 17 RC1 de PostgreSQL contiene varias mejoras que se describen en la siguiente documentación de PostgreSQL: PostgreSQL 17 RC1 Released!

Para obtener información acerca del entorno de vista previa de base de datos, consulte Trabajo con el entorno de vista previa de bases de datos. Para acceder al entorno de vista previa desde la consola, seleccione https://console.aws.amazon.com/rds-preview/.

Versiones de base de datos de PostgreSQL disponibles

Amazon RDS admite instancias de base de datos que ejecutan varias ediciones de PostgreSQL. Puede especificar cualquier versión disponible actualmente de PostgreSQL cuando crea una nueva instancia de base de datos. Puede especificar la versión principal (como PostgreSQL 14) y cualquier versión secundaria disponible para la versión principal especificada. Si no se especifica ninguna versión, Amazon RDS cambia de forma predeterminada a una versión disponible, normalmente la más reciente. Si se especifica una versión principal pero no una versión secundaria, Amazon RDS usa de manera predeterminada una versión reciente de la versión principal especificada.

Para ver una lista de las versiones disponibles, así como de las versiones predeterminadas para instancias de bases de datos recién creadas, utilice el comando describe-db-engine-versions de la AWS CLI. Por ejemplo, para mostrar la versión predeterminada del motor PostgreSQL, utilice el siguiente comando:

aws rds describe-db-engine-versions --default-only --engine postgres

Para obtener más información sobre las versiones de PostgreSQL compatibles con Amazon RDS, consulte las notas de la versión de Amazon RDS para PostgreSQL.

Si no está preparado para realizar una actualización manual a una nueva versión principal del motor antes de la fecha de finalización del soporte estándar de RDS, Amazon RDS inscribirá automáticamente las bases de datos en el Soporte extendido de Amazon RDS después de la fecha de finalización del soporte estándar de RDS. Luego, puede seguir ejecutando RDS para PostgreSQL (versión 11 y posteriores). Para obtener más información, consulte Uso del soporte extendido de Amazon RDS y Precios de Amazon RDS.

La versión 10 de PostgreSQL queda obsoleta

El 17 de abril de 2022, Amazon RDS tiene previsto dar de baja PostgreSQL 10 conforme a la siguiente programación. Le recomendamos que tome medidas y actualice las bases de datos de PostgreSQL que se ejecutan en la versión principal 10 a una versión posterior, como la versión 14 de PostgreSQL. Para actualizar su instancia de base de datos de la versión 10 principal de RDS para PostgreSQL desde una versión de PostgreSQL anterior a la 10.19, le recomendamos que primero actualice a la versión 10.19 y, a continuación, a la versión 14. Para obtener más información, consulte Actualización del motor de base de datos de PostgreSQL para Amazon RDS.

Acción o recomendación Fechas

La comunidad de PostgreSQL prevé dejar de usar PostgreSQL 10 y no proporcionará ningún parche de seguridad después de esta fecha.

10 de noviembre de 2022

Comience a actualizar las instancias de base de datos de RDS para PostgreSQL 10 a una versión principal posterior, como PostgreSQL 14. Aunque puede continuar con la restauración de instantáneas de PostgreSQL 10 y la creación de réplicas de lectura con la versión 10, tenga en cuenta las otras fechas importantes en este calendario de bajas y su impacto

Hasta el 14 de febrero de 2023

Después de esta fecha, no podrá crear nuevas instancias de Amazon RDS con la versión principal 10 de PostgreSQL ni desde AWS Management Console o la AWS CLI.

14 de febrero de 2023

Después de esta fecha, Amazon RDS actualiza automáticamente las instancias de PostgreSQL 10 a la versión 14. Si restaura una instantánea de base de datos PostgreSQL 10, Amazon RDS actualiza automáticamente la base de datos restaurada a PostgreSQL 14.

17 de abril de 2023

Para obtener más información sobre la obsolescencia de la versión 10 de RDS para PostgreSQL, consulte [Announcement]: RDS for PostgreSQL 10 deprecation en AWS re:Post.

La versión 9.6 de PostgreSQL queda obsoleta

El 31 de marzo de 2022, Amazon RDS tiene previsto dar de baja PostgreSQL 9.6 conforme a la siguiente programación. Esto amplía la fecha previamente anunciada del 18 de enero de 2022 al 26 de abril de 2022. Se recomienda actualizar todas las instancias de base de datos PostgreSQL 9.6 a PostgreSQL 12 o posterior lo antes posible. Le recomendamos que primero actualice a la versión inferior 9.6.20 o posterior y luego actualice directamente a PostgreSQL 12 en lugar de actualizar a una versión posterior intermedia. Para obtener más información, consulte Actualización del motor de base de datos de PostgreSQL para Amazon RDS.

Acción o recomendación Fechas

La comunidad de PostgreSQL dejó de dar soporte a PostgreSQL 9.6 y ya no proporcionará correcciones de errores ni revisiones de seguridad para esta versión.

11 de noviembre de 2021

Comience a actualizar las instancias de base de datos de RDS for PostgreSQL 9.6 a PostgreSQL 12 o posterior lo antes posible. Aunque puede continuar con la restauración de instantáneas de PostgreSQL 9.6 y la creación de réplicas de lectura con la versión 9.6, tenga en cuenta las otras fechas importantes en este calendario de bajas y su impacto

Hasta el 31 de marzo de 2022

Después de esta fecha, no podrá crear nuevas instancias de Amazon RDS con la versión principal 9.6 de PostgreSQL ni desde AWS Management Console o la AWS CLI.

31 de marzo de 2022

Después de esta fecha, Amazon RDS actualiza automáticamente las instancias de PostgreSQL 9.6 a la versión 12. Si restaura una instantánea de base de datos PostgreSQL 9.6, Amazon RDS actualiza automáticamente la base de datos restaurada a PostgreSQL 12.

26 de abril de 2022

Versiones obsoleta para Amazon RDS for PostgreSQL

RDS for PostgreSQL 9.5 quedará obsoleto a partir de marzo de 2021. Para obtener más información sobre la obsolescencia de RDS for PostgreSQL 9.5, consulte Upgrading from Amazon RDS for PostgreSQL version 9.5 (Actualización de la versión 9.5 de Amazon RDS para PostgreSQL).

Para obtener más información sobre la política de obsolescencia de RDS for PostgreSQL, consulte Preguntas frecuentes de Amazon RDS Para obtener más información sobre las versiones de PostgreSQL, consulte Política de control de versiones en la documentación de PostgreSQL.

Versiones de extensiones de PostgreSQL compatibles

RDS for PostgreSQL admite muchas extensiones de PostgreSQL. La comunidad de PostgreSQL a veces se refiere a estos como módulos. Las extensiones amplían la funcionalidad proporcionada por el motor PostgreSQL. Puede encontrar una lista de las extensiones admitidas por Amazon RDS en el grupo de parámetros de base de datos predeterminado de esa versión de PostgreSQL. También puede ver la lista de extensiones actuales que usan psql mostrando el parámetro rds.extensions como en el siguiente ejemplo.

SHOW rds.extensions;
nota

Los parámetros añadidos en una versión secundaria pueden mostrarse de manera incorrecta cuando se utiliza el parámetro rds.extensions en psql.

A partir de RDS para PostgreSQL 13, ciertas extensiones pueden instalarlas usuarios de bases de datos que no sean rds_superuser. Esto se conoce como extensiones de confianza. Para obtener más información, consulte Extensiones de confianza de PostgreSQL.

Ciertas versiones de RDS para PostgreSQL admiten el parámetro rds.allowed_extensions. Este parámetro permite que un rds_superuser limite las extensiones que se pueden instalar en la instancia de base de datos de RDS para PostgreSQL. Para obtener más información, consulte Restringir la instalación de extensiones de PostgreSQL.

Para obtener una lista de las extensiones y versiones de PostgreSQL compatibles con cada versión disponible de RDS para PostgreSQL, consulte Extensiones de PostgreSQL admitidas en Amazon RDS en las Notas de la versión de Amazon RDS para PostgreSQL.

Restringir la instalación de extensiones de PostgreSQL

Puede restringir qué extensiones se pueden instalar en una instancia de base de datos de PostgreSQL. De forma predeterminada, este parámetro no está configurado, por lo que se puede agregar cualquier extensión compatible si el usuario tiene permisos para hacerlo. Para ello, establezca el parámetro rds.allowed_extensions en una cadena de nombres de extensión separados por comas. Al agregar una lista de extensiones a este parámetro, identifica explícitamente las extensiones que puede utilizar su instancia de base de datos de RDS para PostgreSQL. Solo estas extensiones se pueden instalar en la instancia de base de datos de PostgreSQL.

La cadena predeterminada para el parámetro rds.allowed_extensions es '*', lo que significa que se puede instalar cualquier extensión disponible para la versión del motor. Cambiar el parámetro rds.allowed_extensions no requiere un reinicio de la base de datos porque es un parámetro dinámico.

El motor de instancia de base de datos de PostgreSQL debe ser una de las siguientes versiones para que pueda utilizar el parámetro:rds.allowed_extensions

  • Todas las versiones de PostgreSQL 16

  • PostgreSQL 15 y todas las versiones posteriores

  • PostgreSQL 14 y todas las versiones posteriores

  • PostgreSQL 13.3 y versiones secundarias posteriores

  • PostgreSQL 12.7 y versiones secundarias posteriores

Para ver qué instalaciones de extensión están permitidas, utilice el siguiente comando psql.

postgres=> SHOW rds.allowed_extensions; rds.allowed_extensions ------------------------ *

Si se instaló una extensión antes de dejarla fuera de la lista en el parámetro rds.allowed_extensions, la extensión todavía se puede utilizar normalmente y comandos como ALTER EXTENSION y DROP EXTENSION continuarán funcionando. Sin embargo, una vez restringida una extensión, los comandos CREATE EXTENSION de la extensión restringida fallarán.

La instalación de dependencias de extensión con CREATE EXTENSION CASCADE también están restringidas. La extensión y sus dependencias deben especificarse en rds.allowed_extensions. Si falla una instalación de dependencia de extensión, se producirá un error en toda la instrucción CREATE EXTENSION CASCADE.

Si no se incluye una extensión con el parámetro rds.allowed_extensions, verá un error como el siguiente si intenta instalarla.

ERROR: permission denied to create extension "extension-name" HINT: This extension is not specified in "rds.allowed_extensions".

Extensiones de confianza de PostgreSQL

Para instalar la mayoría de las extensiones de PostgreSQL requiere privilegios de rds_superuser. PostgreSQL 13 presentó extensiones de confianza, que reducen la necesidad de conceder privilegios rds_superuser a los usuarios normales. Con esta característica, los usuarios pueden instalar muchas extensiones si tienen el privilegio de CREATE en la base de datos actual en lugar de requerir el rol de rds_superuser. Para obtener más información, consulte el comando de SQL CREATE EXTENSION en la documentación de PostgreSQL.

A continuación se enumeran las extensiones que puede instalar un usuario que tiene el privilegio de CREATE en la base de datos actual y no requieren el rol de:rds_superuser

Para obtener una lista de las extensiones y versiones de PostgreSQL compatibles con cada versión disponible de RDS para PostgreSQL, consulte Extensiones de PostgreSQL admitidas en Amazon RDS en las Notas de la versión de Amazon RDS para PostgreSQL.