Package: postgresql-common Version: 248 Severity: critical When I tried to use "pg_createcluster" to configure my pre-existing PostgreSQL data directory with a new Debian install, it deleted the whole cluster with all databases instead. (This serious data loss justifies "severity critical" according to https://www.debian.org/Bugs/Developer#severities)
Steps to reproduce: pg_createcluster 15 test cp /etc/postgresql/15/test/postgresql.conf /var/lib/postgresql/15/test/ rm -r /etc/postgresql/15/test pg_createcluster 15 test This creates a new cluster just for the demo, then deletes the configuration directory, after copying the postgresql.conf to the data directory. I expect the second "pg_createcluster" call to find the existing data directory and configure it; and it tries to do so indeed: Configuring already existing cluster (configuration: /etc/postgresql/15/test, data: /var/lib/postgresql/15/test, owner: 103:111) After it finds and moves a "postgresql.conf", it however fails to find "pg_hba.conf" Error: move_conffile: required configuration file /var/lib/postgresql/15/test/pg_hba.conf does not exist This fails the whole operation, and apparently, "pg_createcluster" tries to roll back by invoking "pg_dropcluster 15 test 2>/dev/null", destroying all pre-existing data. If "postgresql.conf" does not exist (or is empty), "pg_dropcluster" is not invoked.