1. 程式人生 > 資料庫 >Postgresql 預設使用者名稱與密碼的操作

Postgresql 預設使用者名稱與密碼的操作

在UNIX平臺中安裝PostgreSQL之後,PostgreSQL會在UNIX系統中建立一個名為“postgres”當用戶。PostgreSQL的預設使用者名稱和資料庫也是“postgres”,

不過沒有預設密碼。在安裝PostgreSQL之後可以以預設使用者登入,也可以建立新當用戶名。

以預設使用者登入

Yu @Coat ~ $ sudo su postgres   #切換至postgres
postgres @Coat /home /Yu $ psql postgres #登入預設資料庫
[ sudo ] password for Yu:
psql (9.1.6 )
Type "help" for help.

以上命令也可以簡化為:

Yu @Coat ~ $ sudo -u postgres psql postgres

登入之後給預設使用者“postgres”設定密碼

postgres= # \password postgres #給postgres使用者設定密碼
Enter new password:
Enter it again:
postgres= #

建立新使用者

在UNIX shell中“createuser”命令可以建立使用者。

sudo -u postgres createuser username #以“postgres”使用者執行 createuser username語句

如果有以下提示

createuser: could not connect to database postgres:
FATAL: role "xxx" does not exist

是因為只有UNIX系統中的postgres使用者才能用createuser/dropuser建立或者刪除資料庫中的使用者(role)。

補充:PostgreSQL有關使用者名稱和密碼的問題

今天在連線PostgreSQL 遇到這樣一個問題,很是鬱悶。開啟Postgre連線資料庫,輸入密碼:PWD_A,一直彈出錯誤窗體。

以為連線伺服器的密碼錯誤呢,但是無法進入修改密碼。

第一個問題無法解決,檢視是否服務沒有啟動.

原來服務沒有啟動,Postgres客戶端是彈出報錯資訊。

就去啟動服務,但是服務啟動不起來,估計還是密碼問題。

後“我的電腦”---“管理”---“使用者”----“Postgres”,

重新設定Postgres的使用者密碼為:PWD_A.

問題就出在這裡。電腦管理使用者裡的Postgres的密碼是安裝Postgres時設定的電腦開機密碼。

所以將此處Postgres的使用者密碼更為當初設定開機密碼即可。

折騰半天,才知Postgres密碼與客戶端連線伺服器密碼不同造成的。鬱悶....原因所在本人一直認為兩處的密碼是一致的。真是菜啊~~~。

實踐告訴你一切。。。。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。