Tink vs PostgreSQL Exporter
postgres_exporter is Prometheus's official PostgreSQL scrape: a :9187 /metrics endpoint of pg_up and database-stat gauges. That is not a mechanic. Tink installs in one command, watches the Linux server, explains what is wrong, and helps you fix it.
postgres_exporter exposes pg_* gauges. Tink answers “why is this VPS sick?”
Accidental sysadmins land on postgres_exporter because every Postgres + Prometheus diagram starts with a database scrape. Then the disk fills, nginx dies, and Grafana is quiet — nothing scraped, so nothing fired.
Tink is the other job: detect the issue on the machine, say why it happened in plain English, propose the command, and run it only after you approve. Keep postgres_exporter if you already operate Prometheus and need PostgreSQL gauges. Use Tink if you run Linux servers and want a mechanic.
| Feature | Tink | PostgreSQL Exporter |
|---|---|---|
| Setup time | 30 seconds (one curl | sh command) | Hours — binary, exporter Postgres role, DATA_SOURCE_NAME, :9187, prometheus.yml scrape job, dashboards, and Alertmanager |
| What you get | Working monitoring, diagnosis, and approved fixes | A PostgreSQL scrape target. Host disk, nginx, and certs stay your problem until PromQL fires and you SSH in |
| Pricing | Free (Scout) / $9 / $29 per machine per month | Free software (Apache 2.0). You still pay for Prometheus, Grafana, Alertmanager, and the engineer who writes the rules |
| Hidden costs | None — fully managed | A GRANT for the exporter role, collector flags, pg_stat_statements noise, and a second tool to tell you the box is sick |
| Monitoring approach | Agent on the server — CPU, disk, services, logs, certs, ports | pg_up and pg_stat_database_* gauges. postgres_exporter does not watch host disk or a quiet cert unless you added another exporter |
| Configuration | None after install — heuristics and AI | DATA_SOURCE_NAME, --collector.* flags, /probe multi-target, scrape intervals, and which PromQL actually pages you |
| Plain-English diagnosis | Yes — AI explains root cause, impact, and fix | You graph pg_stat_database_numbackends in Grafana, then SSH in to change the box |
| Fix execution | Proposes and executes approved commands with an audit trail | Export only — postgres_exporter cannot restart postgresql or free disk |
| Alerting | Built-in across 8 channels | Not a PostgreSQL Exporter job — Prometheus rules and Alertmanager have to fire |
| Predictive alerts | Yes — disk fills in ~6 days, memory and CPU trends | Not an exporter job — a pg_stat scrape does not forecast a quiet volume |
| SSH brute-force detection | Built-in — parses auth.log every scan | Only if you ship auth.log elsewhere, parse it, write a query, and wire an alert downstream |
| Machine offline detection | Agent presence monitoring with multi-channel alerts | Silence if postgres_exporter dies — unless you built an up{job="postgres"} deadman check |
| Public status page | Shareable URL with 90-day history | None — postgres_exporter has no customer-facing status page |
| Weekly fleet digest | Automated Monday digest + daily brief when issues are open | None — a PostgreSQL scrape target is not a plain-English fleet narrative |
| On-call tracking | Built-in /oncall command + incident acknowledgment | Not included — wire Alertmanager into PagerDuty or another incident tool |
| Conversation interface | Telegram, WhatsApp, web dashboard, CLI | curl :9187/metrics and Grafana. No mechanic you text when WAL filled the disk |
| Learning curve | None — works after install | Steep — GRANT, collector flags, PromQL, scrape configs, and which rule actually pages |
| Best for | Freelancers, small teams, accidental sysadmins (1-50 Linux servers) | Teams that already run Prometheus and need PostgreSQL scrapes, not a sick-VPS mechanic |
When PostgreSQL Exporter is the right choice
Keep postgres_exporter when you already want that exact job:
- Prometheus PostgreSQL scrapes — you need pg_stat_database_tup_fetched in PromQL, not a mechanic.
- Per-database gauges — connections, locks, and replication lag matter more than host nginx, certs, and SSH on a quiet VPS.
- An existing Prometheus + Grafana stack — postgres_exporter already ships, dashboards already graph, and someone owns Alertmanager.
- Hosts that only export — you already run postgres_exporter next to Postgres, not a sick-box SSH loop.
The real cost of “just run postgres_exporter”
A database exporter is in every Postgres + Prometheus diagram. A working ops loop for five Linux boxes is not:
- An exported pg_stat metric still means you SSH in and change the box by hand
- Host disk, nginx, certs, and SSH brute-force never appear unless you scraped those signals and Alertmanager paged
- DATA_SOURCE_NAME secrets, collector flags, and PromQL cardinality punish the hours you spend debugging targets
- A single VPS with a dead postgres_exporter still needs a mechanic, not another scrape job
For a 5-server team, Tink Mechanic at $45/month is cheaper than postgres_exporter plus the engineer who keeps Prometheus scrape alive, and every scan includes a diagnosis a quiet /metrics endpoint will not type.
No prometheus.yml homework. No silent host. One command install.
Start MechanicAlso compare: Tink vs Node Exporter · Tink vs Prometheus · Tink vs cAdvisor