Gerenciar PostgreSQL
O PostgreSQL é um sistema de gerenciamento de banco de dados objeto-relacional de código aberto. É conhecido por sua confiabilidade, escalabilidade e ampla funcionalidade, incluindo suporte a JSON, busca em texto completo, procedimentos armazenados, extensões e muito mais.
Com os bancos de dados PostgreSQL gerenciados da Hostman, você obtém um cluster PostgreSQL totalmente gerenciado, sem configuração manual — tudo é provisionado automaticamente.
Ao criar um cluster, você pode selecionar a versão do PostgreSQL: 14, 15, 16, 17, 18.
Criação de bancos de dados Copiar link
Ao criar um novo cluster, um banco de dados chamado default_db é adicionado automaticamente.
Você pode adicionar bancos de dados adicionais:
- Acesse a seção Bancos de dados no painel de controle da Hostman.
- Clique no cluster.
- Na aba Bancos de dados, clique em Adicionar.
- Informe o nome do banco de dados: 3–64 caracteres. Letras, números e caracteres especiais são permitidos.
- (Opcional) Adicione uma descrição.
- Clique em Criar.
Importar banco de dados Copiar link
Para importar um banco de dados:
- Acesse a seção Bancos de dados no painel de controle da Hostman.
- Clique no cluster.
- Na aba Bancos de dados, clique em Importar.
- Informe os dados de conexão do banco de dados que deseja importar.
- Clique em Iniciar importação.
Requisitos e limitações Copiar link
- Acesso de rede: o banco de dados de origem deve estar acessível pela internet a partir de qualquer endereço IP. Caso contrário, a importação não será iniciada.
- Nome exclusivo: o cluster de destino não pode conter um banco de dados com o mesmo nome.
- Compatibilidade de versões: a importação permite transferir dados entre diferentes versões do PostgreSQL (por exemplo, da 17 para a 18). No entanto, algumas extensões e parâmetros podem ser incompatíveis ou variar entre versões.
O que será transferido:
- Estruturas de tabelas
- Índices
- Dados das tabelas
O que não será transferido:
- Usuários e funções (roles)
- Extensões
Você precisará criar os usuários e instalar as extensões necessárias manualmente no novo banco de dados.
Usuários e privilégios Copiar link
No painel de controle, você pode gerenciar usuários PostgreSQL e seus privilégios.
Criar usuários Copiar link
- Acesse a seção Bancos de dados e clique no cluster.
- Abra a aba Usuários e clique em Adicionar.
- Defina o nome de usuário e a senha:
- Nome de usuário: 3–64 caracteres. Letras, números e caracteres especiais são permitidos.
- Senha: 8–30 caracteres. Letras, números e caracteres especiais são permitidos.
- (Opcional) Configure os privilégios do usuário. Você também pode manter os valores padrão e alterá-los depois.
- Clique em Criar.
Modificar privilégios Copiar link
Para atualizar os privilégios de um usuário existente:
- Acesse Bancos de dados e clique no cluster.
- Abra a aba Usuários.
- Clique nos três pontos ao lado do usuário.
- Selecione Privilégios.
- Escolha os privilégios necessários. Você pode conceder acesso a um banco específico ou aplicar os mesmos privilégios a todos os bancos ativando Idêntico para todos os bancos de dados.
Privilégios disponíveis Copiar link
|
Privilégio |
Descrição |
|
|
Ler dados de tabelas, visualizações e sequências |
|
|
Adicionar novas linhas |
|
|
Modificar linhas existentes |
|
|
Excluir linhas |
|
|
Remover rapidamente todas as linhas de uma tabela |
|
|
Criar novos objetos (tabelas, views, funções etc.) |
|
|
Usar uma tabela como chave estrangeira |
|
|
Criar e executar gatilhos |
|
|
Criar tabelas temporárias |
|
|
Criar bancos de dados |
|
|
Criar funções (roles) |
Alterar senha Copiar link
Você pode alterar a senha do usuário:
- Acesse Bancos de dados e clique no cluster.
- Vá para a aba Usuários.
- Clique nos três pontos ao lado do usuário.
- Selecione Alterar senha.
- Informe a nova senha e salve as alterações.
Extensões Copiar link
As extensões do PostgreSQL permitem ampliar a funcionalidade do banco de dados adicionando recursos extras para tarefas específicas. Para mais informações, consulte a documentação oficial do PostgreSQL.
Ativar extensões Copiar link
Para ativar ou desativar extensões:
- Acesse Bancos de dados e clique no cluster.
- Abra a aba Configuração.
- Clique em Modificar ao lado de Extensões.
- Selecione o banco de dados e as extensões necessárias. Para aplicar as mesmas extensões a todos os bancos do cluster, ative Usar as mesmas extensões para todos os bancos de dados.
Lista de extensões Copiar link
|
Extensão |
Descrição |
|
|
Verificação de integridade de índices e tabelas |
|
|
Tipo de texto sem distinção entre maiúsculas/minúsculas |
|
|
Coleta estatísticas de execução de consultas SQL |
|
|
Busca e comparação aproximada de strings |
|
|
Funções criptográficas |
|
|
Dados geográficos e geométricos (GIS) |
|
|
Modelos topológicos para dados espaciais |
|
|
Geração de UUIDs |
|
|
Tipo vetorial para busca por similaridade |
|
|
Agendador de tarefas |
Parâmetros do banco de dados Copiar link
Você pode alterar as configurações do banco de dados para otimizar o desempenho.
Por padrão, o banco é criado com parâmetros adequados para a maioria dos cenários e compatíveis com a configuração selecionada. No entanto, se o seu projeto exigir ajustes específicos, você pode modificá-los conforme necessário.
Altere os parâmetros com cuidado. Configurações incorretas podem afetar negativamente a estabilidade e o desempenho do banco de dados.
Alterar parâmetros Copiar link
- Acesse a seção Bancos de dados e clique no cluster.
- Abra a aba Configuração.
- Clique em Modificar parâmetros ao lado de Parâmetros do banco de dados.
- Ajuste os parâmetros. Para saber mais sobre cada um, clique em Abrir descrição ao lado dele.
- Clique em Aplicar na parte inferior da página.
Lista de parâmetros Copiar link
|
Parâmetro |
Valores |
Padrão |
|
|
0–100 |
0.1 |
|
|
1–262143 |
3 |
|
|
1–2147483 |
60 |
|
|
0–100 |
0.2 |
|
|
0–100 |
0.2 |
|
|
-1–2147483647 |
-1 |
|
|
10–10000 |
200 |
|
|
0–1073741823 |
100 |
|
|
1–2147483647 |
1000 |
|
|
64–2147483647 |
4096 |
|
|
0–2147483647 |
0 |
|
|
1–2147483647 |
8 |
|
|
0–2147483647 |
0 |
|
|
0–262143 |
0 |
|
|
1–262143 |
200 |
|
|
16–1073741823 |
31232 |
|
|
-1–262143 |
2048 |
|
|
100–1073741823 |
1024 |
|
|
64–2147483647 |
436 |
|
|
— |
read committed |
|
|
1–2147483647 |
524288 |
|
|
2–2147483647 |
1024 |
|
|
2–2147483647 |
80 |
|
|
replica / logical |
replica |
|
|
5–262143 |
10 |
|
|
5–262143 |
10 |
|
|
0–262143 |
8 |
|
|
0–262143 |
4 |
|
|
0–1024 |
2 |
|
|
0–1024 |
8 |
|
|
0–1024 |
2 |
|
|
On/Off |
On |
|
|
0–256 |
0 |
|
|
On/Off/safe_encoding |
safe_encoding |
|
|
0–256 |
64 |
|
|
1–10 |
2 |
|
|
On/Off |
Off |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
Off |
|
|
On/Off |
Off |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
On |
|
|
On/Off |
Off |
|
|
1–2147483647 |
8 |
|
|
0–2147483647 |
900000 |
|
|
On/Off |
On |
|
|
auto / force custom plan / force generic plan |
auto |
|
|
On/Off |
Off |
|
|
On/Off |
On |
|
|
0–2147483647 |
0 |
|
|
-13:59–+14:00 |
— |
|
|
On/Off |
Off |
|
|
1–2147483647 |
64 |
|
|
-1–10000 |
200 |
|
|
30–86400 |
300 |
|
|
0–1 |
0.5 |
|
|
On/Off/pglz/lz4/zstd |
Off |
|
|
0–10 |
4 |
|
|
0–1000 |
1 |
|
|
On/Off |
Off |
|
|
-1–2147483647 |
-1 |
|
|
On/Off |
Off |
|
|
1024–2147483647 |
33554432 |
Restaurando os parâmetros padrão Copiar link
Você pode restaurar facilmente as configurações padrão:
- Acesse Bancos de dados e clique no cluster.
- Abra a aba Configuração.
- Clique em Modificar parâmetros ao lado de Parâmetros do banco de dados.
- Role até o final da página e clique em Restaurar configurações padrão.
Conectar ao banco de dados Copiar link
Você pode se conectar usando o Adminer ou via terminal. O acesso pelo Adminer está disponível apenas se o cluster tiver um IP público.
Adminer Copiar link
- Acesse Bancos de dados e clique no cluster.
- Clique em Interface Web e selecione Adminer.

Terminal Copiar link
Instale o cliente PostgreSQL:
-
Ubuntu/Debian
sudo apt install postgresql-client-
Arch
sudo pacman -S postgresql-libs-
Fedora
sudo dnf install postgresqlVocê pode se conectar:
- via IP público
- via IP privado
O comando de conexão pode ser copiado:
-
na aba Painel

-
ou na aba Conexão

Gerenciar funções (roles) Copiar link
Um usuário com o privilégio CREATE ROLE pode:
- criar usuários (
CREATE USER) - criar funções (
CREATE ROLE) - gerenciar associações de funções (
GRANT ... TO ...)
Criar um usuário Copiar link
Um usuário é uma função (role) que tem permissão para se conectar ao banco de dados. Essa função pode acessar o banco usando um nome de usuário e senha.
Para criar um usuário com senha, execute:
CREATE USER someuser WITH PASSWORD 'password';Aqui, someuser é o nome do usuário e password é a senha.
O novo usuário aparecerá na aba Usuários logo após a criação.
Criar uma função e atribuir a um usuário Copiar link
Em vez de conceder permissões diretamente a cada usuário, é recomendado criar funções com os privilégios necessários e depois atribuir os usuários a essas funções.
Vamos criar duas funções: uma com acesso somente leitura e outra com acesso de leitura e escrita.
Função somente leitura:
CREATE ROLE app_reader;Função leitura/escrita:
CREATE ROLE app_writer;Atribuindo uma função a um usuário:
GRANT app_writer TO someuser;Configurar esquemas Copiar link
Por padrão, todas as tabelas PostgreSQL são criadas no esquema public. Para conceder permissões, crie um novo esquema:
CREATE SCHEMA app_data;Criando tabelas no novo esquema:
CREATE TABLE app_data.users (
id SERIAL PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL
);
CREATE TABLE app_data.orders (
id SERIAL PRIMARY KEY,
user_id INTEGER REFERENCES app_data.users(id),
order_date TIMESTAMP DEFAULT now()
);Concedendo acesso ao esquema para as funções criadas anteriormente:
GRANT USAGE ON SCHEMA app_data TO app_reader;
GRANT USAGE ON SCHEMA app_data TO app_writer;Concedendo permissão para criar objetos no esquema:
GRANT CREATE ON SCHEMA app_data TO app_writer;Permissões de tabelas Copiar link
Concedendo acesso de leitura a todas as tabelas existentes no esquema:
GRANT SELECT ON ALL TABLES IN SCHEMA app_data TO app_reader;Concedendo acesso de leitura e escrita:
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA app_data TO app_writer;Definindo permissões padrão para novas tabelas:
ALTER DEFAULT PRIVILEGES IN SCHEMA app_data
GRANT SELECT ON TABLES TO app_reader;
ALTER DEFAULT PRIVILEGES IN SCHEMA app_data
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO app_writer;E permissões padrão para novas sequências:
ALTER DEFAULT PRIVILEGES IN SCHEMA app_data
GRANT USAGE, SELECT ON SEQUENCES TO app_writer;Criar um dump Copiar link
Para criar um dump, execute:
pg_dump -x 'postgresql://<user>:<password>@<host>:5432/<db>' | gzip > default_db.sql.gzA opção -x (--no-privileges) exclui os comandos GRANT e REVOKE do dump, pois o gerenciamento de permissões é feito pelo painel de controle.
Sem essa opção, podem ocorrer erros ao carregar o dump, mas eles não afetam a restauração dos dados.
Carregar um dump Copiar link
Para carregar um dump, execute:
zcat default_db.sql.gz | psql 'postgresql://<user>:<password>@<host>:5432/<db>'Esse comando descompacta o dump e o envia ao cliente PostgreSQL para execução.
Limitações do plano básico Copiar link
O plano básico de banco de dados (1 CPU / 1 GB de RAM / 20 GB NVMe) possui as seguintes limitações técnicas:
- Não é possível adicionar bancos de dados adicionais
- Não é possível adicionar usuários adicionais
- Não é possível configurar os seguintes parâmetros:
shared_bufferseffective_cache_sizemaintenance_work_memmax_connections