Back to skills
SKILL.md
Managing Risingwave
ASecurityUse when working with Risingwave — risingWave streaming database management — monitor sources, sinks, materialized views, clusters, query performance, and ingestion health. Use when debugging stream processing lag, inspecting view dependencies, auditing data freshness, or reviewing cluster capacity.
- 6 stars
- 0 votes
- 0 copies
- 1 view
- Added September 8, 2026
Works with
Security analysis
100/100npx -y skills add cloudthinker-ai/CloudSkills --skill managing-risingwave --agent claude-codeAre you the author of Managing Risingwave?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/cloudthinker-ai-managing-risingwave)---
name: managing-risingwave
description: |
Use when working with Risingwave — risingWave streaming database management —
monitor sources, sinks, materialized views, clusters, query performance, and
ingestion health. Use when debugging stream processing lag, inspecting view
dependencies, auditing data freshness, or reviewing cluster capacity.
connection_type: risingwave
preload: false
---
# Managing RisingWave
Manage and monitor RisingWave streaming database — sources, sinks, materialized views, and cluster health.
## Discovery Phase
```bash
#!/bin/bash
rw_cmd() {
psql "$RISINGWAVE_URL" --no-psqlrc -t -A -F $'\t' -c "$1" 2>/dev/null
}
echo "=== Databases ==="
rw_cmd "SELECT datname FROM pg_database ORDER BY datname;" | head -10
echo ""
echo "=== Schemas ==="
rw_cmd "SELECT schema_name FROM information_schema.schemata ORDER BY schema_name;" | head -10
echo ""
echo "=== Sources ==="
rw_cmd "SELECT name, connector, owner, definition
FROM rw_sources
ORDER BY name
LIMIT 15;" | column -t
echo ""
echo "=== Materialized Views ==="
rw_cmd "SELECT name, owner, definition
FROM rw_materialized_views
ORDER BY name
LIMIT 15;" | column -t
echo ""
echo "=== Sinks ==="
rw_cmd "SELECT name, connector, sink_type, owner
FROM rw_sinks
ORDER BY name
LIMIT 10;" | column -t
echo ""
echo "=== Tables ==="
rw_cmd "SELECT table_name, table_schema
FROM information_schema.tables
WHERE table_schema NOT IN ('pg_catalog', 'information_schema', 'rw_catalog')
ORDER BY table_name
LIMIT 15;" | column -t
```
## Analysis Phase
```bash
#!/bin/bash
rw_cmd() {
psql "$RISINGWAVE_URL" --no-psqlrc -t -A -F $'\t' -c "$1" 2>/dev/null
}
echo "=== Cluster Nodes ==="
rw_cmd "SELECT host, role, state
FROM rw_worker_nodes
ORDER BY role;" | column -t | head -10
echo ""
echo "=== Source Throughput ==="
rw_cmd "SELECT source_name, split_id,
rows_per_second, bytes_per_second
FROM rw_source_stats
ORDER BY rows_per_second DESC
LIMIT 10;" | column -t
echo ""
echo "=== Barrier Latency ==="
rw_cmd "SELECT worker_id, barrier_latency_ms, inflight_barrier_count
FROM rw_streaming_stats
ORDER BY barrier_latency_ms DESC
LIMIT 10;" | column -t
echo ""
echo "=== MV Dependencies ==="
rw_cmd "SELECT mv.name AS mv_name, dep.name AS depends_on
FROM rw_materialized_views mv
JOIN rw_relations dep ON mv.definition LIKE '%' || dep.name || '%'
LIMIT 15;" | column -t
echo ""
echo "=== Running Queries ==="
rw_cmd "SELECT pid, state, LEFT(query, 80) AS query_preview,
now() - query_start AS duration
FROM pg_stat_activity
WHERE state = 'active' AND pid != pg_backend_pid()
LIMIT 10;" | column -t
echo ""
echo "=== Sink Status ==="
rw_cmd "SELECT name, connector, sink_type
FROM rw_sinks
LIMIT 10;" | column -t
```
## Output Format
```
CLUSTER NODES
Host Role State
<host> <role> running
SOURCES
Name Connector Owner
<source> <connector> <owner>
MATERIALIZED VIEWS
Name Owner Definition
<mv-name> <owner> <definition>
SOURCE THROUGHPUT
Source Split Rows/sec Bytes/sec
<source> <id> <n> <n>
BARRIER LATENCY
Worker Latency (ms) Inflight Barriers
<worker> <ms> <n>
```
## Anti-Hallucination Rules
1. **NEVER assume resource names** — always discover via CLI/API in Phase 1 before referencing in Phase 2.
2. **NEVER fabricate metric names or dimensions** — verify against the service documentation or `--help` output.
3. **NEVER mix CLI commands between service versions** — confirm which version/API you are targeting.
4. **ALWAYS use the discovery → verify → analyze chain** — every resource referenced must have been discovered first.
5. **ALWAYS handle empty results gracefully** — an empty response is valid data, not an error to retry.
## Counter-Rationalizations
| Shortcut | Counter | Why |
|----------|---------|-----|
| "I'll skip discovery and check known resources" | Always run Phase 1 discovery first | Resource names change, new resources appear — assumed names cause errors |
| "The user only asked for a quick check" | Follow the full discovery → analysis flow | Quick checks miss critical issues; structured analysis catches silent failures |
| "Default configuration is probably fine" | Audit configuration explicitly | Defaults often leave logging, security, and optimization features disabled |
| "Metrics aren't needed for this" | Always check relevant metrics when available | API/CLI responses show current state; metrics reveal trends and intermittent issues |
| "I don't have access to that" | Try the command and report the actual error | Assumed permission failures prevent useful investigation; actual errors are informative |
Attribution
Comments
Loading comments…