メインコンテンツまでスキップ

psqlで接続する

備考

ベータ版

Lakebase Postgres (オートスケール Beta) は、 Lakebase の次のバージョンであり、評価のみに利用できます。 本番運用ワークロードの場合は、 Lakebase Public Previewを使用します。 どのバージョンが適しているかを判断するには、バージョンの選択を参照してください。

psql PostgreSQL のネイティブ コマンドライン クライアントです。これは、Postgres にコマンドを送信し、アドホック クエリを実行するための対話型セッションを提供します。psqlの詳細については、 PostgreSQLドキュメントのpsql リファレンスを参照してください。

前提条件

  • psql システムにバージョン14以上がインストールされている
  • Postgres ロールが構成された Lakebase データベース プロジェクト
注記

psqlに接続するときは、 ネイティブの Postgres パスワード認証 を使用することをお勧めします。ネイティブ Postgres パスワードは、OAuth トークンのように 1 時間ごとに期限切れにならないため、資格情報を頻繁に更新できないアプリケーションに適しています。認証方法の詳細については、 「認証の概要」を参照してください。

psqlをインストールする

psqlがインストールされていない場合は、次のステップに従ってください:

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

データベースに接続する

psql使用して接続する最も簡単な方法は、接続文字列を使用することです。

  1. Lakebaseアプリに移動し、データベースプロジェクトを選択します。
  2. 「接続」を クリックするとデータベース接続モーダルが開きます
  3. 接続するブランチ、コンピュート、データベースを選択します
  4. ドロップダウンからPostgresロールを選択します(パスワード認証付きのネイティブPostgresロールの使用をお勧めします)
  5. 接続文字列をコピーする

Postgres ロール接続ダイアログ

接続文字列を使用してpsqlクライアントを実行します。

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

例の値を実際の接続詳細に置き換えます。

注記

Lakebase では、すべての接続で SSL/TLS 暗号化を使用する必要があります。間違いなく、すべての接続文字列にsslmode=require問題が含まれています。

クエリを実行する

接続を確立した後、SQL クエリを直接実行できます。

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

メタコマンド

psql データベースを操作するためのショートカットを提供するメタコマンドをサポートします。これらのコマンドはバックスラッシュ ( \ ) で始まり、完全な SQL クエリを記述しなくてもデータベース スキーマやその他の重要な情報にすばやくアクセスできるため、ワークフローを大幅に高速化できます。

メタコマンドの利点

メタコマンドを使用すると、次の点でワークフローを大幅に高速化できます。

  • データベースのスキーマと構造への迅速なアクセスを提供する
  • 完全なSQLクエリを記述せずにデータベースオブジェクトを表示する
  • データベース接続とセッションの管理
  • SQLコマンドのヘルプを表示する

一般的なメタコマンド

よく使用されるメタコマンドを次に示します。

  • \l — すべてのデータベースを一覧表示する
  • \c DATABASE_NAME — 別のデータベースに接続する
  • \dt — 現在のデータベース内のすべてのテーブルを一覧表示します
  • \d TABLE_NAME — テーブルの構造を説明する
  • \di — リストインデックス
  • \dv — リストビュー
  • \du — 役割をリストする
  • \dn — スキーマの一覧
  • \df — リスト関数
  • \? — 利用可能なメタコマンドのチートシートを表示する
  • \h [NAME] — 任意の Postgres コマンドのヘルプを取得します (例: \h SELECT )
  • \q — psqlを終了する

情報メタコマンド

データベース オブジェクトの詳細情報 (オプション: S = システム オブジェクトを表示、 + = 追加の詳細):

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

+修飾子は追加の詳細を追加し、 S修飾子はシステム オブジェクトを含めます。

メタコマンドの完全なリストについては、psql で実行\?するか、 PostgreSQLドキュメントのpsql メタコマンドを参照してください。

接続オプション

個別に接続の詳細を指定することもできます。

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

または環境変数を設定します:

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

psql

接続文字列と認証オプションの詳細については、 「データベース プロジェクトに接続する」を参照してください。