レイクハウスのSQLエディターからのクエリ
プレビュー
Lakebase Postgres (オートスケール Preview) は 、次のリージョンで利用できます: us-east-1 、 us-west-2 、 eu-west-1 。
Lakebase オートスケール Preview は Lakebase の新しいバージョンです。 オートスケールコンピュート、分岐、インスタントリストアなどの高度な機能をサポートします。 Lakebase の以前のバージョンについては、 「Lakebase プロビジョニング プレビュー」を参照してください。 どのバージョンが適しているかを判断するには、バージョンの選択を参照してください。
このページでは、レイクハウスのSQLエディターから 2 つの異なる接続方法を使用して、Lakebase プロジェクト内のデータベースをクエリする方法について説明します。
レイクハウスのSQLエディターは、クエリを作成し、データカタログを参照し、ビジュアライゼーションを作成し、結果を同僚と共有できる共同作業用のSQLワークスペースです。 アナリティクス、コラボレーション、自動化のための高度な機能を提供します。
EXPLAIN / ANALYZEやメタコマンド ( \dt 、 \d 、 \l ) などの Postgres ネイティブ機能については、Lakebase SQL エディターを使用します。Lakebase SQL エディターからのクエリを参照してください。
SQLエディターの機能の詳細については、 SQLエディターでクエリを記述してデータを探索する」を参照してください。
接続方法
次の 2 つの方法を使用して、SQL エディターから Lakebase データベースに接続できます。
- 直接コンピュート接続 : Lakebase コンピュートに直接接続して、特定のプロジェクトやブランチに即座にクエリ アクセスします。
- Unity Catalog登録 : Unity Catalogにデータベースを登録して、フェデレーション クエリ、統合ガバナンス、およびクロスソース アナリティクスを有効にします。
接続方法を選択してください
機能 | コンピュートダイレクト接続 | Unity Catalog登録 |
|---|---|---|
データアクセス | Lakebase データベースへの完全な読み取り/書き込みアクセス | Unity Catalogを介した読み取り専用アクセス |
どのようなタスクにベストなのか | 他のデータソースと組み合わせずに、主にLakebaseデータのみを扱う | フェデレーションクエリでLakebaseデータを他のUnity Catalogテーブルと組み合わせる |
セットアップの複雑さ | 登録なしで特定のデータベースにすぐにアクセスしてクエリを実行できます | カタログ登録とUnity Catalog権限が必要です |
ガバナンス | Unity Catalogガバナンス機能はありません | 統合ガバナンス制御(権限、リネージ、監査ログ) |
アクセス制御 | Postgres のロールベースの権限のみ | 複数のデータソースにわたる集中的な検出とアクセス制御 |
ユースケース | 直接的なデータベース操作と変更 | トランザクションデータと分析データを統合するダッシュボードとアプリケーション |
方法 1: Lakebase コンピュートに直接接続する
このメソッドを使用して、Lakebase コンピュートに直接接続し、即時にクエリにアクセスします。
始める前に
プロジェクトのオーナーではない場合は、次の点を確認してください。
- Postgres ロール : データベースにアクセスするための対応する Postgres ロール。「Postgres ロールの管理」を参照してください。
- データベース権限 : データベース、スキーマ、またはテーブルにアクセスするために必要な権限。「権限の管理」を参照してください。
必要な役割または権限がない場合は、プロジェクト オーナーに連絡してアクセスをリクエストしてください。
Lakebase コンピュートに接続するには、Lakebase コンピュートがアクティブな状態である必要があります。 コンピュートがアイドル状態の場合はアタッチできません。 通常、ゼロへのスケールが有効でデータベース アクティビティがない場合、コンピュートは非アクティブになります。
アイドル状態のコンピュートをアクティブにするには、Lakebase SQLエディターでクエリを実行するか、ゼロへのスケールを無効にしてコンピュートがアクティブなままであることを確認します。 「ゼロにスケール」を参照してください。
Lakebase コンピュートに直接接続するには:
- アプリスイッチャーを使用してレイクハウスに移動します。
- クリックしてSQLエディタを開きます
サイドバーの SQL エディター 。
- [接続] ドロップダウン メニューから [詳細...] を選択します。

- [既存のコンピュート リソースにアタッチ] ダイアログで、 Lakebase Postgres を 選択し、 オートスケール オプションを選択して、 プロジェクト と ブランチ を選択します。

- 「添付」 をクリックして接続します。
直接接続のクエリ例
接続後、Lakebase データベースに対して標準の Postgres SQL クエリを実行できます。
テーブルを作成し、データを挿入してクエリを実行します。
CREATE TABLE IF NOT EXISTS playing_with_lakebase(id SERIAL PRIMARY KEY, name TEXT NOT NULL, value REAL);
INSERT INTO playing_with_lakebase(name, value)
SELECT LEFT(md5(i::TEXT), 10), random() FROM generate_series(1, 10) s(i);
SELECT * FROM playing_with_lakebase;
特定のテーブルをクエリします。
SELECT * FROM public.playing_with_lakebase;
直接接続の制限:
- フェデレーション クエリはサポートされていません 。接続された Lakebase プロジェクトとブランチに対してのみクエリを実行できます。単一のクエリで Lakebase データを他の Unity Catalog テーブルと組み合わせることはできません。
- Postgres メタコマンドはサポートされていません : Lakebase SQLエディターで動作するPostgres メタコマンド(
\dt、\d、\lなど) はSQLエディター (レイクハウス) では動作しません。
方法2: Unity Catalogにデータベースを登録する
このメソッドを使用して、Lakebase データベースをUnity Catalogに登録し、データ ソース全体でフェデレーション クエリと統合ガバナンスを有効にします。
始める前に
以下を確認してください:
- Postgres ロール : データベースにアクセスするための対応する Postgres ロール。「Postgres ロールの管理」を参照してください。
- データベース権限 : データベース、スキーマ、またはテーブルにアクセスするために必要な権限。「権限の管理」を参照してください。
- Unity Catalog権限 : データベースを登録するためのUnity Catalogメタストアに対する
CREATE CATALOG権限 - SQLウェアハウス : 登録されたカタログをクエリするためのサーバレスSQLウェアハウス
必要な役割または権限がない場合は、プロジェクト オーナーに連絡してアクセスをリクエストしてください。
データベースを登録する
Unity Catalogに Lakebase データベースを登録するには:
- アプリスイッチャーを使用してレイクハウスに移動します。
- カタログ エクスプローラーで、プラス アイコンをクリックし、 カタログを作成します 。
- カタログ名を入力します (例:
lakebase_catalog)。 - カタログ タイプとして Lakebase Postgres を選択し、 オートスケール オプションを選択します。
- プロジェクト、ブランチ、Postgres データベースを選択します。
- 作成 をクリックします。
カタログはカタログ エクスプローラーに表示され、スキーマ、テーブル、ビューを参照できます。
Unity Catalogを介したクエリ
登録後、 SQLまたはUnity Catalogに接続するツールを使用して、Lakebase データベースにクエリを実行します。
登録されたデータベースをクエリします。
-- Query a registered :re[LKB] database
SELECT * FROM chatbot_catalog.public.conversations
WHERE created_at >= current_date - INTERVAL 7 DAYS;
Lakebase とレイクハウスのデータを結合します。
-- Join :re[LKB] and Unity Catalog data
SELECT
c.conversation_id,
c.user_id,
c.agent_response,
u.user_name,
u.subscription_tier
FROM chatbot_catalog.public.conversations c
JOIN main.user_analytics.users u
ON c.user_id = u.user_id;
Unity Catalog権限と他のユーザーへのアクセス権の付与に関する情報については、 「権限とアクセス制御」を参照してください。
Unity Catalog登録の制限:
- 読み取り専用アクセス : Lakebase データベースから登録されたカタログは、Unity Catalog を通じて読み取り専用になります。データを変更するには、Lakebase SQL エディターを使用するか、データベースに直接接続します。
- カタログごとに 1 つのデータベース : 各 Unity Catalog カタログは 1 つの Lakebase データベースを表します。複数のデータベースを公開するには、それぞれを個別に登録します。
- メタデータ同期 : Unity Catalog はメタデータをキャッシュして Postgres リクエストを削減します。新しいオブジェクトはすぐには表示されない場合があります。クリック
完全な更新をトリガーします。
Unity Catalogでのデータベースの登録に関する詳細については、 Unity Catalogでの Lakebase データベースの登録」を参照してください。
次のステップ
- メタコマンドや EXPLAIN/ANALYZE などの Postgres ネイティブ機能には、Lakebase SQL エディターを使用します。Lakebase SQL エディターからのクエリを参照してください。
- Postgres ロールを作成して、ユーザーを追加し、データベース アクセスを許可します。「Postgres ロールの管理」を参照してください。
- 非アクティブ時にコンピュートをいつ中断するかを制御します。 「ゼロにスケール」を参照してください。