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
- Trabajo con el entorno de vista previa de bases de datos
- Versión 17 de PostgreSQL en el entorno de vista previa de bases de datos
- Versiones de base de datos de PostgreSQL disponibles
- Versiones de extensiones de PostgreSQL compatibles
- Uso de las características de PostgreSQL admitidas por Amazon RDS para PostgreSQL
- Conexión a una instancia de base de datos que ejecuta el motor de base de datos de PostgreSQL
- Protección de conexiones a RDS for PostgreSQL con SSL/TLS
- Uso de la autenticación Kerberos con Amazon RDS para PostgreSQL
- Uso de un servidor de DNS personalizado para el acceso a la red de salida.
- Actualización del motor de base de datos de PostgreSQL para Amazon RDS
- Actualización de una versión del motor de instantáneas de base de datos de PostgreSQL
- Uso de réplicas de lectura para Amazon RDS para PostgreSQL
- Mejora del rendimiento de las consultas de RDS para PostgreSQL con lecturas optimizadas para Amazon RDS
- Importación de datos en PostgreSQL en Amazon RDS
- Exportación de datos de una de Amazon S3
- Invocar una función de AWS Lambda desde una instancia de base de datos de RDS for PostgreSQL
- Tareas comunes de los administradores de base de datos (DBA) para Amazon RDS para PostgreSQL
- Ajuste con eventos de espera de RDS para PostgreSQL
- Ajuste de RDS para PostgreSQL con información proactiva de Amazon DevOps Guru
- Uso de extensiones PostgreSQL con Amazon RDS para PostgreSQL
- Uso de los contenedores de datos externos compatibles para Amazon RDS for PostgreSQL
- Uso de Extensiones de lenguaje de confianza para PostgreSQL
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.
Área de la tarea | Documentación relacionada |
---|---|
Configuración de Amazon RDS para el primer uso Debe completar algunos requisitos previos antes de crear su instancia de base de datos. Por ejemplo, las instancias de base de datos se crean de manera predeterminada con un firewall que impide el acceso. Debe crear un grupo de seguridad con las direcciones IP y la configuración de red correctas para tener acceso a la instancia de base de datos. |
|
Descripción de las instancias de base de datos de Amazon RDS Si va a crear una instancia de base de datos con fines de producción, debe entender cómo funcionan en Amazon RDS las clases de instancia, los tipos de almacenamiento y las IOPS aprovisionadas. |
Clases de instancia de base de datos de |
Búsqueda de versiones disponibles de PostgreSQL Amazon RDS admite varias versiones de PostgreSQL. |
|
Configuración de la compatibilidad con alta disponibilidad y conmutación por error Una instancia de base de datos de producción debe usar implementaciones Multi-AZ. Las implementaciones Multi-AZ proporcionan unos niveles superiores de disponibilidad, durabilidad de los datos y tolerancia a errores para las instancias de base de datos. |
Configuración y administración de una implementación multi-AZ |
Descripción de la red de Amazon Virtual Private Cloud (VPC) Si su cuenta de AWS tiene una VPC predeterminada, la instancia de base de datos se creará automáticamente dentro de la VPC predeterminada. En algunos casos, su cuenta podría no tener una VPC predeterminada y es posible que quiera la instancia de base de datos en una VPC. En estos casos, cree los grupos de VPC y de subred antes de crear la instancia de base de datos. |
|
Importación de datos en PostgreSQL en Amazon RDS Puede usar varias herramientas diferentes para importar datos en su instancia de base de datos PostgreSQL en Amazon RDS. |
|
Configuración de réplicas de solo lectura (principales y en espera) RDS for PostgreSQL admite réplicas de lectura en la misma región de AWS y en una región de AWS distinta a la de la instancia principal. |
Trabajo con réplicas de lectura de instancias de base de datos Uso de réplicas de lectura para Amazon RDS para PostgreSQL Creación de una réplica de lectura en una Región de AWS distinta |
Descripción de los grupos de seguridad De manera predeterminada, las instancias de base de datos se crean con un firewall que impide el acceso a ellas. Para proporcionar acceso a través de ese firewall, edite las reglas de entrada para el grupo de seguridad asociado a la VPC que aloja la instancia de base de datos. |
|
Configuración de grupo de parámetros y características Para cambiar los parámetros predeterminados de la instancia de base de datos, cree un grupo de parámetros de base de datos personalizado y cambie la configuración en él. Si lo hace antes de crear la instancia de base de datos, puede elegir su grupo de parámetros de base de datos personalizado cuando crea la instancia. |
|
Conexión a la instancia de base de datos PostgreSQL Después de crear un grupo de seguridad y de asociarlo a una instancia de base de datos, puede conectarse a la instancia de base de datos usando cualquier aplicación cliente estándar de SQL, como |
Conexión a una instancia de base de datos que ejecuta el motor de base de datos de PostgreSQL |
Backup y restauración de una instancia de base de datos Puede configurar su instancia de base de datos para que realice backups automatizados o tomar snapshots manuales y restaurar después las instancias a partir de los backups o los snapshots. |
|
Monitorización de la actividad y el desempeño de una instancia de base de datos Puede monitorizar una instancia de base de datos PostgreSQL utilizando métricas, eventos y monitorización avanzada de CloudWatch Amazon RDS. |
|
Actualización de la versión de la base de datos de PostgreSQL Puede realizar actualizaciones principales y secundarias de su instancia de base de datos PostgreSQL. |
Actualización del motor de base de datos de PostgreSQL para Amazon RDS Elección de una actualización de versión principal para PostgreSQL |
Trabajo con archivos de registro Puede obtener acceso a los archivos de registro de su instancia de base de datos PostgreSQL. |
Archivos de registro de bases de datos de RDS para PostgreSQL |
Descripción de las prácticas recomendadas para las instancias de base de datos de PostgreSQL Consulte algunas de las prácticas recomendadas para trabajar con PostgreSQL en Amazon RDS. |
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:
-
Control del acceso de los usuarios a la base de datos de PostgreSQL
-
Uso de parámetros en su instancia de base de datos de RDS for PostgreSQL
-
Comprensión de los mecanismos de registro admitidos por RDS for PostgreSQL
-
Uso de autovacuum de PostgreSQL en Amazon RDS for PostgreSQL
-
Uso de un servidor de DNS personalizado para el acceso a la red de salida.
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
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
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
Elija Dashboard (Panel) en el panel de navegación.
-
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.
Puede navegar directamente a Database Preview Environment
. Antes de continuar, debe reconocer y aceptar las limitaciones. -
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
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
Para obtener más información sobre la política de obsolescencia de RDS for PostgreSQL, consulte Preguntas frecuentes de Amazon RDS
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
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
-
bool_plperl
-
jsonb_plperl
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.