
Depois que todo o resto mostrou estar funcionando bem (YAY!), Postgres
recusou-se a iniciar (não se deixe levar pelo nome - o Postgres foi empacotado como PostgreSQL
um elogio à conversão de Paul Aoki do QUEL
processador de linguagem de consulta para usar SQL
o WAY no primeiro pacote lançamento em 1995 - tudo menos a embalagem/marca usa o nome Postgres
).
Essa falha ao iniciar não foi inesperada, embora o pacote PODERIA ter previsto isso para atualizações, já que todas as instalações atualizadas provavelmente precisarão fazer isso e executar o script de atualização apropriado para nós; esse script pode ser executado assim:
postgresql-setup --upgrade --upgrade-from postgresql
Infelizmente, falhou.
Eu segui a trilha de migalhas de erro - um arquivo de log no Postgres
diretório inicial do usuário, apontado por um log intermediário que é cuspido stdout
pelo referido comando, apontou para um problema com Postgis
, que é usado pela instalação.
A mensagem de erro mais pertinente dizia:
ERROR: could not access file "$libdir/postgis-3"
Infelizmente, não dizia onde $libdir
deveria estar e, igualmente, infelizmente, também não sei onde fica! Ainda não encontrei nenhum diretório contendo o nome postgis
.
Presumi Postgis
que não foi atualizado ou talvez não instalado, mas isso se mostrou incorreto com uma simples verificação dos pacotes instalados: Chama-sepostgis-3.2.2-1.fc37.x86_64
Como a mensagem de erro reclamava de não encontrar uma parte postgis-3
e ainda assim uma postgis
versão 3 está instalada foi uma surpresa para mim.
Ainda não tenho solução. Pensamentos? Este DEVE ser um problema comum para Postgres
usuários que também usam Postgis
!
Responder1
PostGISé uma extensão que é instalada como pacote. Você deve instalar o pacote adequado à versão principal do postgresql e à versão da extensão postgis. Como; postgis32_15
oupostgis31_14
$libdir
ou qualquer outra configuração predefinida (principalmente vem com compilação) pode ser aprendida compg_configaplicação cliente. Você pode basicamente aprenderlibdirexecutando o comando abaixo.
pg_config --pkglibdir
se você não consegue encontrarpg_configentão é mais provável que seja ondepsqlcomando é ( $bindir
).
Responder2
No Fedora 37, você recebe esta mensagem de erro durante a atualização do banco de dados se não tiver instalado o postgis-upgrade
pacote.
Assim, o procedimento completo de atualização para bancos de dados habilitados para postgis é mais ou menos assim:
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
Em geral, é uma boa ideia revisar os logs de atualização (e os arquivos padrão /var/lib/pgsql/data/log/postgresql*.log
) caso haja algumas dicas extras, específicas para seu banco de dados concreto.