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がインストールされていない場合は、次のステップに従ってください:
- MacOS (Intel)
- MacOS (Apple Silicon)
- Linux
- Windows
brew install libpq
echo 'export PATH="/usr/local/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
brew install libpq
echo 'export PATH="/opt/homebrew/opt/libpq/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
sudo apt update
sudo apt install postgresql-client
postgresql.org/download/windowsから PostgreSQL をダウンロードしてインストールします。インストールにpsqlが含まれていることを確認してください。
データベースに接続する
psql使用して接続する最も簡単な方法は、接続文字列を使用することです。
- Lakebaseアプリに移動し、データベースプロジェクトを選択します。
- 「接続」を クリックするとデータベース接続モーダルが開きます
- 接続するブランチ、コンピュート、データベースを選択します
- ドロップダウンからPostgresロールを選択します(パスワード認証付きのネイティブPostgresロールの使用をお勧めします)
- 接続文字列をコピーする

接続文字列を使用してpsqlクライアントを実行します。
psql 'postgresql://role_name:password@ep-abc-123.databricks.com/databricks_postgres?sslmode=require'
例の値を実際の接続詳細に置き換えます。
Lakebase では、すべての接続で SSL/TLS 暗号化を使用する必要があります。間違いなく、すべての接続文字列にsslmode=require問題が含まれています。
クエリを実行する
接続を確立した後、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 = システム オブジェクトを表示、 + = 追加の詳細):
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 メタコマンドを参照してください。
接続オプション
個別に接続の詳細を指定することもできます。
psql -h ep-abc-123.databricks.com -p 5432 -U lakebase -d lakebase
または環境変数を設定します:
export PGHOST=ep-abc-123.databricks.com
export PGPORT=5432
export PGDATABASE=lakebase
export PGUSER=lakebase
export PGPASSWORD=your-password
psql
接続文字列と認証オプションの詳細については、 「データベース プロジェクトに接続する」を参照してください。