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密碼與客戶端連線伺服器密碼不同造成的。鬱悶....原因所在本人一直認為兩處的密碼是一致的。真是菜啊~~~。
實踐告訴你一切。。。。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。