Amazon RDS para PostgreSQL - Amazon Relational Database Service

Amazon RDS para PostgreSQL

O Amazon RDS oferece suporte a instâncias de banco de dados executando várias versões do PostgreSQL. Para obter uma lista das versões disponíveis, consulte Versões disponíveis do banco de dados PostgreSQL.

nota

A descontinuação do PostgreSQL 9.6 está agendada para 26 de abril de 2022. Para obter mais informações, consulte Descontinuação do PostgreSQL versão 9.6.

Você pode criar instâncias de banco de dados e snapshot de banco de dados, além de restaurações e backup pontuais. As instâncias de banco de dados que executam o PostgreSQL oferecem suporte a implantações multi-AZ, réplicas de leitura, IOPS provisionadas e podem ser criadas dentro de uma nuvem privada virtual (VPC). Você também pode usar o Secure Socket Layer (SSL) para conectar-se a uma instância de banco de dados executando PostgreSQL.

Antes de criar uma instância de banco de dados, conclua as etapas em Configuração do Amazon RDS.

Você pode usar qualquer aplicação cliente padrão SQL para executar comandos para a instância no computador do cliente. Dentre essas aplicações, estão pgAdmin, uma ferramenta popular de administração e de desenvolvimento de código aberto para PostgreSQL, ou o psql, um utilitário de linha de comando que faz parte da instalação do PostgreSQL. Para oferecer uma experiência de serviço gerenciada, o Amazon RDS não fornece acesso ao host para as instâncias de banco de dados. Ele também restringe o acesso a determinados procedimentos e tabelas do sistema que exigem privilégios avançados. O Amazon RDS oferece suporte a acesso a bancos de dados em uma instância de banco de dados que usa qualquer aplicação cliente SQL padrão. O Amazon RDS não permite o acesso direto do host a uma instância de banco de dados usando Telnet ou Secure Shell (SSH).

O Amazon RDS para PostgreSQL é compatível com vários padrões do setor. Por exemplo, você pode usar os bancos de dados do Amazon RDS para PostgreSQL para criar aplicativos em conformidade com a HIPAA e para armazenar informações relacionadas à saúde. Isso inclui o armazenamento de informações de saúde protegidas sob um Business Associate Agreement (BAA – Acordo de Associação Comercial) concluído com a AWS. O Amazon RDS para PostgreSQL também atende aos requisitos de segurança do Federal Risk and Authorization Management Program (FedRAMP). O Amazon RDS para PostgreSQL recebeu uma autoridade provisória da Joint Authorization Board (JAB) da FedRAMP para operar (P-ATO) na linha de base ALTA da FedRAMP nas regiões da AWS GovCloud (US). Para obter mais informações sobre padrões de conformidade com suporte, consulte Conformidade da nuvem AWS.

Para importar os dados PostgreSQL em uma instância de banco de dados, siga as informações na seção Como importar dados no PostgreSQL do Amazon RDS.

Tópicos

Tarefas comuns de gerenciamento do Amazon RDS para PostgreSQL

Estas são tarefas de gerenciamento comuns que você executa com uma instância de banco de dados do Amazon RDS para PostgreSQL, com links para documentação relevante de cada tarefa.

Veja a seguir uma lista de outras seções deste guia que podem ajudar você a entender e usar recursos importantes do RDS para PostgreSQL:

Trabalhar com o ambiente de visualização de banco de dados

A comunidade do PostgreSQL lança novas versões e novas extensões do PostgreSQL continuamente. Isso dá aos usuários do PostgreSQL a oportunidade de experimentar uma nova versão do PostgreSQL mais cedo. Para saber mais sobre o processo de lançamento beta da comunidade do PostgreSQL, consulte Beta Information (Informações sobre a versão beta) na documentação do PostgreSQL. Da mesma forma, o Amazon RDS disponibiliza determinadas versões beta do PostgreSQL como versões prévias. Isso permite que você crie instâncias de banco de dados usando a versão prévia e teste seus recursos no ambiente de visualização do banco de dados.

As instâncias de banco de dados do RDS para PostgreSQL no Database Preview Environment são semelhantes às outras instâncias do RDS para PostgreSQL em termos de funcionalidade. No entanto, você não pode usar uma versão prévia para produção.

Lembre-se das seguintes limitações importantes:

  • Todas as instâncias de banco de dados são excluídas 60 dias após serem criadas, juntamente com backups e snapshots.

  • Só é possível criar uma instância de banco de dados em uma virtual private cloud (VPC) com base no serviço da Amazon VPC.

  • Você só pode usar o SSD de uso geral e o armazenamento em SSD IOPS provisionadas.

  • Você não pode obter ajuda do AWS Support com instâncias de banco de dados. Em vez disso, você pode postar suas perguntas na comunidade de perguntas e respostas gerenciadas do AWS, AWSre:Post.

  • Não é possível copiar um snapshot de uma instância de banco de dados para um ambiente de produção.

As opções a seguir são compatíveis com a visualização.

  • Você só pode criar instâncias de banco de dados com o uso dos tipos M6i, R6i, M6g, M5, T3, R6g e R5. Para obter mais informações sobre as classes de instância do RDS, consulte Classes de instância de banco de dados .

  • Você pode usar implantações single-AZ e multi-AZ.

  • Você pode usar funções padrão de despejo e carregamento do PostgreSQL para exportar ou importar bancos de dados para o Database Preview Environment.

Atributos não compatíveis com o ambiente de visualização de banco de dados

Os atributos a seguir não estão disponíveis no ambiente de visualização de banco de dados:

  • Cópia de snapshots entre regiões

  • Réplicas de leitura entre regiões

Criar uma nova instância de banco de dados no ambiente de visualização de banco de dados

Use o procedimento a seguir para criar uma instância de banco de dados no ambiente de visualização.

Para criar uma instância de banco de dados no ambiente de visualização de banco de dados
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. Escolha Dashboard (Painel) no painel de navegação.

  3. Na página Dashboard (Painel), localize a seção Database Preview Environment (Ambiente de visualização do banco de dados) na página Dashboard (Painel), conforme mostrado na imagem a seguir.

    Seção de visualização do ambiente com link exibido no console do RDS, painel

    Você também pode navegar diretamente para o Ambiente de visualização do banco de dados. Antes de continuar, você deve reconhecer e aceitar as limitações.

    Caixa de diálogo Preview environment limitations (Limitações do ambiente de visualização)
  4. Para criar a instância de banco de dados do RDS para PostgreSQL, siga o mesmo processo de criação de qualquer instância de banco de dados do Amazon RDS. Para obter mais informações, consulte o procedimento Console em Criar uma instância de banco de dados.

Para criar uma instância no ambiente de visualização do banco de dados usando a API do RDS ou a AWS CLI, use o endpoint a seguir.

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

PostgreSQL versão 17 no Ambiente de Pré-visualização do Banco de Dados

Esta é a documentação prévia do Amazon RDS PostgreSQL versão 17. Está sujeita a alteração.

O PostgreSQL versão 17 Beta 1 já está disponível no Ambiente de Pré-visualização do Banco de Dados do Amazon RDS. O PostgreSQL versão 17 Beta 1 contém várias melhorias que estão descritas na seguinte documentação do PostgreSQL: PostgreSQL 17 Beta 1 Released!

Para obter informações sobre o ambiente de visualização de banco de dados, consulte Trabalhar com o ambiente de visualização de banco de dados. Para acessar o ambiente de visualização do console, selecione https://console.aws.amazon.com/rds-preview/.

PostgreSQL versão 16 no ambiente de visualização do banco de dados

Esta é a documentação prévia do Amazon RDS PostgreSQL versão 16. Está sujeita a alteração.

nota

Haverá suporte para as versões 16 RC1, 16 Beta 3, 16 Beta 2 e 16 Beta 1 do RDS para PostgreSQL após o lançamento do RDS para PostgreSQL versão 16.0 no ambiente de visualização de banco de dados.

O PostgreSQL versão 16.0 já está disponível no ambiente de visualização de banco de dados Amazon RDS. O PostgreSQL versão 16 contém várias melhorias que estão descritas na seguinte documentação do PostgreSQL:

Para obter informações sobre o ambiente de visualização de banco de dados, consulte Trabalhar com o ambiente de visualização de banco de dados. Para acessar o ambiente de visualização do console, selecione https://console.aws.amazon.com/rds-preview/.

Versões disponíveis do banco de dados PostgreSQL

O Amazon RDS oferece suporte a instâncias de banco de dados executando várias edições do PostgreSQL. Você pode especificar qualquer versão do PostgreSQL disponível atualmente ao criar uma nova instância de banco de dados. Você pode especificar a versão principal (como o PostgreSQL 14) e qualquer versão secundária disponível para a versão principal especificada. Se nenhuma versão for especificada, o Amazon RDS usará uma versão disponível por padrão, geralmente a versão mais recente. Se uma versão principal for especificada, mas uma versão secundária não, o Amazon RDS usará por padrão um lançamento recente da versão principal que você especificou.

Para ver uma lista de versões disponíveis, bem como os padrões para instâncias de banco de dados recém-criadas, use o comando da AWS CLI describe-db-engine-versions. Por exemplo, para exibir a versão padrão do mecanismo PostgreSQL, use o seguinte comando:

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

Para obter detalhes sobre as versões do PostgreSQL compatíveis com o Amazon RDS, consulte “Amazon RDS for PostgreSQL Release Notes” (Notas de lançamento do Amazon RDS para PostgreSQL).

Se ainda não estiver tudo pronto para fazer upgrade manualmente para uma nova versão do mecanismo principal antes da data de término do suporte padrão do RDS, o Amazon RDS inscreverá automaticamente seus bancos de dados no Suporte estendido do Amazon RDS após a data de término do suporte padrão do RDS. Assim, você poderá continuar executando o RDS para PostgreSQL versão 11 e posterior. Para obter mais informações, consulte Usar o suporte estendido do Amazon RDS e Preço do Amazon RDS.

Descontinuação do PostgreSQL versão 10

Em 17 de abril de 2023, o Amazon RDS planeja descontinuar o PostgreSQL 10 utilizando a programação a seguir. Recomendamos que você tome medidas e atualize seus bancos de dados do PostgreSQL em execução na versão principal 10 para uma versão posterior, como a versão 14 do PostgreSQL. Para atualizar sua instância de banco de dados da versão principal 10 do RDS para PostgreSQL de uma versão do PostgreSQL anterior à 10.19, recomendamos primeiro atualizar para a versão 10.19 e depois atualizar para a versão 14. Para obter mais informações, consulte Atualizar o mecanismo de banco de dados PostgreSQL para Amazon RDS.

Ação ou recomendação Datas

A comunidade do PostgreSQL planeja descontinuar o PostgreSQL 10 e não fornecerá nenhum patch de segurança após essa data.

10 de novembro de 2022

Comece a atualizar as instâncias de banco de dados do RDS para PostgreSQL 10 para uma versão principal posterior, como o PostgreSQL 14. Embora você possa continuar a restaurar snapshots do PostgreSQL 10 e criar réplicas de leitura com a versão 10, esteja ciente das outras datas críticas nesta programação de descontinuação e seu impacto.

Até 14 de fevereiro de 2023

Após essa data, você não poderá criar instâncias do Amazon RDS com a versão principal 10 do PostgreSQL no AWS Management Console nem na AWS CLI.

14 de fevereiro de 2023

Depois dessa data, o Amazon RDS atualiza automaticamente as instâncias do PostgreSQL 10 para a versão 14. Se você restaurar um snapshot do banco de dados PostgreSQL 10, o Amazon RDS atualizará automaticamente o banco de dados restaurado para o PostgreSQL 14.

17 de abril de 2023

Para obter mais informações sobre a descontinuação do RDS para PostgreSQL versão 10, consulte [Announcement]: RDS for PostgreSQL 10 deprecation ([Anúncio]: Descontinuação do RDS para PostgreSQL 10) em AWS re:Post.

Descontinuação do PostgreSQL versão 9.6

Em 31 de março de 2022, o Amazon RDS planeja descontinuar o PostgreSQL 9.6 usando a programação a seguir. Isso estende a data anunciada anteriormente de 18 de janeiro de 2022 a 26 de abril de 2022. Você deve atualizar todas as instâncias de banco de dados do PostgreSQL 9.6 para PostgreSQL 12 ou posterior o mais rápido possível. Recomendamos que você primeiro atualize para a versão secundária 9.6.20 ou posterior e depois atualize diretamente para o PostgreSQL 12 em vez de atualizar para uma versão principal intermediária. Para obter mais informações, consulte Atualizar o mecanismo de banco de dados PostgreSQL para Amazon RDS.

Ação ou recomendação Datas

A comunidade do PostgreSQL descontinuou o suporte ao PostgreSQL 9.6 e não fornecerá mais correções de bugs ou patches de segurança para esta versão.

11 de novembro de 2021

Atualize as instâncias de banco de dados do RDS para PostgreSQL 9.6 para PostgreSQL 12 ou posterior o mais rápido possível. Embora você possa continuar a restaurar snapshots do PostgreSQL 9.6 e criar réplicas de leitura com a versão 9.6, esteja ciente das outras datas críticas nesta programação de descontinuação e seu impacto.

Até 31 de março de 2022

Após essa data, você não poderá criar instâncias do Amazon RDS com a versão principal do PostgreSQL 9.6 no AWS Management Console ou na AWS CLI.

31 de março de 2022

Depois dessa data, o Amazon RDS atualiza automaticamente as instâncias do PostgreSQL 9.6 para a versão 12. Se você restaurar um snapshot do banco de dados PostgreSQL 9.6, o Amazon RDS atualizará automaticamente o banco de dados restaurado para o PostgreSQL 12.

26 de abril de 2022

Versões obsoletas do Amazon RDS for PostgreSQL

O RDS para PostgreSQL 9.5 será descontinuado a partir de março de 2021. Para obter mais informações sobre a descontinuação do RDS para PostgreSQL 9.5, consulte Atualizar o Amazon RDS for PostgreSQL versão 9.5.

Para saber mais sobre a política de descontinuação do RDS para PostgreSQL, consulte Perguntas frequentes sobre o Amazon RDS. Para obter mais informações sobre as versões do PostgreSQL, consulte Versionamento de política na documentação do PostgreSQL.

Versões de extensões do PostgreSQL compatíveis

O RDS para PostgreSQL é compatível com várias extensões do PostgreSQL. A comunidade PostgreSQL às vezes se refere a elas como módulos. Extensões expandem a funcionalidade fornecida pelo mecanismo PostgreSQL. Você pode encontrar uma lista de extensões às quais o Amazon RDS oferece suporte no grupo de parâmetros de banco de dados padrão para essa versão do PostgreSQL. Você também pode ver a lista de extensões atuais que usam o psql exibindo o parâmetro rds.extensions conforme o exemplo a seguir.

SHOW rds.extensions;
nota

Os parâmetros adicionados em uma versão secundária podem ser exibidos incorretamente ao usar o parâmetro rds.extensions em psql.

A partir do RDS para PostgreSQL 13, determinadas extensões podem ser instaladas por usuários do banco de dados que não sejam o rds_superuser. Elas são conhecidas como extensões confiáveis. Para saber mais, consulte Extensões confiáveis do PostgreSQL.

Determinadas versões do RDS para PostgreSQL oferecem suporte ao parâmetro rds.allowed_extensions. Esse parâmetro permite que um rds_superuser limite as extensões que podem ser instaladas na instância de banco de dados do RDS para PostgreSQL. Para obter mais informações, consulte Restringir a instalação de extensões do PostgreSQL.

Para listas das versões e extensões do PostgreSQL compatíveis com cada versão disponível do RDS para PostgreSQL, consulte “PostgreSQL extensions supported on Amazon RDS” (Extensões do PostgreSQL compatíveis com o Amazon RDS) em “Amazon RDS for PostgreSQL Release Notes” (Notas de lançamento do Amazon RDS para PostgreSQL).

Restringir a instalação de extensões do PostgreSQL

Você pode restringir quais extensões podem ser instaladas em uma instância de banco de dados PostgreSQL. Por padrão, esse parâmetro não está definido, portanto, qualquer extensão compatível pode ser adicionada se o usuário tiver permissões para isso. Para fazer isso, defina o parâmetro rds.allowed_extensions para uma string de nomes de extensão separados por vírgulas. Ao adicionar uma lista de extensões a esse parâmetro, você identifica explicitamente as extensões que a instância de banco de dados do RDS para PostgreSQL pode usar. Somente essas extensões podem ser instaladas na instância de banco de dados PostgreSQL.

A string padrão para o rds.allowed_extensions parâmetro é '*', o que significa que qualquer extensão disponível para a versão do motor pode ser instalada. Alterar o parâmetro rds.allowed_extensions não requer uma reinicialização do banco de dados porque é um parâmetro dinâmico.

O mecanismo de instância de banco de dados PostgreSQL deve ser uma das seguintes versões para você usar o parâmetro rds.allowed_extensions:

  • Todas as versões 16 do PostgreSQL

  • PostgreSQL 15 e todas as versões posteriores

  • PostgreSQL 14 e todas as versões posteriores

  • PostgreSQL 13.3 e versões secundárias posteriores

  • PostgreSQL 12.7 e versões secundárias posteriores

Para ver quais instalações de extensão são permitidas, use o comando psql a seguir.

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

Se uma extensão foi instalada antes de ser deixada de fora da lista no parâmetro rds.allowed_extensions, a extensão ainda pode ser usada normalmente, e comandos como ALTER EXTENSION e DROP EXTENSION continuarão a funcionar. No entanto, depois que uma extensão é restrita, CREATE EXTENSION os comandos para a extensão restrita falharão.

Instalação de dependências de extensão com CREATE EXTENSION CASCADE também são restritas. A extensão e suas dependências devem ser especificadas em rds.allowed_extensions. Se uma instalação de dependência de extensão falhar, a instrução CREATE EXTENSION CASCADE inteira falhará.

Se uma extensão não estiver incluída no parâmetro rds.allowed_extensions, você verá um erro como o mostrado a seguir, caso tente instalá-la.

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

Extensões confiáveis do PostgreSQL

Para instalar a maioria das extensões do PostgreSQL são necessários privilégios de rds_superuser. O PostgreSQL 13 introduziu as extensões confiáveis, o que reduz a necessidade de privilégios de rds_superuser para usuários comuns. Com esse recurso, os usuários podem instalar diversas extensões, se tiverem o privilégio CREATE no banco de dados atual, em vez de precisarem ter a função rds_superuser. Para obter mais informações, consulte o comando SQL CREATE EXTENSION na documentação do PostgreSQL.

A seguir listamos as extensões que podem ser instaladas por um usuário que tem o privilégio CREATE no banco de dados atual e não necessitam da função rds_superuser:

Para listas das versões e extensões do PostgreSQL compatíveis com cada versão disponível do RDS para PostgreSQL, consulte “PostgreSQL extensions supported on Amazon RDS” (Extensões do PostgreSQL compatíveis com o Amazon RDS) em “Amazon RDS for PostgreSQL Release Notes” (Notas de lançamento do Amazon RDS para PostgreSQL).