Discourse rebuild process hangs at PostgreSQL initialization with "trust" authentication warning

Hello,

I’m encountering an issue while attempting to rebuild my Discourse application using the ./launcher rebuild app command. The process hangs during the PostgreSQL initialization phase, displaying the following warning:

root@lavm-hypge0pc5w:/var/discourse# ./launcher rebuild app
x86_64 arch detected.

WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

2.0.20250129-0720: Pulling from discourse/base
af302e5c37e9: Pull complete 
ed49ab5c933d: Pull complete 
7cb9e730d898: Pull complete 
7c28a6b187b2: Pull complete 
23222af7238f: Pull complete 
59b87d9ed5c1: Pull complete 
90d60b432298: Pull complete 
d3b3135aa82b: Pull complete 
94e7b594395d: Pull complete 
cf15e2c89d00: Pull complete 
2c0cccf9ec27: Pull complete 
5d8ea2a8d564: Pull complete 
020f04b42275: Pull complete 
06e22604f387: Pull complete 
8b0ecc579aad: Pull complete 
4d577f7424c0: Pull complete 
37ef4781925f: Pull complete 
30d67d1af761: Pull complete 
43eaf8c26af4: Pull complete 
02f4cc50eabd: Pull complete 
93896ee36e56: Pull complete 
fadd5d615e0e: Pull complete 
85f9459cb30e: Pull complete 
eaddca2afacb: Pull complete 
f54443d29a2d: Pull complete 
ed6f0f133683: Pull complete 
3d1894dc563f: Pull complete 
51ca3f63c909: Pull complete 
b87374db2274: Pull complete 
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Downloaded newer image for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
2.0.20250129-0720: Pulling from discourse/base
Digest: sha256:01b8516e5504c0e9bc3707773015ff4407be03a89154194ff3b5b8699291bc26
Status: Image is up to date for discourse/base:2.0.20250129-0720
docker.io/discourse/base:2.0.20250129-0720
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-26T09:07:48.133366 #1]  INFO -- : Reading from stdin
I, [2025-02-26T09:07:48.143108 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2025-02-26T09:07:48.146963 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2025-02-26T09:07:48.150639 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2025-02-26T09:07:48.154201 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown: 
I, [2025-02-26T09:07:48.157700 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 
I, [2025-02-26T09:07:48.157920 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/15/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-26T09:07:48.158469 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-26T09:07:48.166991 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-26T09:07:48.168431 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-26T09:07:48.170165 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-26T09:07:48.170928 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-26T09:07:48.174744 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-26T09:07:48.175249 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-26T09:07:48.176197 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/15/main/postgresql.conf
I, [2025-02-26T09:07:48.177073 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-26T09:07:48.177315 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-26T09:07:48.178064 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/15/main/pg_hba.conf
I, [2025-02-26T09:07:48.178467 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

cat: /shared/postgres_data/PG_VERSION: No such file or directory
initdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.

The process remains stuck at this point for over an hour, with the CPU usage being minimal. My server configuration includes an 8-core CPU, 32GB of RAM, and 100GB of storage.

I have reviewed similar issues on the Discourse Meta forum, such as Postgres failing to update?, but the problem persists.

Could anyone provide guidance on resolving this issue?

Thank you.

This is a problem.

If you have a recent backup, I’d do a clean install and restore it.

But maybe have a look at PostgreSQL 15 update and see about moving the postgres backup back to postgres_data.

Agreed.

After you restore your old database from a recent backup, and the rebuild still seems to get stuck after initdb, I presume you’re hosting the Discourse installation in Mainland China. If so, see this topic.

1 Like