1. 程式人生 > 其它 >psql版本和PostgreSQL伺服器版本不同

psql版本和PostgreSQL伺服器版本不同

1 問題描述

在安裝了PostgreSQL 13,執行psql時,出現了版本不同的警告

2 產生原因

雖然系統安裝了psql(PostgreSQL) 13.3,但是psql這個指令碼卻引用了舊版本(9.2)

3 解決方法

替換psql指令碼為新的PostgreSQL的新指令碼

3.1 查詢 psql

1)找到psql指令碼的有關位置
find / -name 'psql'

從上面可以看到,/usr/pgsql-13/bin/psql13.3版的指令碼,而目前正在使用的/usr/bin/psql9.2版的指令碼

2)對/usr/bin/psql進行備份
mv /usr/bin/psql /usr/bin/psql.back

3)使用ln軟連結新版psql
ln使用感覺就像桌面應用上的快捷圖示一樣,它的功能是為某一個檔案在另外一個位置建立一個同步的連結。當我們需要在不同的目錄,用到相同的檔案時,我們不需要在每一個需要的目錄下都放一個必須相同的檔案,我們只要在某個固定的目錄,放上該檔案,然後在其它的目錄下用ln命令連結(link)它就可以,不必重複的佔用磁碟空間。
ln [引數] [原始檔或目錄] [目標檔案或目錄]

"ln -b" 如果目標目錄中已經有同名的檔案,那麼在覆蓋之前先進行備份
"ln -f" 如果目標目錄中已經有同名的檔案,無需提示,直接覆蓋
"ln -i" 人機互動,如果目標目錄中已經有同名的檔案,則提示是否進行覆蓋
"ln -n" 把軟連結視為一般目錄(說明:範例中我會詳細解釋)
"ln -s" 建立軟連結
"ln -v" 詳細顯示操作進行的步驟。(v為verbose的意思)

ln -s /usr/pgsql-13/bin/psql /usr/bin/psql

執行psql --version檢視替換後的版本