Pular para o conteúdo principal

Conecte-se com o psql

info

Beta

O Lakebase Postgres (beta com escalonamento automático) é a próxima versão do Lakebase, disponível apenas para avaliação. Para cargas de trabalho de produção, utilize a versão de pré-visualização pública do Lakebase. Consulte a seção "Como escolher entre as versões" para entender qual versão é a mais adequada para você.

psql é o cliente de linha de comando nativo para PostgreSQL. Ele fornece uma sessão interativa para enviar comandos ao Postgres e executar consultas ad-hoc. Para obter mais informações sobre psql, consulte a referência psql na documentação PostgreSQL .

Pré-requisitos

  • psql versão 14 ou superior instalada em seu sistema
  • Um projeto de banco de dados Lakebase com uma função Postgres configurada.
nota

Recomendamos o uso da autenticação de senha nativa do Postgres ao conectar-se com psql. As senhas nativas do Postgres não expiram a cada hora como tokens OAuth , o que as torna mais adequadas para aplicações que não podem refresh as credenciais com frequência. Consulte a Visão geral da autenticação para obter detalhes sobre os métodos de autenticação.

Instale o psql

Se você não tiver psql instalado, siga estes passos:

Bash
brew install libpq
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Conecte-se ao seu banco de dados

A maneira mais fácil de se conectar usando psql é com uma string de conexão.

  1. Acesse o aplicativo Lakebase e selecione seu projeto de banco de dados.
  2. Clique em Conectar para abrir a janela de conexão com o banco de dados.
  3. Selecione a filial, compute e o banco de dados aos quais deseja se conectar.
  4. Selecione uma função do Postgres na dropdown (recomendamos usar uma função nativa do Postgres com autenticação por senha).
  5. Copie as strings de conexão.

Diálogo de conexão de função do Postgres

execução do cliente psql com as strings de conexão:

Bash
psql 'postgresql://role_name:password@ep-abc-123.databricks.com/databricks_postgres?sslmode=require'

Substitua os valores de exemplo pelos seus dados de conexão reais.

nota

A Lakebase exige que todas as conexões utilizem criptografia SSL/TLS. O parâmetro sslmode=require está incluído em todas strings de conexão por default.

consultas de execução

Após estabelecer a conexão, você pode executar consultas SQL diretamente:

SQL
CREATE TABLE my_table AS SELECT now();
SELECT * FROM my_table;

Meta-comando

psql Suporta metacomandos que fornecem atalhos para interagir com seu banco de dados. Esses comandos começam com uma barra invertida (\) e podem acelerar significativamente seu fluxo de trabalho, fornecendo acesso rápido a esquemas de banco de dados e outras informações críticas sem a necessidade de escrever consultas SQL completas.

Benefícios do meta-comando

O meta-comando pode acelerar significativamente o seu fluxo de trabalho ao:

  • Proporcionar acesso rápido aos esquemas e à estrutura do banco de dados.
  • Visualizar objetos do banco de dados sem escrever consultas SQL completas
  • Gerenciando conexões e sessões de banco de dados
  • Obtendo ajuda no comando SQL

meta-comando comum

Aqui estão alguns meta-comandos frequentemente usados:

  • \l — Listar todos os bancos de dados
  • \c DATABASE_NAME — Conectar-se a um banco de dados diferente
  • \dt — Liste todas as tabelas no banco de dados atual
  • \d TABLE_NAME — Descreva a estrutura de uma tabela
  • \di — Listar índices
  • \dv — Visualização em lista
  • \du — Listar funções
  • \dn — Listar esquemas
  • \df — Listar funções
  • \? — Exibir um guia rápido dos meta-comandos disponíveis
  • \h [NAME] — Obtenha ajuda para qualquer comando do Postgres (por exemplo, \h SELECT)
  • \q — Sair do psql

meta-comando informacional

Para obter informações detalhadas sobre objetos do banco de dados (opções: S = mostrar objetos do sistema, + = detalhes adicionais):

Bash
Informational
(options: S = show system objects, + = additional detail)
\d[S+] list tables, views, and sequences
\d[S+] NAME describe table, view, sequence, or index
\da[S] [PATTERN] list aggregates
\dA[+] [PATTERN] list access methods
\dAc[+] [AMPTRN [TYPEPTRN]] list operator classes
\dAf[+] [AMPTRN [TYPEPTRN]] list operator families
\dAo[+] [AMPTRN [OPFPTRN]] list operators of operator families
\dAp[+] [AMPTRN [OPFPTRN]] list support functions of operator families
\db[+] [PATTERN] list tablespaces
\dc[S+] [PATTERN] list conversions
\dconfig[+] [PATTERN] list configuration parameters
\dC[+] [PATTERN] list casts
\dd[S] [PATTERN] show object descriptions not displayed elsewhere
\dD[S+] [PATTERN] list domains
\ddp [PATTERN] list default privileges
\dE[S+] [PATTERN] list foreign tables
\des[+] [PATTERN] list foreign servers
\det[+] [PATTERN] list foreign tables
\deu[+] [PATTERN] list user mappings
\dew[+] [PATTERN] list foreign-data wrappers
\df[anptw][S+] [FUNCPTRN [TYPEPTRN ...]]
list [only agg/normal/procedure/trigger/window] functions
\dF[+] [PATTERN] list text search configurations
\dFd[+] [PATTERN] list text search dictionaries
\dFp[+] [PATTERN] list text search parsers
\dFt[+] [PATTERN] list text search templates
\dg[S+] [PATTERN] list roles
\di[S+] [PATTERN] list indexes
\dl[+] list large objects, same as \lo_list
\dL[S+] [PATTERN] list procedural languages
\dm[S+] [PATTERN] list materialized views
\dn[S+] [PATTERN] list schemas
\do[S+] [OPPTRN [TYPEPTRN [TYPEPTRN]]]
list operators
\dO[S+] [PATTERN] list collations
\dp[S] [PATTERN] list table, view, and sequence access privileges
\dP[itn+] [PATTERN] list [only index/table] partitioned relations [n=nested]
\drds [ROLEPTRN [DBPTRN]] list per-database role settings
\drg[S] [PATTERN] list role grants
\dRp[+] [PATTERN] list replication publications
\dRs[+] [PATTERN] list replication subscriptions
\ds[S+] [PATTERN] list sequences
\dt[S+] [PATTERN] list tables
\dT[S+] [PATTERN] list data types
\du[S+] [PATTERN] list roles
\dv[S+] [PATTERN] list views
\dx[+] [PATTERN] list extensions
\dX [PATTERN] list extended statistics
\dy[+] [PATTERN] list event triggers
\l[+] [PATTERN] list databases
\lo_list[+] list large objects
\sf[+] FUNCNAME show a function's definition
\sv[+] VIEWNAME show a view's definition
\z[S] [PATTERN] same as \dp

O modificador + adiciona detalhes adicionais e o modificador S inclui objetos do sistema.

Para obter uma lista completa de meta-comandos, execute \? em psql ou veja psql Meta-comando na documentação PostgreSQL .

Opções de conexão

Você também pode especificar os detalhes da conexão usando parâmetros individuais:

Bash
psql -h ep-abc-123.databricks.com -p 5432 -U lakebase -d lakebase

Ou defina a variável de ambiente:

Bash
export PGHOST=ep-abc-123.databricks.com
export PGPORT=5432
export PGDATABASE=lakebase
export PGUSER=lakebase
export PGPASSWORD=your-password

psql

Para obter mais informações sobre strings de conexão e opções de autenticação, consulte Conectar-se ao seu projeto de banco de dados.