postgresql_cluster
postgresql_cluster copied to clipboard
Error after changing default postgres storage location
Hello,
I am getting following issue after changing default storage folder, it doesn't pickup properly after changing OS "Debian" variable
# PostgreSQL variables
postgresql_cluster_name: "main"
postgresql_data_dir: "/opt/data/postgresql/{{ postgresql_version }}/{{ postgresql_cluster_name }}" # You can specify custom data dir path
postgresql_wal_dir: "" # custom WAL dir path (symlink will be created) [optional]
postgresql_conf_dir: "/etc/postgresql/{{ postgresql_version }}/{{ postgresql_cluster_name }}"
postgresql_bin_dir: "/usr/lib/postgresql/{{ postgresql_version }}/bin"
postgresql_log_dir: "/var/log/postgresql"
postgresql_unix_socket_dir: "/var/run/postgresql"
postgresql_home_dir: "/opt/data/postgresql"
# stats_temp_directory (mount the statistics directory in tmpfs)
postgresql_stats_temp_directory_path: "/opt/data/pgsql_stats_tmp" # or 'none'
postgresql_stats_temp_directory_size: "1024m"
Testing to redeploy using default username "postgres"
patroni_superuser_username: "postgres"
And getting following error:
Apr 27 03:24:46 pgsql01 patroni[1504265]: 2022-04-27 03:24:46,472 INFO: Selected new etcd server http://192.168.169.152:2379
Apr 27 03:24:46 pgsql01 patroni[1504265]: 2022-04-27 03:24:46,480 INFO: No PostgreSQL configuration items changed, nothing to reload.
Apr 27 03:24:46 pgsql01 patroni[1504265]: 2022-04-27 03:24:46,519 INFO: Lock owner: None; I am pgsql01
Apr 27 03:24:46 pgsql01 patroni[1504265]: 2022-04-27 03:24:46,551 INFO: trying to bootstrap a new cluster
Apr 27 03:24:46 pgsql01 patroni[1504305]: The files belonging to this database system will be owned by user "postgres".
Apr 27 03:24:46 pgsql01 patroni[1504305]: This user must also own the server process.
Apr 27 03:24:46 pgsql01 patroni[1504305]: The database cluster will be initialized with locale "en_US.UTF-8".
Apr 27 03:24:46 pgsql01 patroni[1504305]: The default text search configuration will be set to "english".
Apr 27 03:24:46 pgsql01 patroni[1504305]: Data page checksums are enabled.
Apr 27 03:24:46 pgsql01 patroni[1504305]: fixing permissions on existing directory /opt/data/postgresql/14/main ... ok
Apr 27 03:24:46 pgsql01 patroni[1504305]: creating subdirectories ... ok
Apr 27 03:24:46 pgsql01 patroni[1504305]: selecting dynamic shared memory implementation ... posix
Apr 27 03:24:46 pgsql01 patroni[1504305]: selecting default max_connections ... 100
Apr 27 03:24:47 pgsql01 patroni[1504305]: selecting default shared_buffers ... 128MB
Apr 27 03:24:47 pgsql01 patroni[1504305]: selecting default time zone ... UTC
Apr 27 03:24:47 pgsql01 patroni[1504305]: creating configuration files ... ok
Apr 27 03:24:47 pgsql01 patroni[1504305]: running bootstrap script ... ok
Apr 27 03:24:48 pgsql01 patroni[1504305]: performing post-bootstrap initialization ... ok
Apr 27 03:24:49 pgsql01 patroni[1504305]: syncing data to disk ... ok
Apr 27 03:24:49 pgsql01 patroni[1504305]: initdb: warning: enabling "trust" authentication for local connections
Apr 27 03:24:49 pgsql01 patroni[1504305]: You can change this by editing pg_hba.conf or using the option -A, or
Apr 27 03:24:49 pgsql01 patroni[1504305]: --auth-local and --auth-host, the next time you run initdb.
Apr 27 03:24:49 pgsql01 patroni[1504305]: Success. You can now start the database server using:
Apr 27 03:24:49 pgsql01 patroni[1504305]: /usr/lib/postgresql/14/bin/pg_ctl -D /opt/data/postgresql/14/main -l logfile start
Apr 27 03:24:49 pgsql01 patroni[1504344]: 2022-04-27 03:24:49.500 GMT [1504344] LOG: skipping missing configuration file "/var/lib/postgresql/14/main/postgresql.auto.conf"
Apr 27 03:24:49 pgsql01 patroni[1504344]: 2022-04-26 23:24:49 EDT [1504344-2] FATAL: data directory "/var/lib/postgresql/14/main" does not exist
Apr 27 03:24:49 pgsql01 patroni[1504265]: 2022-04-27 03:24:49,518 INFO: postmaster pid=1504344
Apr 27 03:24:49 pgsql01 patroni[1504345]: /var/run/postgresql:5432 - no response
Apr 27 03:24:49 pgsql01 patroni[1504265]: 2022-04-27 03:24:49,540 INFO: removing initialize key after failed attempt to bootstrap the cluster
Apr 27 03:24:49 pgsql01 patroni[1504265]: 2022-04-27 03:24:49,551 INFO: renaming data directory to /opt/data/postgresql/14/main_2022-04-27-03-24-49
Apr 27 03:24:49 pgsql01 patroni[1504265]: Traceback (most recent call last):
Apr 27 03:24:49 pgsql01 patroni[1504265]: File "/usr/local/bin/patroni", line 8, in <module>
Apr 27 03:24:49 pgsql01 patroni[1504265]: sys.exit(main())
Apr 27 03:24:49 pgsql01 patroni[1504265]: File "/usr/local/lib/python3.9/dist-packages/patroni/__main__.py", line 143, in main
Apr 27 03:24:49 pgsql01 patroni[1504265]: return patroni_main()
Apr 27 03:24:49 pgsql01 patroni[1504265]: File "/usr/local/lib/python3.9/dist-packages/patroni/__main__.py", line 135, in patroni_main
Apr 27 03:24:49 pgsql01 patroni[1504265]: abstract_main(Patroni, schema)
Apr 27 03:24:49 pgsql01 patroni[1504265]: File "/usr/local/lib/python3.9/dist-packages/patroni/daemon.py", line 100, in abstract_main
Apr 27 03:24:49 pgsql01 patroni[1504265]: controller.run()
Apr 27 03:24:49 pgsql01 patroni[1504265]: File "/usr/local/lib/python3.9/dist-packages/patroni/__main__.py", line 105, in run
Apr 27 03:24:49 pgsql01 patroni[1504265]: super(Patroni, self).run()
Apr 27 03:24:49 pgsql01 patroni[1504265]: File "/usr/local/lib/python3.9/dist-packages/patroni/daemon.py", line 59, in run
Apr 27 03:24:49 pgsql01 patroni[1504265]: self._run_cycle()
Apr 27 03:24:49 pgsql01 patroni[1504265]: File "/usr/local/lib/python3.9/dist-packages/patroni/__main__.py", line 108, in _run_cycle
Apr 27 03:24:49 pgsql01 patroni[1504265]: logger.info(self.ha.run_cycle())
Apr 27 03:24:49 pgsql01 patroni[1504265]: File "/usr/local/lib/python3.9/dist-packages/patroni/ha.py", line 1503, in run_cycle
Apr 27 03:24:49 pgsql01 patroni[1504265]: info = self._run_cycle()
Apr 27 03:24:49 pgsql01 patroni[1504265]: File "/usr/local/lib/python3.9/dist-packages/patroni/ha.py", line 1377, in _run_cycle
Apr 27 03:24:49 pgsql01 patroni[1504265]: return self.post_bootstrap()
Apr 27 03:24:49 pgsql01 patroni[1504265]: File "/usr/local/lib/python3.9/dist-packages/patroni/ha.py", line 1269, in post_bootstrap
Apr 27 03:24:49 pgsql01 patroni[1504265]: self.cancel_initialization()
Apr 27 03:24:49 pgsql01 patroni[1504265]: File "/usr/local/lib/python3.9/dist-packages/patroni/ha.py", line 1262, in cancel_initialization
Apr 27 03:24:49 pgsql01 patroni[1504265]: raise PatroniFatalException('Failed to bootstrap cluster')
Apr 27 03:24:49 pgsql01 patroni[1504265]: patroni.exceptions.PatroniFatalException: 'Failed to bootstrap cluster'
Apr 27 03:24:49 pgsql01 systemd[1]: patroni.service: Main process exited, code=exited, status=1/FAILURE
Please correct to support custom folder other than "/var/lib/postgresql". Thank you.
the playbook supports a different postgresql_data_dir, I'll check it
i also tested with v1.6, and got same issue.
tested for version 1.7.0 there is no similar error
postgresql_data_dir: "/pgdata/{{ postgresql_version }}/{{ postgresql_cluster_name }}"
result:
postgres=# show data_directory;
data_directory
-----------------
/pgdata/13/main
(1 row)