我不明白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谢谢
发布于 2017-10-12 07:39:07
因此,创建新数据库的正常情况是
与用户
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 postgreshttps://stackoverflow.com/questions/46676676
复制相似问题