Skip to content

用 SQL Editor 跑互動查詢

何時用這份文件 你需要查資料、跑探索 query,但不該為了快繞道直接 psql / mysql client 連 DB(會失去 audit 軌跡與 masking 保護)。改走 Argus SQL Editor 即可滿足合規 + 加快速度。

前置條件

  • 帳號已被指派 projectQuerierprojectOwner 角色(含 SQL Editor 權限)
  • 目標 database 已在 Argus instance 註冊
  • 目標 database 已被加進你所屬的 project

不確定有沒有權限?問你的 workspace admin,或先去 Databases 頁面看能不能看見該 database。

怎麼開

左下 sidebar → SQL Editor → 選 database → 開 worksheet。

也可以從 Databases → <某 db> → Open in SQL Editor 直接帶入該 database 上下文。

跑一個 query

  1. 在中間 editor 輸入 SQL(Monaco 編輯器,含 SQL 補全)
  2. Run(或 Cmd/Ctrl + Enter
  3. 下方結果區出現 rows
sql
SELECT id, email, created_at
FROM users
WHERE created_at >= now() - interval '7 days'
ORDER BY created_at DESC
LIMIT 100;

Limit cap:workspace 設了 maximum_result_rows(預設 1000);query 超過會被 truncate + UI 顯示「結果已截斷」banner。

看懂結果區的訊息

正常結果

下方表格顯示 rows,附帶 latency / rowsCount / is_truncated(如果有截斷)。

Result truncated banner

Result truncated 藍色 banner

含意:rows 仍存在於 DB,只是 Argus 不傳那麼多。用 LIMIT 收窄、或用 Export 拿完整結果。

真實 UI 截圖:/images/screenshot-result-truncated.png(補圖中)。

Rule violation banner(A2 PR-1 — 互動 advisor)

含意:你跑的 SQL 觸發了 N 條 advisor 規則。查詢沒被擋,但結果已留稽核。

ERROR 含任一條 → 紅色 banner

Violation banner — ERROR

只有 WARNING → 黃色 banner

Violation banner — WARNING
嚴重度Banner 顏色你該怎麼做
ERROR × 任一條強烈建議修:點開看細節 + 改 SQL
WARNING看是不是真有意;可接受就繼續,但別習慣性忽略

真實 UI 截圖:/images/screenshot-violation-banner-error.png / /images/screenshot-violation-banner-warning.png(補圖中)。

點 banner 上的箭頭展開後,每條 violation 顯示:

  • 規則 code(如 STATEMENT_SELECT_NO_SELECT_ALL — 別寫 SELECT *
  • 文字說明
  • 觸發行號

為什麼會跑 advisor?A2 PR-1(observable-only 模式)讓 Plan 已有的 280+ 條規則庫同樣作用在互動 path 上。目前 2 週 soak 階段,只記錄不阻擋。soak 結束後 PR-2 可能引入 BLOCK_HIGH_RISK 模式 — 提前修就不會被未來政策追到。

Masking 提示

某些欄位回傳 ***xxx@*** 而非原始值 — 表示該欄位被 Sensitive Data policy 遮蔽。

想看原始值?怎麼做
短期 incident 需要申請 Access Grant(IAM unmask 路徑)
長期工作流要看改 Sensitive Data policy(找 workspace admin)
一次性錯誤判斷不要硬看 — 寫 query 時想清楚是不是真的需要這欄

看歷史記錄(HistoryPane)

右側 panel → History tab。

HistoryPane row 含 violation badge

每筆歷史顯示:

  • 時間戳
  • Violation badge(若該次跑出 violation)— 紅/黃數字 chip,hover 看 ERROR / WARNING 細項
  • 截斷後的 SQL preview

真實 UI 截圖:/images/screenshot-history-badge.png(補圖中)。

點任一筆 → SQL 帶回 editor,可重跑或修改。

歷史是「你自己跑過的」query。Auditor 想看跨 user 的查詢紀錄要去 audit log

匯出結果

跑完 query 後,結果區右上 → Export

格式適用
CSVExcel / Sheets
JSON程式處理
XLSXExcel 直接打開
SQLINSERT 語句重灌

Export 也跑 advisor + 寫 audit log,跟 Query 同等待遇。

Workspace 設定可關 export(disable_export policy)或關 copy(disable_copy_data)— 如果 Export button 不見了,跟 workspace admin 確認 policy。

AdminExecute 模式(DBA 用)

Developer 一般用不到;列在這裡只是讓你知道左下角 mode toggle 是幹嘛的。如果你不是 DBA,不要切到 Admin mode 跑 DDL — 走 Plan 流程才有審批 + 回滾保護。

DBA 視角的 SOP:用 AdminExecute 緊急直跑

常見錯誤

訊息 / 現象含意怎麼解
failed to get database connection: ... password authentication failedArgus 的 datasource 憑證錯了跟 admin 反映;不是你能解的
permission denied for table usersDB-layer 權限不夠(驅動層)看 DB 上 grant;Argus 的 IAM 過了不代表 driver 過
Result panel 灰掉,無 bannertimeout 中斷LIMIT / 加 WHERE 收窄
Banner 出現但點不開通常是 advisor 還在跑(5s 內),稍候已經拿到 result 就先看 result
違規 banner 永遠出現某條 STATEMENT_OBJECT_OWNER_CHECKadvisor 規則在某些測試 schema 上 panic-recover,會顯示成 fake ERROR把該條當雜訊;ops 已知問題

跟 Plan 流程的取捨

場景用 SQL Editor走 Plan 流程
開發階段查資料
撈報表(一次性)✅ Export
正式 schema 變更
正式 DML 修資料
緊急救火(無法走 Plan)⚠️ AdminExecute(DBA)
跨 environment 同步✅ Release

規則:能走 Plan 就走 Plan。SQL Editor 是補強,不是繞道。

相關

Argus — 公司內部資料庫變更審計平台