クイックスタート
OAuth トークンまたは Postgres パスワードを使用してデータベースに接続します。Lakebase インフラストラクチャの管理 (プロジェクト、ブランチ、コンピュートの作成) については、 「プロジェクトの権限」を参照してください。
認証方法を選択してください
接続する前に、ユースケースに最適な認証方法を決定します。
- OAuth ロール: OAuth トークンを使用して Databricks ID を使用して認証します。プロジェクトオーナーはすぐに接続できます。他の Databricks ID が OAuth 認証を使用できるようにするには、Lakebase UI、SQL、または REST API を使用して Postgres ロールを作成します。「OAuth ロールの作成」を参照してください。
- ネイティブ Postgres パスワード認証: 従来のデータベース パスワードを使用して Postgres ロールで認証します。「ネイティブ Postgres パスワード ロールを作成する」を参照してください。
OAuth は、自動資格情報の有効期限とワークスペース ID の統合を提供しますが、長時間実行されるアプリケーションではトークンのローテーションが必要です。Postgres のパスワードには有効期限はなく、ローテーションも必要ありませんが、OAuth の自動有効期限と集中型セキュリティ管理機能はありません。

データベースに接続する
パブリックインターネット経由で接続する場合、クライアント側のファイアウォールを使用しているときは、Lakebaseで使用されるIPアドレスを許可リストに追加してください。Databricks サービスの IP アドレスとドメインを参照してください。
以下の例では、標準の Postgres クライアントであるpsql使用します。psql を使用して接続する方法の詳細については、 「psql を使用した接続」を参照してください。また、 Databricks 、Lakebase SQLエディター、テーブル エディター、または pgAdmin やその他の Postgres 互換クライアントなどのサードパーティ ツールを通じてデータベースにアクセスすることもできます。 その他のオプションについては、 「データのクエリ」を参照してください。
各プロジェクトには、接続できるdatabricks_postgresという名前のデフォルトのデータベースが含まれています。このデータベースは、プロジェクトの作成時に自動的に作成される、Databricks ID の Postgres ロール (たとえば、 user@databricks.com ) によって所有されます。追加の Postgres ロールを作成するには、 「Postgres ロールの管理」を参照してください。
すべてのデータベース接続には、24 時間のアイドル タイムアウトと最大 3 日間の接続寿命が適用されます。「接続タイムアウト」を参照してください。
OAuthロールで接続する
OAuth ロールを使用すると、トークンベースの認証で Databricks ID を使用して接続できます。プロジェクトオーナーの OAuth ロールは自動的に作成されます。他の Databricks ID が OAuth 認証を使用できるようにするには、Lakebase UI、SQL、または REST API を使用して Postgres ロールを作成します。「OAuth ロールの作成」を参照してください。
OAuthローンをプログラムまたは自動ワークフローで生成するには、対話型セッションの場合はユーザーからマシンへのフローでOAuthローンを取得する、またはサービスプリンシパルの場合はマシンからマシンへのフローでOAuthローンを取得するを参照してください。
OAuth トークンは 1 時間後に期限切れになります。
長時間実行されるデータベース接続を維持するアプリケーションの場合、資格情報の有効期限が切れる前に自動的に更新するトークンのローテーションを実装する必要があります。トークンのローテーションを行わないと、アプリケーションは 1 時間後にデータベース接続を失います。
コード例については、トークンのローテーションの例を参照してください。
OAuth ロールで接続するには:
-
Lakebase アプリからプロジェクトを選択し、 「接続」 をクリックします。
-
接続するブランチ、コンピュート、データベースを選択し、[ ロール] ドロップダウン メニューの OAuthロール] セクションからDatabricks ID を選択します。
-
OAuthトークンのコピー をクリックし、ターミナルでトークンを
PGPASSWORD環境変数にエクスポートします。Bashexport PGPASSWORD='<oauth-token>' -
スニペットの上のドロップダウンメニューから psql を選択してから、スニペットをターミナルにコピーしてランします。
psqlはPGPASSWORDからトークンを読み取るため、パスワードの入力を求められません。それでもプロンプトが表示される場合は、 OAuth接続のトラブルシューティングを参照してください。
OAuthトークンは、生成されてから1時間で有効期限が切れます。トークンの有効期限が切れた後に再接続するには、新しいトークンをコピーし、再度PGPASSWORDにエクスポートします。

Copy OAuthトークン はサービスプリンシパルや他のユーザーではなく、現在のログイン ID に対してのみパスワードを生成します。 他の ID のトークンを生成するには、 CLI または SDK を使用します。
OAuth 接続のトラブルシューティング
-
パスワードプロンプトでトークンを貼り付けると、
psqlが応答しなくなります。 OAuthトークンは長いため、一部の端末では対話型プロンプトで貼り付けるとpsqlが応答しなくなります。前のステップで説明したように、psqlを実行する前にトークンをPGPASSWORDにエクスポートします。 -
PGPASSWORDが設定されていても、psqlでパスワードが要求されます。 環境内の他のPostgres設定がPGPASSWORDよりも優先される場合があります(シェルプロファイルによって設定される接続サービスファイルなど)。これらの設定に関係なく接続するには、接続文字列にトークンを追加します。シェルで変数を展開できるように、ダブルクォーテーションを使用してください:Bashpsql "postgresql://your-email%40databricks.com:${PGPASSWORD}@ep-abc-123.databricks.com/databricks_postgres?sslmode=require"根本的な原因を修正するには、
env | grep '^PG'をランしてPGSERVICEまたはPGSERVICEFILE変数をチェックします。いずれかが設定されている場合は、現在のセッションでそれらを解除します。Bashunset PGSERVICE PGSERVICEFILE新しいセッションで変数が戻らないようにするには、シェルプロファイル (
~/.bashrcや~/.zshrcなど) からそれらを設定するexport行を削除します。
ネイティブPostgresパスワードで接続する
ネイティブ Postgres パスワード認証を使用すると、従来のデータベース パスワードを使用して Postgres ロールに接続できます。
ネイティブ Postgres パスワード認証で接続するには:
- Lakebase アプリからプロジェクトを選択し、 「接続」 をクリックします。
- 接続するブランチ、コンピュート、データベースを選択し、 [ロール] ドロップダウン メニューの [Postgres ロール] セクションから Postgres ロールを選択します。
- 上のドロップダウンメニューから psql を選択し、スニペットをターミナルにコピーして実行し、接続します。

Lakebaseは、ネイティブ Postgres パスワード ロール用の接続プーラーが組み込まれています。 高スループットアプリケーションの接続オーバーヘッドを削減するには、 「接続プーリングを使用する」を参照してください。