
在其他一切都顯示工作正常後(耶!),Postgres
拒絕啟動(不要被這個名字所困擾 - Postgres 被打包為PostgreSQL
讚揚 Paul Aoki 將查詢語言處理器轉換為在第一個打包中QUEL
使用)。SQL
Postgres
啟動失敗並不意外,儘管軟體包可能已經預料到了升級的情況,因為所有升級的安裝可能都需要這樣做,並為我們運行適當的升級腳本;該腳本可以這樣運作:
postgresql-setup --upgrade --upgrade-from postgresql
不幸的是,它失敗了。
我追蹤了錯誤麵包屑的踪跡 -Postgres
用戶主目錄中的一個日誌文件,由所述命令吐出的中間日誌指向stdout
,指向Postgis
安裝所使用的 的問題。
最相關的錯誤訊息說:
ERROR: could not access file "$libdir/postgis-3"
不幸的是,它沒有說$libdir
應該在哪裡,同樣不幸的是,我也不知道它在哪裡!我還沒有找到任何包含該名稱的目錄postgis
。
我認為Postgis
沒有升級或可能沒有安裝,但透過簡單檢查已安裝的軟體包證明這是不正確的:它被稱為postgis-3.2.2-1.fc37.x86_64
由於錯誤訊息抱怨沒有找到 3 版的一部分postgis-3
,但postgis
安裝了版本 3,這讓我感到驚訝。
我還沒有修復。想法?Postgres
對於也使用 ! 的用戶來說,這一定是個常見問題Postgis
!
答案1
答案2
postgis-upgrade
在 Fedora 37 上,如果您尚未安裝軟體包,您會在資料庫升級期間收到此錯誤訊息。
因此,支援 postgis 的資料庫的完整升級過程如下:
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
一般來說,最好檢查升級日誌(和標準/var/lib/pgsql/data/log/postgresql*.log
),以防出現一些特定於您的特定資料庫的額外提示。