在Debian系統上升級PostgreSQL數據庫,可以按照以下步驟進行:
更新APT包列表
sudo apt update
安裝最新版本的PostgreSQL Debian的官方倉庫通常會提供較舊的穩定版本。如果你需要最新的穩定版本,可以考慮添加PostgreSQL的官方APT倉庫。
添加官方APT倉庫:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
更新APT包列表并安裝最新版本的PostgreSQL:
sudo apt update
sudo apt install postgresql
升級現有數據庫
停止PostgreSQL服務:
sudo systemctl stop postgresql
運行pg_upgrade
工具進行升級:
sudo pg_upgrade \
--old-datadir=/var/lib/postgresql/舊版本號/main \
--new-datadir=/var/lib/postgresql/新版本號/main \
--old-bindir=/usr/lib/postgresql/舊版本號/bin \
--new-bindir=/usr/lib/postgresql/新版本號/bin \
--old-sysctl=-Dfs.file-max=舊值 \
--new-sysctl=-Dfs.file-max=新值
重啟PostgreSQL服務:
sudo systemctl start postgresql
下載最新版本的PostgreSQL 訪問PostgreSQL官方網站下載最新版本的源碼包。
解壓并編譯安裝
tar -zxvf postgresql-版本號.tar.gz
cd postgresql-版本號
./configure
make
sudo make install
遷移數據
停止舊版本的PostgreSQL服務:
sudo systemctl stop postgresql
備份舊版本的數據目錄:
sudo cp -R /var/lib/postgresql/舊版本號/main /var/lib/postgresql/舊版本號/main_backup
將新版本的數據目錄鏈接到舊版本的位置:
sudo mv /var/lib/postgresql/新版本號/main /var/lib/postgresql/舊版本號/main
初始化新版本的數據目錄(如果需要):
sudo mkdir /var/lib/postgresql/新版本號/main
sudo chown postgres:postgres /var/lib/postgresql/新版本號/main
sudo chmod 700 /var/lib/postgresql/新版本號/main
sudo /usr/local/pgsql/bin/initdb -D /var/lib/postgresql/新版本號/main
啟動新版本的PostgreSQL服務:
sudo systemctl start postgresql
pg_dumpall
備份所有數據庫,并在新版本上進行恢復測試。通過以上步驟,你應該能夠在Debian系統上成功升級PostgreSQL數據庫。