postgres:daemon_listener
Inhaltsverzeichnis
PostgreSQL: Listen/Notify-Daemon für automatische Datenbank-Erstellung
Kurznotiz zum Projekt db_listener im Repo postgresql_snippets / daemon_listener: Ein dauerhaft laufender Python-Dienst lauscht per LISTEN auf dem Kanal `create_database`. Nach einem `NOTIFY create_database, '<dbname>'` wird die genannte Datenbank angelegt und per SQL-Skripte mit Schema, Rollen und Rechten initialisiert.
Einordnung
Das gehört thematisch zu PostgreSQL-Betrieb und Automatisierung (neben den übrigen Notizen unter postgres: zu DDL-Audit und Statistik). Es ist kein Replikations- oder Low-Level-Protokoll-Listener, sondern ein Anwendungs-Daemon, der Benachrichtigungen nutzt, um Provisionierung asynchron auszulösen.
Technik (Überblick)
- Laufzeit: Python 3 mit psycopg2
- Steuerverbindung typischerweise zur Datenbank
postgres(im Originalbeispiel Port 6432 — oft PgBouncer; Rolle creator) - Schleife: LISTEN create_database, Warten, Payload = Datenbankname, danach
CREATE DATABASEund Abarbeiten der mitgelieferten SQL-Dateien (u. a.init_managed_database.sql,create_managed_schema.sql) - Bereitstellung über systemd (
db_listener.service, Benutzer z. B.sqladmin)
Stichworte
PostgreSQL, LISTEN, NOTIFY, Provisionierung, Python, systemd, db_listener, psycopg2
postgres/daemon_listener.txt · Zuletzt geändert: von 127.0.0.1
