[英]Postgresql & OpenBSD first connexion
我不明白Postgres如何使用openBSD。 我沒有debian的這些問題(我沒有做initdb)。
我做了如下
pkg_add postgresql-server php-pgsql
su - _postgresql
initdb -D /var/postgresql/data -U postgres - E UTF8 -A md5 -W
但在那之后,我沒有達到預期的結果
我可以用。啟動數據庫
pg_ctl -D /var/postgresql/data/ -l logfile start
或者
rcctl enable postgresql
rcctl start postgresql
但我不明白如何連接它
因為如果我這樣做:
# su - _postgresql
$ psql
Password:
psql: FATAL: password authentication failed for user "_postgresql"
為什么它是_postgresql用戶而不是postgres? 我應該使用哪個密碼?
這是pg_hba.conf,我改變了結局,
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32
password
# IPv6 local connections:
host all all ::1/128 md5
所以有了這個,我想,我正在登錄,但我有一個新的問題,有一些我不明白的東西
$ pg_ctl -D /var/postgresql/data/ -l logfile stop
waiting for server to shut down.... done
server stopped
$ pg_ctl -D /var/postgresql/data/ -l logfile start
server starting
$ psql
psql: FATAL: role "_postgresql" does not exist
謝謝
所以創建新數據庫的正常情況是
與用戶
su - _postgresql
initdb -D /var/postgresql/data -U postgres -k -E UTF8 -A md5 -W
你必須選擇一個密碼
啟動數據庫
pg_ctl -D /var/postgresql/data/ -l logfile start
並且您可以輕松登錄
psql -U postgres
但如果它不起作用,我想我的密碼錯了
與用戶
su - _postgresql
首先,我需要將ph_hba.conf更改為trust
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
所以當我用數據庫啟動時
pg_ctl -D /var/postgresql/data/ -l logfile start
所以我可以使用postgres用戶登錄
psql -U postgres
並最終更改密碼
ALTER USER postgres WITH PASSWORD '123';
不要忘記最后的“;”!
更改pg_hba.conf文件首先我需要將ph_hba.conf更改為密碼(或者可能是MD5)
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all password
然后重啟
pg_ctl -D /var/postgresql/data/ -l logfile stop
pg_ctl -D /var/postgresql/data/ -l logfile start
我可以最終正確登錄
psql -U postgres
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.