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
我不明白 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