Lakebase SQL 編輯器會直接從 Lakebase 應用程式對你的 Lakebase 資料庫執行查詢。 它提供 Postgres 原生功能,如 EXPLAIN/ANALYZE、 psql-style 元指令,以及將結果匯出為 CSV/JSON/XLSX。
備註
你也可以在 Lakehouse 的 SQL 編輯器查詢你的 Lakebase 資料庫,該編輯器提供視覺化、儀表板、協作功能,並能將 Lakebase 資料與其他 Unity 目錄資料表合併。 請參考 SQL 編輯器查詢(Lakehouse)。
使用 Lakebase SQL 編輯器
使用 SQL 編輯器:
- 打開 Lakebase 應用程式並選擇你的專案。
- 從側邊欄選擇 SQL 編輯器 ,然後選擇分支和資料庫。
- 在編輯器中輸入查詢,並點擊 執行 即可查看結果。
請使用以下查詢來嘗試 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;
同時執行多個查詢陳述式會為每個陳述式返回獨立的結果集。 執行結果會依照順序編號,並顯示在各自的分頁中。
要清除編輯器,請選擇文字框內容並刪除。
解釋與分析
Lakebase SQL 編輯器具備 解釋 與 分析 功能。
- Explain 功能會用 Postgres EXPLAIN 指令執行指定的查詢,該指令會回傳查詢的執行計畫。 「解釋」功能只會回傳帶有估算的計畫。 它不會執行查詢。
-
Analyze 功能會用 EXPLAIN ANALYZE 執行指定的查詢。 參數
ANALYZE執行查詢,並回傳計畫節點的實際列數與執行時間,以及估計值EXPLAIN。
理解 Explain and Analyze 功能所提供的資訊,需要熟悉 Postgres EXPLAIN 指令及其 ANALYZE 參數。 請參閱 EXPLAIN 文件,以及 PostgreSQL 文件中的 Using EXPLAIN。
匯出資料為 CSV、JSON 和 XLSX
Lakebase SQL 編輯器支援將資料匯出為 JSON、 CSV、 XLSX和 。 請從 SQL 編輯器 頁面右下角的下載按鈕操作。 當有可供下載的結果集時,下載按鈕才會出現。
SQL 編輯器視窗中的展開結果區塊
從 SQL 編輯器 頁面右下角選擇展開視窗按鈕,展開結果區塊。
元指令
Lakebase SQL 編輯器支援使用 Postgres 元指令,這些指令就像是與資料庫互動的捷徑。 如果你已經熟悉從命令列介面使用元指令 psql ,可以在 Lakebase SQL 編輯器中使用許多相同的指令。
元指令能加快您的工作流程,提供快速存取資料庫結構及其他關鍵資訊,無需撰寫完整的 SQL 查詢。
以下是 Lakebase SQL 編輯器中常用的一些元指令:
-
\dt— 列出目前資料庫中的所有資料表 -
\d [table_name]— 描述表格結構 -
\l— 列出所有資料庫 -
\?— 可用的 meta 指令速查表 -
\h [NAME]— 尋求任何Postgres指令的協助(例如,\h SELECT)
備註
並非所有 psql 元指令都支援 SQL 編輯器。 要取得支援指令清單,請使用 \?.
關於完整的元指令及其使用方式,請參見 psql 中的元指令。
如何使用元指令
若要在 SQL 編輯器中使用 meta-command,請在編輯器中輸入 meta-command(就像 SQL 查詢一樣),然後點擊 執行。 結果會顯示在輸出面板中。
當公開存取被關閉時,SQL 編輯器的限制
當你的工作區設定了 Private Link 並關閉公開存取時,SQL 編輯器會透過 Lakebase 後端代理查詢,而非直接使用資料庫連線。 大多數查詢的運作方式與直接連線相同,但代理伺服器是無狀態的,並將每個語句作為獨立的 HTTP 請求執行,這會帶來以下限制:
什麼有效:
- 單語句查詢(SELECT, INSERT, UPDATE, DELETE, UPSERT)
- DDL 陳述式(CREATE、ALTER、DROP TABLE、CREATE INDEX 及其他)
-
EXPLAIN 和 DESCRIBE 命令(
\d、\dt、\di) - 完整 Postgres 資料型別支援(陣列、JSON/JSONB、數值、時間戳、布林值)
- 查詢結果與錯誤訊息
無法運作的項目:
| Feature | 限度 |
|---|---|
| 交易 |
BEGIN、COMMIT、ROLLBACK以及SAVEPOINT都無法如預期運作。 每個語句會獨立自動提交,且沒有原子性保證。 |
| 會話狀態 |
SET 且 SET LOCAL 僅適用於目前的申請。 後續帳單中不再提供臨時表格、預備報表、游標及諮詢鎖。 |
| 監聽/通知 | 需要持續連線以發送非同步通知,但代理伺服器不支援此連線。 |
| 從 STDIN 複製 | 無法透過代理伺服器串流用戶端資料。 |
\watch |
無法透過無狀態代理定期重新執行查詢。 |
| 取消查詢 | 取消只是盡力而為。 查詢可在取消請求後繼續在後端執行。 |
| 多陳述式指令碼 | 陳述式會在未共用交易的情況下執行。 部分腳本失敗會導致部分提交。 |
| 結果大小限制 | 查詢結果限制為 32 MB。 |
對於需要交易或會話狀態的工作負載,請直接使用 Postgres 用戶端連接到你的資料庫。 請參見 Connect with psql。
Troubleshoot
如果 SQL 編輯器顯示「Failed to get 」或「Unknown error」的訊息,而你的工作區使用 Private Link,請確認入站的 Private Link(工作區層級,埠號 443)是否正確設定。 請參見 私人連接疑難排解 (Troubleshoot Private Link connectivity)。