Olá amigos, aqui tem um resumo dos comandos mais utilizados no PostgreSQL

Acessando o servidor

Acessar o servidor do PostgreSQL no terminal:

psql -U postgres

Acessar o servidor do PostgreSQL no terminal com um usuário específico:

psql -U [nome_do_usuário]

Para visualizar todas as opções use a flag -h ou --help. Por exemplo:

  • -l: psql irá lhe mostrar todas as bases de dados e depois fechará a conexão
psql -l -U [nome_do_usuário]

Comando coringa:

  • \?: Ajuda (mostra todos os comandos e suas respectivas explicações)

Comandos gerais

A maioria dos comandos \d aceitam o parametro adicional __schema__.name__ e aceitam comandos wildcards como *.*

\dt *.*
\dt public.*
  • \c __database__: Conectar a um base de dados
  • \d __table__: Mostra as informações da tabela (colunas tipos, triggers, …)
  • \d+ __table__: Mostra informações detalhadas da tabela
  • \l: Lista todas as base de dados
  • \dy: Lista todos os eventos
  • \df: Lista todas as funções
  • \di: Lista todos os índices
  • \dn: Lista todos os schemas
  • \dt *.*: Lista todas as tabelas de todos os schemas
  • \dt public.*: Lista todas as tabelas do schema com nome public
  • \dT+: Lista todos os tipos de dados
  • \dv: Lista todas as visões
  • \dx: Lista todas as extensões instaladas
  • \df+ __function__ : Mostra a função como código SQL
  • \x: Modifica a formatação dos resultados de uma query
  • \copy (SELECT * FROM __table_name__) TO 'nome_do_arquivo.csv' WITH CSV: Exportar uma tabela para CSV
  • \des+: Lista todos os servidores estrangeiros
  • \dE[S+]: Lista todas as tabelas estrangeiras
  • \! __bash_command__: executa __bash_command__ (ex.: \! pwd)

  • \q: Fechar servidor (você também pode fechar o servidor apertando: ctrl + d)

Comandos relacionados ao usuário

  • \du: Lista todos os usuários
  • \du __username__: Lista um usuário, se existir
  • create role __test1__: Cria um papel (role) para um usuário existente.
  • create role __test2__ noinherit login password __passsword__;: Cria um papel (role) como nome e senha.
  • set role __test__;: Modifica o papel (role) da sessão para __test__.
  • grant __test2__ to __test1__;: Permite __test1__ que defina seu papel (role) igual a __test2__.
  • \deu+: Lista todos usuários mapeados no servidor

Configuração

  • Configuração do serviço:
    sudo service postgresql stop
    sudo service postgresql start
    sudo service postgresql restart