Errno::ENOENT: File o directory inesistente @ rb_sysopen - /etc/postgresql/15/main/postgresql.conf

Ho provato ad aggiornare tramite admin, non sono sicuro di cosa sia successo ma le pagine di amministrazione sono diventate vuote mentre il front-end era ok. Ho deciso di eseguire nuovamente l’aggiornamento tramite riga di comando e ho ottenuto questo errore

Errno::ENOENT: Nessun file o directory di questo tipo @ rb_sysopen - /etc/postgresql/15/main/postgresql.conf

cd /var/discourse; ./launcher rebuild app
Rilevata architettura x86_64.
Assicurazione che il launcher sia aggiornato
Recupero origine
Il launcher è aggiornato
2.0.20240708-0023: Estrazione da discourse/base
Digest: sha256:025e9c1f68
Stato: L'immagine è aggiornata per discourse/base:2.0.20240708-0023
docker.io/discourse/base:2.0.20240708-0023
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-02-06T20:57:43.044950 #1]  INFO -- : Lettura da stdin
I, [2025-02-06T20:57:43.066724 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown: 
I, [2025-02-06T20:57:43.072432 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown: 
I, [2025-02-06T20:57:43.077790 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown: 
I, [2025-02-06T20:57:43.083299 #1]  INFO -- : File > /root/install_postgres  chmod: +x  chown: 
I, [2025-02-06T20:57:43.087962 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown: 


FALLITO
--------------------
Errno::ENOENT: Nessun file o directory di questo tipo @ rb_sysopen - /etc/postgresql/15/main/postgresql.conf
Posizione del fallimento: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/replace_command.rb:11:in `read'
sostituzione fallita con i parametri {"filename"=>"/etc/postgresql/15/main/postgresql.conf", "from"=>"data_directory = '/var/lib/postgresql/15/main'", "to"=>"data_directory = '/shared/postgres_data'"}
bootstrap fallito con codice di uscita 1
** FALLITO IL BOOTSTRAP ** scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor potrebbe aiutare a diagnosticare il problema.

Altre informazioni

cat containers/app.yml | grep postgres

- "templates/postgres.template.yml"

Come posso risolvere?

Ho una droplet di DigitalOcean, Ubuntu, se può essere utile.

Ho solo un contenitore.

Ci sono davvero quegli asterischi *?

Dovrebbe essere

- "templates/postgres.template.yml"

Scusa, è stato un errore di copia e incolla. L’ho corretto. No, non ci sono.

1 Mi Piace

Ho appena provato ad aggiornare un’altra istanza su un altro server ed è andato a buon fine. Entrambi i server sono droplet DO con le stesse specifiche.
Non sono sicuro di cosa stia succedendo.

Il mio forum è inattivo da 2 giorni, non riesco a farlo funzionare. Ho spostato la discussione nel Supporto. Spero di ricevere aiuto.

Questa è un’immagine Docker molto più vecchia che non ha i pacchetti PostgreSQL 15 installati, da cui l’errore:

Il tuo file launcher è stato probabilmente modificato e bloccato sull’utilizzo dell’immagine Docker più vecchia sopra indicata. Puoi cambiarlo con l’immagine più recente evidenziata di seguito, quindi riprova la ricompilazione. (Esegui i backup necessari in anticipo.)

2 Mi Piace

Grazie per la risposta. Ho appena controllato e nel file launcher la base sembra essere l’ultima.

root@host:/var/discourse# cat launcher | grep "base:2.0"
image="discourse/base:2.0.20250129-0720"

Tuttavia, durante la ricostruzione, sta ancora prendendo l’immagine precedente, quindi da dove viene presa questa immagine precedente? Come posso verificarlo?

Potrebbe anche essere definito come base_image nel tuo file app.yml. Se lo trovi, puoi semplicemente commentare (o rimuovere) la riga.

Se ciò non aiuta, puoi provare una ricerca ricorsiva per parte di quella stringa.

grep --exclude-dir shared -rI 20240708 /var/discourse
3 Mi Piace

Ha funzionato. Grazie mille per l’aiuto.

1 Mi Piace

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.