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 ambiente 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
- Trabalhar com o ambiente de visualização de banco de dados
- PostgreSQL versão 17 no Ambiente de Pré-visualização do Banco de Dados
- Versões disponíveis do banco de dados PostgreSQL
- Versões de extensões do PostgreSQL compatíveis
- Trabalhar com recursos do PostgreSQL compatíveis com o Amazon RDS para PostgreSQL
- Conectar a uma instância de banco de dados executando o mecanismo de banco de dados do PostgreSQL
- Proteger conexões com o RDS para PostgreSQL com SSL/TLS
- Usar a autenticação Kerberos com o Amazon RDS para PostgreSQL
- Usar um servidor DNS personalizado para acesso à rede de saída
- Atualizar o mecanismo de banco de dados PostgreSQL para Amazon RDS
- Atualizar uma versão do mecanismo de snapshot de banco de dados PostgreSQL
- Trabalhar com réplicas de leitura do Amazon RDS para PostgreSQL
- Melhorar a performance das consultas para o RDS para PostgreSQL com leituras otimizadas pelo Amazon RDS
- Como importar dados no PostgreSQL do Amazon RDS
- Exportar dados de uma instância de banco de dados do RDS para PostgreSQL para o Amazon S3
- Invocar uma função do AWS Lambda de uma instância de banco de dados do RDS for PostgreSQL
- Tarefas comuns de DBA do Amazon RDS para PostgreSQL
- Ajustar com eventos de espera do RDS para PostgreSQL
- Ajustar o RDS para PostgreSQL com insights proativos do Amazon DevOps Guru
- Usar extensões PostgreSQL com o Amazon RDS para PostgreSQL
- Trabalhar com os invólucros de dados externos compatíveis do Amazon RDS for PostgreSQL
- Trabalhar com Trusted Language Extensions para PostgreSQL
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.
Área de tarefa | Documentação relevante |
---|---|
Configuração do Amazon RDS para o primeiro uso Antes de criar sua instância de banco de dados, certifique-se de concluir alguns pré-requisitos. Por exemplo, as instâncias de banco de dados são criadas por padrão com um firewall que impede acessá-las. Então é necessário criar um grupo de segurança com os endereços IP corretos e uma configuração de rede para acessar a instância de banco de dados. |
|
Noções básicas sobre instâncias de banco de dados do Amazon RDS Se você estiver criando uma instância de banco de dados para fins de produção, deve entender como classes de instâncias, tipos de armazenamento e IOPS provisionadas funcionam no Amazon RDS. |
Classes de instância de banco de dados do |
Encontrar versões disponíveis do PostgreSQL O Amazon RDS oferece suporte a várias versões do PostgreSQL. |
|
Configuração do suporte à alta disponibilidade e failover Uma instância de banco de dados de produção deve usar implantações multi-AZ. As implantações multi-AZ oferecem maior disponibilidade, durabilidade de dados e tolerância a falhas para instâncias de banco de dados. |
|
Noções básicas sobre a rede da Amazon Virtual Private Cloud (VPC) Se a sua conta AWS tiver uma VPC padrão, a instância de banco de dados será criada automaticamente dentro da VPC padrão. Em alguns casos, sua conta pode não ter uma VPC padrão e você pode querer uma instância de banco de dados em uma VPC. Nesses casos, crie a VPC e os grupos de sub-redes antes de criar a instância de banco de dados. |
|
Importar dados para o PostgreSQL do Amazon RDS Você pode usar várias ferramentas diferentes para importar os dados para sua instância de banco de dados PostgreSQL no Amazon RDS. |
|
Configurar réplicas de leitura somente leitura (primárias e em espera) O RDS para PostgreSQL oferece suporte às réplicas de leitura na mesma região da AWS e em uma região da AWS diferente da instância primária. |
Trabalhar com réplicas de leitura de instância de banco de dados Trabalhar com réplicas de leitura do Amazon RDS para PostgreSQL |
Noções básicas sobre grupos de segurança Por padrão, as instâncias de banco de dados são criadas com um firewall que impede o acesso a elas. Para fornecer acesso por meio desse firewall, você edita as regras de entrada do grupo de segurança de VPC associado à VPC que hospeda a instância de banco de dados. |
|
Configuração de grupos de parâmetros e recursos Para alterar os parâmetros padrão para sua instância de banco de dados, crie um grupo de parâmetros de banco de dados personalizado e altere as configurações dele. Se você fizer isso antes de criar sua instância de banco de dados, é possível escolher seu grupo de parâmetros de banco de dados personalizado ao criar a instância. |
|
Conectar à instância de banco de dados PostgreSQL Após criar um grupo de segurança e associá-lo a uma instância de banco de dados, você poderá se conectar à instância de banco de dados usando qualquer aplicação de cliente SQL padrão, como |
Conectar a uma instância de banco de dados executando o mecanismo de banco de dados do PostgreSQL |
Backup e restauração da instância de banco de dados Você pode configurar a instância de banco de dados para fazer backups automáticos ou snapshots manuais e, depois, restaurar instâncias a partir dos backups ou snapshots. |
|
Monitorar atividades e da performance da instância de banco de dados Monitore uma instância de banco de dados PostgreSQL usando as métricas, eventos e o monitoramento avançado do Amazon RDS do CloudWatch. |
|
Atualização da versão do banco de dados PostgreSQL Você pode fazer atualizações das versões principal e secundária para sua instância de banco de dados PostgreSQL. |
Atualizar o mecanismo de banco de dados PostgreSQL para Amazon RDS Escolher uma atualização de versão principal para o PostgreSQL |
Trabalhar com arquivos de log Você pode acessar os arquivos de log de sua instância de banco de dados PostgreSQL. |
|
Noções básicas sobre as práticas recomendadas para instâncias de banco de dados PostgreSQL Encontre algumas de práticas recomendadas para trabalhar com o PostgreSQL no Amazon RDS. |
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
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 do .
-
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
Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/
. -
Escolha Dashboard (Painel) no painel de navegação.
-
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.
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. -
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
nota
Esta é a documentação prévia do Amazon RDS PostgreSQL versão 17. Está sujeita a alteração.
O PostgreSQL versão 17 RC1 já está disponível no ambiente de pré-visualização de banco de dados do Amazon RDS. O PostgreSQL versão 17 RC1 contém várias melhorias que estão descritas na seguinte documentação do PostgreSQL: PostgreSQL 17 RC1 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/
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
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
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
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
:
-
bool_plperl
-
jsonb_plperl
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).