Login
Login

Gerenciar PostgreSQL

Atualizado em 06 de February de 2026

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

Ao criar um novo cluster, um banco de dados chamado default_db é adicionado automaticamente.

Você pode adicionar bancos de dados adicionais:

  1. Acesse a seção Bancos de dados no painel de controle da Hostman.
  2. Clique no cluster.
  3. Na aba Bancos de dados, clique em Adicionar.
  4. Informe o nome do banco de dados: 3–64 caracteres. Letras, números e caracteres especiais são permitidos.
  5. (Opcional) Adicione uma descrição.
  6. Clique em Criar.

Importar banco de dados

Para importar um banco de dados:

  1. Acesse a seção Bancos de dados no painel de controle da Hostman.
  2. Clique no cluster.
  3. Na aba Bancos de dados, clique em Importar.
  4. Informe os dados de conexão do banco de dados que deseja importar.
  5. Clique em Iniciar importação.

Requisitos e limitações

  • 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

No painel de controle, você pode gerenciar usuários PostgreSQL e seus privilégios.

Criar usuários

  1. Acesse a seção Bancos de dados e clique no cluster.
  2. Abra a aba Usuários e clique em Adicionar.
  3. 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.
  4. (Opcional) Configure os privilégios do usuário. Você também pode manter os valores padrão e alterá-los depois.
  5. Clique em Criar.

Modificar privilégios

Para atualizar os privilégios de um usuário existente:

  1. Acesse Bancos de dados e clique no cluster.
  2. Abra a aba Usuários.
  3. Clique nos três pontos ao lado do usuário.
  4. Selecione Privilégios.
  5. 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

Privilégio

Descrição

SELECT

Ler dados de tabelas, visualizações e sequências

INSERT

Adicionar novas linhas

UPDATE

Modificar linhas existentes

DELETE

Excluir linhas

TRUNCATE

Remover rapidamente todas as linhas de uma tabela

CREATE

Criar novos objetos (tabelas, views, funções etc.)

REFERENCES

Usar uma tabela como chave estrangeira

TRIGGER

Criar e executar gatilhos

TEMPORARY

Criar tabelas temporárias

CREATEDB

Criar bancos de dados

CREATE_ROLE

Criar funções (roles)

Alterar senha

Você pode alterar a senha do usuário:

  1. Acesse Bancos de dados e clique no cluster.
  2. Vá para a aba Usuários.
  3. Clique nos três pontos ao lado do usuário.
  4. Selecione Alterar senha.
  5. Informe a nova senha e salve as alterações.

Extensões

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

Para ativar ou desativar extensões:

  1. Acesse Bancos de dados e clique no cluster.
  2. Abra a aba Configuração.
  3. Clique em Modificar ao lado de Extensões.
  4. 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

Extensão

Descrição

amcheck

Verificação de integridade de índices e tabelas

citext

Tipo de texto sem distinção entre maiúsculas/minúsculas

pg_stat_statements

Coleta estatísticas de execução de consultas SQL

pg_trgm

Busca e comparação aproximada de strings

pgcrypto

Funções criptográficas

postgis

Dados geográficos e geométricos (GIS)

postgis_topology

Modelos topológicos para dados espaciais

uuid-ossp

Geração de UUIDs

pgvector

Tipo vetorial para busca por similaridade

pgagent

Agendador de tarefas

Parâmetros do banco de dados

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

  1. Acesse a seção Bancos de dados e clique no cluster.
  2. Abra a aba Configuração.
  3. Clique em Modificar parâmetros ao lado de Parâmetros do banco de dados.
  4. Ajuste os parâmetros. Para saber mais sobre cada um, clique em Abrir descrição ao lado dele.
  5. Clique em Aplicar na parte inferior da página.

Lista de parâmetros

Parâmetro

Valores

Padrão

autovacuum_analyze_scale_factor

0–100

0.1

autovacuum_max_workers

1–262143

3

autovacuum_naptime

1–2147483

60

autovacuum_vacuum_insert_scale_factor

0–100

0.2

autovacuum_vacuum_scale_factor

0–100

0.2

autovacuum_work_mem

-1–2147483647

-1

bgwriter_delay

10–10000

200

bgwriter_lru_maxpages

0–1073741823

100

deadlock_timeout

1–2147483647

1000

gin_pending_list_limit

64–2147483647

4096

idle_in_transaction_session_timeout

0–2147483647

0

join_collapse_limit

1–2147483647

8

lock_timeout

0–2147483647

0

max_prepared_transactions

0–262143

0

max_connections

1–262143

200

shared_buffers

16–1073741823

31232

wal_buffers

-1–262143

2048

temp_buffers

100–1073741823

1024

work_mem

64–2147483647

436

default_transaction_isolation

read committed

effective_cache_size

1–2147483647

524288

max_wal_size

2–2147483647

1024

min_wal_size

2–2147483647

80

wal_level

replica / logical

replica

max_replication_slots

5–262143

10

max_wal_senders

5–262143

10

max_worker_processes

0–262143

8

max_logical_replication_workers

0–262143

4

max_parallel_maintenance_workers

0–1024

2

max_parallel_workers

0–1024

8

max_parallel_workers_per_gather

0–1024

2

array_nulls

On/Off

On

backend_flush_after

0–256

0

backslash_quote

On/Off/safe_encoding

safe_encoding

bgwriter_flush_after

0–256

64

bgwriter_lru_multiplier

1–10

2

default_transaction_read_only

On/Off

Off

enable_hashagg

On/Off

On

enable_hashjoin

On/Off

On

enable_incremental_sort

On/Off

On

enable_indexscan

On/Off

On

enable_indexonlyscan

On/Off

On

enable_material

On/Off

On

enable_memoize

On/Off

On

enable_mergejoin

On/Off

On

enable_parallel_append

On/Off

On

enable_parallel_hash

On/Off

On

enable_partition_pruning

On/Off

On

enable_partitionwise_join

On/Off

Off

enable_partitionwise_aggregate

On/Off

Off

enable_seqscan

On/Off

On

enable_sort

On/Off

On

enable_tidscan

On/Off

On

exit_on_error

On/Off

Off

from_collapse_limit

1–2147483647

8

idle_session_timeout

0–2147483647

900000

jit

On/Off

On

plan_cache_mode

auto / force custom plan / force generic plan

auto

quote_all_identifiers

On/Off

Off

standard_conforming_strings

On/Off

On

statement_timeout

0–2147483647

0

timezone

-13:59–+14:00

transform_null_equals

On/Off

Off

max_locks_per_transaction

1–2147483647

64

autovacuum_vacuum_cost_limit

-1–10000

200

checkpoint_timeout

30–86400

300

checkpoint_completion_target

0–1

0.5

wal_compression

On/Off/pglz/lz4/zstd

Off

random_page_cost

0–10

4

effective_io_concurrency

0–1000

1

log_lock_waits

On/Off

Off

log_temp_files

-1–2147483647

-1

track_io_timing

On/Off

Off

maintenance_work_mem

1024–2147483647

33554432

Restaurando os parâmetros padrão

Você pode restaurar facilmente as configurações padrão:

  1. Acesse Bancos de dados e clique no cluster.
  2. Abra a aba Configuração.
  3. Clique em Modificar parâmetros ao lado de Parâmetros do banco de dados.
  4. Role até o final da página e clique em Restaurar configurações padrão.

Atenção: os parâmetros serão redefinidos imediatamente, sem confirmação adicional.

Conectar ao banco de dados

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

  1. Acesse Bancos de dados e clique no cluster.
  2. Clique em Interface Web e selecione Adminer.

2b735065 431f 4e07 Af1e Fe56081c65f8

Terminal

Instale o cliente PostgreSQL:

  • Ubuntu/Debian

sudo apt install postgresql-client
  • Arch

sudo pacman -S postgresql-libs
  • Fedora

sudo dnf install postgresql

Você pode se conectar:

  • via IP público
  • via IP privado

O comando de conexão pode ser copiado:

  • na aba Painel

36a42bb6 121f 4852 9ddf 9eac8fcfc6ec

  • ou na aba Conexão

Ab69534a 4999 4715 86c9 Ec0d66d0e102

Gerenciar funções (roles)

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

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

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

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

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

Para criar um dump, execute:

pg_dump -x 'postgresql://<user>:<password>@<host>:5432/<db>' | gzip > default_db.sql.gz

A 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

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

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_buffers
    • effective_cache_size
    • maintenance_work_mem
    • max_connections
Esta página foi útil?
Atualizado em 06 de February de 2026

Tem perguntas,
comentários ou preocupações?

Nossos profissionais estão disponíveis para ajudá-lo a qualquer momento,
seja para assistência ou apenas se você não souber por onde começar.
Envie-nos um e-mail
Hostman's Support