簡體   English   中英

Postgresql和OpenBSD第一次連接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM