Executing SQL Queries — Multi-Language Reference
Execute raw and parameterized SQL queries from any programming language.
Execute standard PostgreSQL queries with automatic timing telemetry and structured JSON results from any language.
SQL Query Execution
const { rows, columns, duration_ms, row_count } = await db.query(`
SELECT id, email, created_at
FROM users
WHERE status = 'active'
ORDER BY created_at DESC
LIMIT 25;
`, 25)
console.log(`Fetched ${row_count} rows in ${duration_ms}ms`)
res = requests.post(
f"{BASE_URL}/api/dbaas/v2/projects/{SLUG}/query",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"query": "SELECT id, email, created_at FROM users WHERE status = 'active' ORDER BY created_at DESC LIMIT 25;",
"limit": 25
}
)
result = res.json()
print(f"Fetched {result['row_count']} rows in {result['duration_ms']}ms")
curl -X POST https://db.echo.oqens.me/api/dbaas/v2/projects/production-app/query \
-H "Authorization: Bearer oq_live_..." \
-H "Content-Type: application/json" \
-d '{"query": "SELECT id, email FROM users LIMIT 10;", "limit": 10}'
Request & Response Specification
| Field | Type | Description |
|---|---|---|
ok |
boolean |
true when query execution succeeds. |
columns |
string[] |
Column names returned by PostgreSQL. |
rows |
object[] |
Array of row objects mapping column names to typed values. |
duration_ms |
number |
Execution latency on the PostgreSQL cluster in milliseconds. |
row_count |
number |
Total count of rows returned or affected. |
Security & Guardrails
- Blocked SQL Commands:
DROP DATABASE,ALTER SYSTEM,COPY ... TO/FROM PROGRAM,PG_READ_FILE,PG_WRITE_FILE. - Query Timeout: 15,000ms (15 seconds) hard cutoff.