L'aggiornamento a PostgreSQL 18 ha lasciato Discourse in uso con i binari di PostgreSQL 15

Sto eseguendo Discourse in un contenitore Docker standalone su /var/discourse.

Ho tentato di aggiornare il database PostgreSQL integrato dalla versione 15 alla 18. L’aggiornamento sembrava completato e la directory dati attiva ora riporta:

/shared/postgres_data/PG_VERSION
18

Tuttavia, il contenitore Discourse ricostruito contiene ancora solo i binari di PostgreSQL 15:

/usr/lib/postgresql/15/bin/postgres
postgres (PostgreSQL) 15.18

Il servizio PostgreSQL è configurato per eseguire:

/usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main

mentre la directory dati effettiva di Discourse è montata su:

/shared/postgres_data

Di conseguenza, PostgreSQL fallisce con l’errore:

FATAL: database files are incompatible with server

DETAIL: The data directory was initialized by PostgreSQL version 18,
which is not compatible with this version 15.18
(Debian 15.18-1.pgdg12+1).

Comprendo che le immagini Docker recenti di Discourse dovrebbero includere i binari di PostgreSQL 18. Ho modificato app.yml per utilizzare il modello di PostgreSQL 18 e ho ricostruito l’app, ma il contenitore risultante ha ancora i binari di PostgreSQL 15 e lo script del servizio punta ancora a /etc/postgresql/15/main.

La parte rilevante della mia attuale configurazione del servizio è:

HOME=/var/lib/postgresql USER=postgres exec thpoff \
chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert \
/usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main

Le mie domande sono:

  1. Qual è il modo corretto per ricostruire o aggiornare il contenitore Discourse affinché contenga effettivamente i binari di PostgreSQL 18?

  2. Esiste un modello o un tag di immagine specifico che dovrebbe essere utilizzato in app.yml?

  3. Una volta disponibile PostgreSQL 18, qual è la procedura supportata per avviarla contro la directory /shared/postgres_data esistente?

Non ho eliminato né reinizializzato la directory dati di PostgreSQL 18. Preferisco recuperare il cluster aggiornato piuttosto che ripristinare i vecchi dati di PostgreSQL 15.

1 Mi Piace

Un post è stato unito a un argomento esistente: Aggiornamento di PostgreSQL 18 per gli auto-host