Skip to content

Postgres restarts/upgrades are not working anymore

In the past, we allowed users to stop/start Postgres, to upgrade it, etc. – without losing the containers – process 1 was different from postgres. Now, it's not so anymore:

root@7a137fdcced3:/# ps auxww
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
postgres     1  1.3  0.0 1221480 90896 ?       Ss   18:57   0:00 postgres -p 6419 -k /var/lib/dblab_ci/pool_4/sockets/dblab_clone_6419
postgres    27  0.0  0.0  67572  4832 ?        Ss   18:57   0:00 postgres: logger
postgres    29  0.0  0.0 1221652 7456 ?        Ss   18:57   0:00 postgres: logerrors
postgres    30  0.0  0.0 1221480 4176 ?        Ss   18:57   0:00 postgres: checkpointer
postgres    31  0.0  0.0 1221480 5656 ?        Ss   18:57   0:00 postgres: background writer
postgres    32  0.0  0.0 1221480 4176 ?        Ss   18:57   0:00 postgres: walwriter
postgres    33  0.0  0.0 1222492 8564 ?        Ss   18:57   0:00 postgres: autovacuum launcher
postgres    34  0.0  0.0  67796  4780 ?        Ss   18:57   0:00 postgres: stats collector
postgres    35  0.4  0.0 1222352 6552 ?        Ss   18:57   0:00 postgres: pg_wait_sampling collector
postgres    36  0.0  0.0 1222336 6600 ?        Ss   18:57   0:00 postgres: logical replication launcher
root        37  0.4  0.0   7160  3872 pts/0    Ss   18:57   0:00 bash
root        45  0.0  0.0   9756  3324 pts/0    R+   18:57   0:00 ps auxww

-- the process with pid=1 is postgres.

This makes various exotic tasks difficult/impossible (e.g. running pg_upgrade to check new PG version).