Applications Connected To PostgreSQL / Redis
QuantDB Catalog Map
Database
quantdb · 21 GB
PostgreSQL 16.14 (Ubuntu 16.14-0ubuntu0.24.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0, 64-bit
Extensions
Redis
Reachable · 15 clients observed
db0:keys=48,expires=14,avg_ttl=21543160
Schemas
| Schema | Tables | Views | Indexes | Functions |
|---|---|---|---|---|
_timescaledb_cache | 3 | 0 | 0 | 0 |
_timescaledb_catalog | 21 | 0 | 38 | 0 |
_timescaledb_config | 0 | 1 | 0 | 0 |
_timescaledb_functions | 0 | 0 | 0 | 110 |
_timescaledb_internal | 2446 | 2 | 4891 | 53 |
agentx | 7 | 0 | 29 | 3 |
app | 18 | 0 | 57 | 1 |
bronze | 3 | 0 | 9 | 0 |
data | 44 | 4 | 111 | 0 |
dcc | 7 | 1 | 23 | 0 |
portfolio | 19 | 1 | 32 | 0 |
public | 19 | 9 | 29 | 177 |
raw | 13 | 0 | 15 | 0 |
signals | 24 | 2 | 63 | 0 |
strategy | 9 | 0 | 43 | 1 |
timescaledb_experimental | 0 | 1 | 0 | 5 |
timescaledb_information | 0 | 13 | 0 | 0 |
Largest Tables
| Object | Estimated rows | Size |
|---|---|---|
_timescaledb_internal._hyper_1_2556_chunk | 26,026,191 | 5669 MB |
_timescaledb_internal._hyper_1_2558_chunk | 12,871,441 | 2785 MB |
data.xbrl_raw | 0 | 1433 MB |
dcc.data_points | 0 | 1223 MB |
raw.xbrl_sec | 0 | 1094 MB |
app.portfolio_drafts | 9,930 | 1003 MB |
signals.signals | 893,728 | 937 MB |
signals.signal_feature_snapshots | 127,941 | 784 MB |
data.factset_fundamentals_quarterly | 0 | 736 MB |
signals.derived_indicators | 1,964,564 | 523 MB |
data.factor_scores | 183,473 | 340 MB |
data.factset_fundamentals_annual | 0 | 274 MB |
_timescaledb_internal.compress_hyper_2_2557_chunk | 41,377 | 143 MB |
_timescaledb_internal.compress_hyper_2_2555_chunk | 39,786 | 141 MB |
_timescaledb_internal.compress_hyper_2_2559_chunk | 41,382 | 132 MB |
app.agent_research_log | 29,475 | 107 MB |
_timescaledb_internal.compress_hyper_2_1922_chunk | 35,230 | 105 MB |
_timescaledb_internal.compress_hyper_2_1919_chunk | 33,741 | 98 MB |
data.revision_scores | 191,428 | 90 MB |
_timescaledb_internal.compress_hyper_2_1920_chunk | 34,941 | 85 MB |
_timescaledb_internal.compress_hyper_2_1923_chunk | 41,049 | 83 MB |
_timescaledb_internal.compress_hyper_2_2553_chunk | 30,553 | 82 MB |
_timescaledb_internal.compress_hyper_2_1921_chunk | 35,178 | 79 MB |
signals.external_signals | 46,818 | 78 MB |
data.consensus_snapshots | 268,632 | 77 MB |
_timescaledb_internal.compress_hyper_2_1917_chunk | 33,542 | 74 MB |
_timescaledb_internal.compress_hyper_2_1918_chunk | 33,610 | 73 MB |
_timescaledb_internal.compress_hyper_2_1916_chunk | 33,348 | 69 MB |
data.derived_indicators | 0 | 65 MB |
_timescaledb_internal.compress_hyper_2_1915_chunk | 31,569 | 62 MB |
Pipelines + Cron Jobs
Crontab
| Schedule | Command |
|---|---|
*/15 * * * * | /home/quantdev/apps/portfolio-rebalancer/scripts/cron-trigger.sh /api/cron/rebalance |
*/15 * * * * | /home/quantdev/scripts/memory-monitor.sh >> /home/quantdev/logs/memory-monitor.log 2>&1 |
*/15 * * * * | pm2 list 2>/dev/null | grep -q 'price-feed.*online' || (pm2 start /home/quantdev/apps/price-feed/ecosystem.config.js 2>&1 && echo "[$(date -Iseconds)] price-feed auto-restarted" >> /home/quantdev/apps/price-feed/logs/watchdog.log) |
*/2 * * * * | /home/quantdev/apps/quantclaw-tools/healthcheck.sh |
*/30 * * * * | /home/quantdev/.openclaw/workspace/terminalx-pods/api/update_signals.sh |
*/5 * * * * | /bin/bash /home/quantdev/apps/alpha-generator/pr-watcher.sh >> /home/quantdev/logs/pr-watcher.log 2>&1 |
0 */4 * * * | curl -s -X POST http://localhost:3080/api/governance/sla-check >> /home/quantdev/apps/smartportfolio/logs/sla-check.log 2>&1 |
0 2 * * * | /home/quantdev/apps/price-feed/scripts/daily_quality_cron.sh >> /home/quantdev/apps/price-feed/logs/cron_stderr.log 2>&1 |
0 6 * * * | /home/quantdev/apps/portfolio-rebalancer/scripts/cron-trigger.sh /api/cron/update-returns |
0 6 * * * | python3 /home/quantdev/apps/price-feed/eps_revision_rebuild.py all >> /home/quantdev/apps/price-feed/logs/eps_revision_cron.log 2>&1 |
0 7 1 * * | cd /home/quantdev/apps/price-feed && python3 -c 'import sys; sys.path.insert(0,"."); from model_portfolio.monthly_rebalance_cron import run_monthly_rebalance; run_monthly_rebalance()' >> /home/quantdev/logs/monthly_rebalance.log 2>&1 |
20 7 * * * | /home/quantdev/apps/agentx/scripts/backtest-store-cron.sh |
45 2,8,14,20 * * * | /home/quantdev/apps/price-feed/scripts/price_freshness_monitor.sh >> /home/quantdev/apps/price-feed/logs/freshness_monitor_cron.log 2>&1 |
30 6 * * * | /home/quantdev/apps/vipsignals-engine/scripts/data-quality-check.sh |
45 13 * * 1-5 | /home/quantdev/apps/agentx/scripts/daily-agent-loop.sh |
5 */6 * * * | /home/quantdev/apps/vipsignals-engine/scripts/refresh-prices.sh |
5 20 * * * | timeout 300 /home/quantdev/.openclaw/workspace/wiki/update-shay-wiki.sh |
5 20 * * 1-5 | python3 /home/quantdev/.openclaw/workspace/terminalx-pods/api/signals.py >> /home/quantdev/.openclaw/workspace/terminalx-pods/data/signals.log 2>&1 |
*/15 * * * 1-5 | /home/quantdev/apps/agentx-staging/scripts/staging-agent-loop-cron.sh |
0 */4 * * * | /home/quantdev/apps/quantdb-api/scripts/pipeline-alert.sh >> /home/quantdev/apps/quantdb-api/logs/pipeline-alert-cron.log 2>&1 |
0 3 1 * * | cd /home/quantdev/apps/price-feed && python3 sec_edgar_pit.py >> logs/sec_edgar_pit_cron.log 2>&1 |
0 5 1 * * | cd /home/quantdev/apps/price-feed && python3 pit_factor_scoring.py >> logs/pit_factor_scoring_cron.log 2>&1 |
0 6 1 * * | cd /home/quantdev/apps/price-feed && bash refresh_etf_themes.sh >> logs/etf_themes_cron.log 2>&1 |
0 3 * * 0 | /usr/local/bin/pm2-sqlite-compact.sh >> /home/quantdev/.pm2/logs/sqlite-compact.log 2>&1 |
*/15 13-19 * * 1-5 | /home/quantdev/apps/agentx/scripts/daily-agent-loop.sh |
Systemd User Timers
Sun 2026-06-28 16:10:25 UTC 5h 5min Sat 2026-06-27 16:10:25 UTC 18h ago launchpadlib-cache-clean.timer launchpadlib-cache-clean.service
Code Pipeline Signals
Databricks Lakebase Fit
Assessment
Partial fit. The app-facing OLTP parts of quantdb can map naturally to Lakebase. The heavy analytical/history workload should stay lakehouse-oriented or remain in the current Timescale/Postgres setup until extension support, hypertable behavior, CDC, backup/restore, and connection pooling are tested.
What Lakebase Is
Lakebase Postgres is managed PostgreSQL inside a Databricks workspace.
It is designed for low-latency application reads/writes such as user state, sessions, chat history, logs, and transactional records.
It supports branch-style isolated environments, autoscaling, and scale-to-zero behavior.
Risks
• Current quantdb uses TimescaleDB/hypertable patterns; Lakebase docs describe managed Postgres, but the public developer docs do not confirm TimescaleDB extension compatibility.
• Scale-to-zero resets session context, temporary tables, prepared statements, and pool state, so production app pools need retry/reconnect logic.
• Off-platform apps do not get automatic Databricks credential injection or OAuth token refresh.
• Pure analytics and large read-only workloads belong in Unity Catalog / Data Lakehouse rather than Lakebase.
Recommended Path
• Do not lift-and-shift all quantdb at once.
• Split app state and transactional app tables from historical market-data/time-series tables.
• Create a Lakebase branch proof-of-concept with one low-risk app schema first.
• Use CDC or export/import to sync selected tables to Databricks, then benchmark app latency, pool behavior, and pipeline compatibility.
Source reviewed: Databricks Developer docs, Start Here / Platform Overview / Lakebase Overview / Lakebase Configuration / Lakebase Development.
DBA guardrail: DBA-CLAW request 10eda106-69b9-4981-aadf-8e6495c9e7c4 returned no DBA answer; Approved for read-only PostgreSQL/Redis/app usage audit and local HTML/JSON report generation only; no DB, Redis, deploy, service, cron, pipeline, or config mutations.
Raw Evidence
Full sanitized JSON: /home/quantdev/.openclaw/workspace/reports/quantdb-apps-lakebase-audit.json