PostgreSQL如何修改默認(rèn)端口號(hào)
升級(jí)PostgreSQL遇到的問題
之前將PostgreSQL從9.5升級(jí)到了10.3版本,安裝時(shí)將端口設(shè)置成了5433,(默認(rèn)是5432),后來發(fā)現(xiàn)在使用psql來restore db會(huì)發(fā)生語法錯(cuò)誤。
由于PostgreSQL10.3版本添加了9.5版本沒有的sql語法,導(dǎo)致了這個(gè)錯(cuò)誤,但我明明已經(jīng)升級(jí)了數(shù)據(jù)庫,為什么還會(huì)遇到語法錯(cuò)誤呢?
而且我發(fā)現(xiàn)我在cmd窗口里連接了數(shù)據(jù)庫之后,psql提示我psql的版本是10.3,而server版本卻是9.5。
在折騰了好一會(huì),才被自己的蠢都哭了。
原來是因?yàn)槲以谶B接數(shù)據(jù)庫時(shí)沒有通過-p 5433
來指定10.5版本的server端口號(hào),所以psql自動(dòng)連接了默認(rèn)端口號(hào)是5432的9.5版本server。
解決方式
連接數(shù)據(jù)庫時(shí)指定端口號(hào)
如果要連接5432以外的端口號(hào),必須通過-p
參數(shù)來指定端口號(hào)。
由于我原本用的是9.5版本的,本身就啟動(dòng)著9.5版本的server服務(wù),端口號(hào)是默認(rèn)的5432;后來我升級(jí)了10.3版本的,實(shí)際上PostgreSQL在升級(jí)時(shí)并不會(huì)卸載舊版本的,會(huì)在安裝了新版本之后就自動(dòng)啟動(dòng)新版本的server服務(wù),這里我設(shè)置的端口號(hào)是5433。
于是在我的電腦上就同時(shí)啟動(dòng)著9.5和10.3兩個(gè)版本的server服務(wù),當(dāng)我沒有指定端口號(hào)時(shí),其實(shí)一直是連接的9.5版本的server,于是在restore使用了新版本語法的db時(shí)就會(huì)報(bào)錯(cuò)。
修改默認(rèn)端口號(hào)
如果我希望不指定端口號(hào)就能連接新版本的server,就只能將10.3的server的端口號(hào)改為默認(rèn)端口號(hào)5432。
首先將9.5版本的server服務(wù)關(guān)閉,這個(gè)要在系統(tǒng)的服務(wù)管理器中將其關(guān)閉:
- win + R快捷鍵打開運(yùn)行;
- 輸入
services.msc
打開服務(wù)管理器; - 找到運(yùn)行中的9.5版本的server服務(wù)將其關(guān)閉。
在PostgreSQL的安裝路徑下,找到對(duì)應(yīng)版本的postgresql.conf文件(在data文件夾內(nèi)):
- 修改
port = 5432
; - 保存修改,重啟該版本的server服務(wù),即可生效。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
PostgreSQL三種自增列sequence,serial,identity的用法區(qū)別
這篇文章主要介紹了PostgreSQL三種自增列sequence,serial,identity的用法區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02PostGresql 實(shí)現(xiàn)四舍五入、小數(shù)轉(zhuǎn)換、百分比的用法說明
這篇文章主要介紹了PostGresql 實(shí)現(xiàn)四舍五入、小數(shù)轉(zhuǎn)換、百分比的用法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01postgresql查詢今天、昨天、本周、本月、上月、今年、去年的時(shí)間以及計(jì)算時(shí)間之差
PostgreSQL提供了許多返回當(dāng)前日期和時(shí)間的函數(shù),下面這篇文章主要給大家介紹了關(guān)于postgresql查詢今天、昨天、本周、本月、上月、今年、去年的時(shí)間以及計(jì)算時(shí)間之差的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08使用postgresql獲取當(dāng)前或某一時(shí)間段的年月日
這篇文章主要給大家介紹了關(guān)于使用postgresql獲取當(dāng)前或某一時(shí)間段的年月日的相關(guān)資料,在PostgreSQL中可以使用函數(shù) NOW() 來查詢當(dāng)前時(shí)間,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07PostgreSQL實(shí)戰(zhàn)之啟動(dòng)恢復(fù)讀取checkpoint記錄失敗的條件詳解
這篇文章主要給大家介紹了關(guān)于PostgreSQL實(shí)戰(zhàn)之啟動(dòng)恢復(fù)讀取checkpoint記錄失敗的條件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08使用Postgresql 實(shí)現(xiàn)快速插入測(cè)試數(shù)據(jù)
這篇文章主要介紹了使用Postgresql 實(shí)現(xiàn)快速插入測(cè)試數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01postgresql限制某個(gè)用戶僅連接某一個(gè)數(shù)據(jù)庫的操作
這篇文章主要介紹了postgresql限制某個(gè)用戶僅連接某一個(gè)數(shù)據(jù)庫的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01