Appearance
用 SQL Editor 跑互動查詢
何時用這份文件 你需要查資料、跑探索 query,但不該為了快繞道直接
psql/mysqlclient 連 DB(會失去 audit 軌跡與 masking 保護)。改走 Argus SQL Editor 即可滿足合規 + 加快速度。
前置條件
- 帳號已被指派
projectQuerier或projectOwner角色(含 SQL Editor 權限) - 目標 database 已在 Argus instance 註冊
- 目標 database 已被加進你所屬的 project
不確定有沒有權限?問你的 workspace admin,或先去
Databases頁面看能不能看見該 database。
怎麼開
左下 sidebar → SQL Editor → 選 database → 開 worksheet。
也可以從 Databases → <某 db> → Open in SQL Editor 直接帶入該 database 上下文。
跑一個 query
- 在中間 editor 輸入 SQL(Monaco 編輯器,含 SQL 補全)
- 按
Run(或Cmd/Ctrl + Enter) - 下方結果區出現 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
含意:rows 仍存在於 DB,只是 Argus 不傳那麼多。用 LIMIT 收窄、或用 Export 拿完整結果。
真實 UI 截圖:/images/screenshot-result-truncated.png(補圖中)。
Rule violation banner(A2 PR-1 — 互動 advisor)
含意:你跑的 SQL 觸發了 N 條 advisor 規則。查詢沒被擋,但結果已留稽核。
ERROR 含任一條 → 紅色 banner
只有 WARNING → 黃色 banner
| 嚴重度 | 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。
每筆歷史顯示:
- 時間戳
- Violation badge(若該次跑出 violation)— 紅/黃數字 chip,hover 看 ERROR / WARNING 細項
- 截斷後的 SQL preview
真實 UI 截圖:/images/screenshot-history-badge.png(補圖中)。
點任一筆 → SQL 帶回 editor,可重跑或修改。
歷史是「你自己跑過的」query。Auditor 想看跨 user 的查詢紀錄要去 audit log。
匯出結果
跑完 query 後,結果區右上 → Export。
| 格式 | 適用 |
|---|---|
| CSV | Excel / Sheets |
| JSON | 程式處理 |
| XLSX | Excel 直接打開 |
| SQL | INSERT 語句重灌 |
Export 也跑 advisor + 寫 audit log,跟 Query 同等待遇。
Workspace 設定可關 export(
disable_exportpolicy)或關 copy(disable_copy_data)— 如果 Export button 不見了,跟 workspace admin 確認 policy。
AdminExecute 模式(DBA 用)
Developer 一般用不到;列在這裡只是讓你知道左下角 mode toggle 是幹嘛的。如果你不是 DBA,不要切到
Adminmode 跑 DDL — 走 Plan 流程才有審批 + 回滾保護。
DBA 視角的 SOP:用 AdminExecute 緊急直跑。
常見錯誤
| 訊息 / 現象 | 含意 | 怎麼解 |
|---|---|---|
failed to get database connection: ... password authentication failed | Argus 的 datasource 憑證錯了 | 跟 admin 反映;不是你能解的 |
permission denied for table users | DB-layer 權限不夠(驅動層) | 看 DB 上 grant;Argus 的 IAM 過了不代表 driver 過 |
| Result panel 灰掉,無 banner | timeout 中斷 | 加 LIMIT / 加 WHERE 收窄 |
| Banner 出現但點不開 | 通常是 advisor 還在跑(5s 內),稍候 | 已經拿到 result 就先看 result |
違規 banner 永遠出現某條 STATEMENT_OBJECT_OWNER_CHECK | advisor 規則在某些測試 schema 上 panic-recover,會顯示成 fake ERROR | 把該條當雜訊;ops 已知問題 |
跟 Plan 流程的取捨
| 場景 | 用 SQL Editor | 走 Plan 流程 |
|---|---|---|
| 開發階段查資料 | ✅ | — |
| 撈報表(一次性) | ✅ Export | — |
| 正式 schema 變更 | — | ✅ |
| 正式 DML 修資料 | — | ✅ |
| 緊急救火(無法走 Plan) | ⚠️ AdminExecute(DBA) | — |
| 跨 environment 同步 | — | ✅ Release |
規則:能走 Plan 就走 Plan。SQL Editor 是補強,不是繞道。
相關
- 概念:SQL Editor 整體
- 概念:Plan Check(同一套 advisor 規則庫的批次表面)
- 任務:查看 plan check 結果
- Auditor:查詢 audit log
- 部署:Settings — Query Restriction