PostgreSQL
Daten wie Anlagen, Tags, Benutzer und Workflows – also relationale Daten mit überschaubarer Menge – befinden sich hier. Alle Abfragen, die Joins, Constraints und Transaktionen benötigen, laufen über diese Datenbank.
| Element | Wert |
|---|---|
| Port | 5432 |
| Hauptdatenbank | pp |
| Weitere Datenbanken | temporal · temporal_visibility · kestra · hive-metastore-230 |
| Konto | plantpulse |
| Authentifizierung | scram-sha-256 |
Verbinden
docker exec -it plantpulse-datalake pd node psql
Um nur eine einzelne Zeile auszuführen:
docker exec plantpulse-datalake pd node psql -c "SELECT 1;"
Wenn Sie es über den Browser tun möchten, nutzen Sie die Data Gateway-Konsole – diese ist mit Berechtigungen und Auditing versehen.
Beispiele
Welche Tabellen gibt es derzeit?
\dt -- psql 메타명령
-- 또는 표준 SQL 로
SELECT table_name FROM information_schema.tables
WHERE table_schema = 'public' ORDER BY 1;
Anlagen und deren Tag-Anzahl
SELECT e.equipment_id, e.equipment_name, count(t.tag_id) AS tags
FROM tm_equipment e
LEFT JOIN tm_tag t ON t.equipment_id = e.equipment_id
GROUP BY e.equipment_id, e.equipment_name
ORDER BY tags DESC
LIMIT 20;
Größe je Tabelle – wo wächst es?
SELECT relname AS table,
pg_size_pretty(pg_total_relation_size(relid)) AS size
FROM pg_catalog.pg_statio_user_tables
ORDER BY pg_total_relation_size(relid) DESC
LIMIT 15;
Langsame Abfragen, die gerade laufen
SELECT pid, now() - query_start AS elapsed, state, left(query, 80) AS query
FROM pg_stat_activity
WHERE state <> 'idle' AND now() - query_start > interval '5 seconds'
ORDER BY elapsed DESC;
Kommt die Replikation hinterher?
SELECT client_addr, state, sent_lsn, replay_lsn,
pg_wal_lsn_diff(sent_lsn, replay_lsn) AS lag_bytes
FROM pg_stat_replication;
Wissenswertes
- 🔴 Suchen Sie hier keine Zeitreihen. Tag-Werte liegen in Aster TSDB → CQL.
- Rollen-Passwörter werden bei jedem Booten anhand der Sidecar-Werte synchronisiert (
ALTER ROLE, idempotent). Um Kontopasswörter zu ändern, siehe Passwörter · API-Schlüssel ändern. hive-metastore-230ist der Metastore, den Spark und Hive verwenden. Nicht manuell ändern.
Siehe auch
- Datenbankmodell – Tabellenliste und ERD
- Spark SQL – Massenscans und datenbankübergreifende Joins