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 更改为信任

# 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