Připojte se pomocí psql

psql je nativní klient příkazového řádku pro PostgreSQL. Poskytuje interaktivní relaci pro odesílání příkazů do Postgres a spouštění ad hoc dotazů. Další informace o psqlnástroji psql naleznete v referenční dokumentaci k PostgreSQL.

Požadavky

  • psql Ve vašem systému je nainstalovaná verze 14 nebo vyšší.
  • Projekt Lakebase s nakonfigurovanou rolí Postgres

Poznámka:

Doporučujeme použít nativní Postgres ověřování hesla při připojování pomocí psql. Platnost nativních hesel Postgres nevyprší každou hodinu, jako jsou tokeny OAuth, což je vhodnější pro aplikace, které nemůžou často aktualizovat přihlašovací údaje. Podrobnosti o metodách ověřování najdete v přehledu ověřování.

Informace o konfiguraci sítě a přidávání IP adres při použití brány firewall na straně klienta najdete v tématu Připojovací řetězce.

Instalace psql

Pokud nemáte psql nainstalovaný, postupujte takto:

MacOS (Intel)

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

MacOS (Apple Silicon)

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

Operační systém Linux

sudo apt update
sudo apt install postgresql-client

Windows

Stáhněte a nainstalujte PostgreSQL z postgresql.org/download/windows. Ujistěte se, že psql je součástí instalace.

Připojení k databázi

Nejjednodušší způsob, jak se připojit pomocí psql , je připojovací řetězec.

  1. Přejděte do aplikace Lakebase a vyberte svůj projekt.
  2. Kliknutím na Připojit otevřete modální připojení k databázi.
  3. Vyberte větev, výpočetní prostředky a databázi, ke které se chcete připojit.
  4. V rozevíracím seznamu vyberte roli Postgres (doporučujeme použít nativní roli Postgres s ověřováním hesla).
  5. Zkopírování připojovacího řetězce

Dialogové okno pro připojení role v Postgres

psql Spusťte klienta s připojovacím řetězcem:

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

Nahraďte ukázkové hodnoty skutečnými podrobnostmi o připojení.

Poznámka:

Lakebase vyžaduje, aby všechna připojení používala šifrování SSL/TLS. Parametr sslmode=require je ve výchozím nastavení zahrnutý ve všech připojovacích řetězcích.

Spouštění dotazů

Po navázání připojení můžete spouštět dotazy SQL přímo:

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

Meta-příkazy

psql podporuje meta-příkazy, které poskytují klávesové zkratky pro interakci s databází. Tyto příkazy začínají zpětným lomítkem (\) a můžou výrazně urychlit pracovní postup tím, že poskytují rychlý přístup ke schématům databáze a dalším důležitým informacím bez nutnosti psát úplné dotazy SQL.

Výhody meta-příkazů

Meta-příkazy mohou výrazně urychlit váš pracovní postup:

  • Zajištění rychlého přístupu ke schématům a strukturám databáze
  • Zobrazení databázových objektů bez psaní úplných dotazů SQL
  • Správa databázových připojení a relací
  • Získání nápovědy k příkazům SQL

Běžné meta-příkazy

Tady jsou některé často používané meta-příkazy:

  • \l — Výpis všech databází
  • \c DATABASE_NAME – Připojení k jiné databázi
  • \dt — Výpis všech tabulek v aktuální databázi
  • \d TABLE_NAME — Popis struktury tabulky
  • \di — Seznam indexů
  • \dv — Zobrazení seznamu
  • \du — Výpis rolí
  • \dn — Výpis schémat
  • \df — Funkce seznamu
  • \? — Zobrazit stručnou nápovědu k dostupným meta-příkazům
  • \h [NAME] — Získejte nápovědu pro jakýkoli příkaz Postgres (např. \h SELECT)
  • \q — Ukončit psql

Informační meta-příkazy

Podrobné informace o databázových objektech (možnosti: S = zobrazit systémové objekty, + = další podrobnosti):

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

+ Modifikátor přidá další podrobnosti a S modifikátor obsahuje systémové objekty.

Úplný seznam meta-příkazů zobrazíte zadáním \? v psql nebo si jej přečtěte v části psql Meta-příkazy dokumentace PostgreSQL.

Možnosti připojení

Podrobnosti o připojení můžete zadat také pomocí jednotlivých parametrů:

psql -h ep-abc-123.databricks.com -p 5432 -U role_name -d databricks_postgres

Nebo nastavte proměnné prostředí:

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

psql

Poznámka:

Hodnota hesla závisí na metodě ověřování. Pokud se ověřujete pomocí identity Azure Databricks, použijte jako heslo časově omezený token OAuth – token vyprší jednu hodinu po svém vygenerování, takže pro opětovné připojení musíte vygenerovat nový. Pokud používáte nativní roli Postgres, použijte heslo této role. Podrobnosti najdete v tématu Ověřování tokenů OAuth .

Další informace o připojovacích řetězcích a možnostech ověřování najdete v tématu Připojení k projektu.