
Después de que se demostró que todo lo demás funcionaba bien (¡YAY!), Postgres
se negó a iniciar (no se deje sorprender por el nombre: Postgres se empaquetó como PostgreSQL
un elogio de la conversión de Paul Aoki del QUEL
procesador de lenguaje de consulta para usar SQL
WAY en el primer paquete). lanzamiento en 1995; todo menos el empaque/marca usa el nombre Postgres
).
Esta falla al iniciar no fue inesperada, aunque el paquete PODRÍA haber anticipado esto para las actualizaciones, ya que todas las instalaciones actualizadas probablemente necesiten hacer esto y ejecutar el script de actualización apropiado para nosotros; ese script se puede ejecutar así:
postgresql-setup --upgrade --upgrade-from postgresql
Desafortunadamente, fracasó.
Seguí el rastro de las migas de pan de error: un archivo de registro en el Postgres
directorio de inicio del usuario, señalado por un registro intermedio que se escupe stdout
mediante dicho comando, señaló un problema con Postgis
, que es utilizado por la instalación.
El mensaje de error más pertinente decía:
ERROR: could not access file "$libdir/postgis-3"
Desafortunadamente, no decía dónde $libdir
se supone que debe estar y, igualmente desafortunadamente, ¡tampoco sé dónde está! Todavía no he encontrado ningún directorio que contenga el nombre postgis
.
Supuse Postgis
que no estaba actualizado o tal vez no estaba instalado, pero resultó incorrecto con una simple verificación de los paquetes instalados: se llamapostgis-3.2.2-1.fc37.x86_64
Como el mensaje de error se quejaba de no encontrar una parte postgis-3
y, sin embargo, hay una postgis
versión 3 instalada, fue una sorpresa para mí.
Aún no tengo solución. ¿Pensamientos? ¡Esto DEBE ser un problema común para Postgres
los usuarios que también usan Postgis
!
Respuesta1
PostGISes una extensión que se instala como paquete. Debe instalar el paquete que se adapte tanto a su versión principal de postgresql como a su versión de extensión de postgis. Como; postgis32_15
opostgis31_14
$libdir
o cualquier otra configuración predefinida (en su mayoría viene con compilación) se puede aprender conpg_configaplicación cliente. Básicamente puedes aprenderlibdirejecutando el siguiente comando.
pg_config --pkglibdir
si no puedes encontrarpg_configentonces es más probable que sea dondepsqlEl comando es ( $bindir
).
Respuesta2
En Fedora 37, recibe este mensaje de error durante la actualización de la base de datos si no ha instalado el postgis-upgrade
paquete.
Por lo tanto, el procedimiento de actualización completo para bases de datos habilitadas para Postgis es algo como esto:
systemctl start postgresql.service
# => start fails fails and some hints are logged
dnf install postgresql-upgrade postgis-upgrade
postgresql-setup --upgrade
systemctl start postgresql.service
sudo -u postgres psql -f /var/lib/pgsql/update_extensions.sql
sudo -u postgres reindexdb yourdb
En general, es una buena idea revisar los registros de actualización (y el estándar /var/lib/pgsql/data/log/postgresql*.log
) en caso de que haya algunas sugerencias adicionales, específicas para su base de datos concreta.