Problema con la actualización de postgres

Estoy intentando ayudar a alguien que se negó a actualizar a PG13 y ahora tiene un certificado SSL caducado.

Puede que se complique más debido a Apt-get update fails inside container yarn repo not signed - #5 by pfaffman, pero modifiqué las plantillas pg12 y pg13 para que funcionen, pero no consigo que se actualice y no consigo que se reconstruya con la plantilla pg12.

Esto es lo que sucede cuando intenté hacer la actualización:

                                     
fixing permissions on existing directory /var/lib/postgresql/12/main ... ok          
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ... 100                                                                                                              
selecting default shared_buffers ... 128MB
selecting default time zone ... Etc/UTC                              
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
                                     
Success. You can now start the database server using:
                                                                                                                                                       
    pg_ctlcluster 12 main start                                                                                                                        
                                                                           
update-alternatives: warning: forcing reinstallation of alternative /usr/share/postgresql/13/man/man1/postmaster.1.gz because link group postmaster.1.g
z is broken                                                                                                                                            
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.             
Processing triggers for postgresql-common (246.pgdg110+1) ...
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Removing obsolete dictionary files:                                                                                                                    
Stopping PostgreSQL 12 database server: main.                                                                                                          
Stopping PostgreSQL 13 database server: main.                                                                                                          
Performing Consistency Checks               -----------------------------                                                                                                                          
Checking cluster versions                                   ok                                                                                         
Checking database user is the install user                  ok                                                                                         
Checking database connection settings                       ok                                                                                         
Checking for prepared transactions                          ok                                                                                         
Checking for system-defined composite types in user tables  ok                                                                                         
Checking for reg* data types in user tables                 ok                                                                                         
Checking for contrib/isn with bigint-passing mismatch       ok                                                                                         
Creating dump of global objects                             ok                                                                                         
Creating dump of database schemas                                                                                                                      
  discourse                                                                                                                                            
                                                                                                                                                       
*failure*                                                                                                                                              
                                                                                                                                                       
Consult the last few lines of "pg_upgrade_dump_16566.log" for
the probable cause of the failure.
Failure, exiting
-------------------------------------------------------------------------------------
UPGRADE OF POSTGRES FAILED
                                                                                                                                                       
Please visit https://meta.discourse.org/t/postgresql-13-update/172563 for support.
                                                                                                                                                       
You can run ./launcher start app to restart your app in the meanwhile

Intentar reconstruir sin la actualización tiene cosas como las siguientes cuando intenta migrar la base de datos:

PG::InsufficientPrivilege: ERROR:  permission denied to create extension "unaccent"                                                                    

Creo que tendré que revertir a una instalación limpia y la última copia de seguridad, que tiene varios días.

¿No puedes añadir lo siguiente a hooks para crear la extensión unaccent si falta?

after_postgres:
    - exec: su postgres -c 'psql discourse -c "create extension if not exists unaccent;"'
3 Me gusta

¡Suena como un plan! Lo revisaré por la mañana. Gracias

1 me gusta

¡Parece que eso lo solucionó! Tuve que agregarlo a pg12 y postgres.

Bueno, lo hizo lo suficiente como para que volviera a funcionar con PG12, pero nunca logré que funcionara la actualización a PG13. Hice una copia de seguridad, moví las cosas de postgres a un directorio de respaldo, reconstruí y restauré la copia de seguridad.

1 me gusta

Este tema se cerró automáticamente 30 días después de la última respuesta. Ya no se permiten nuevas respuestas.