首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql & OpenBSD第一次连接

Postgresql & OpenBSD第一次连接
EN

Stack Overflow用户
提问于 2017-10-10 21:57:12
回答 1查看 1K关注 0票数 6

我不明白Postgres如何与openBSD一起工作。我在debian上没有这些问题(我不需要做initdb)。

我是这样做的

代码语言:javascript
复制
pkg_add postgresql-server php-pgsql
su - _postgresql
initdb -D /var/postgresql/data -U postgres - E UTF8 -A md5 -W

但在那之后,我没有我期望的结果

我可以用

代码语言:javascript
复制
 pg_ctl -D /var/postgresql/data/ -l logfile start

或使用

代码语言:javascript
复制
 rcctl enable postgresql 
 rcctl start postgresql 

但我不知道怎么连接它

因为如果我这么做了

代码语言:javascript
复制
# su - _postgresql        
$ psql
Password: 
psql: FATAL:  password authentication failed for user "_postgresql"

为什么是_postgresql用户而不是postgres?我应该使用哪个密码?

这是pg_hba.conf,我改变了结局,

代码语言:javascript
复制
# 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

所以,我想,我要登录了,但是我有一个新的问题,有些事情我真的不明白

代码语言:javascript
复制
$ 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

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-12 07:39:07

因此,创建新数据库的正常情况是

与用户

代码语言:javascript
复制
su - _postgresql


initdb -D /var/postgresql/data -U postgres -k -E UTF8 -A md5 -W

你必须选择一个密码

启动数据库

代码语言:javascript
复制
pg_ctl -D /var/postgresql/data/ -l logfile start

你可以很容易地用

代码语言:javascript
复制
psql -U postgres

但是如果它不起作用,我想我在密码上做错了

与用户

代码语言:javascript
复制
su - _postgresql

首先,我需要将ph_hba.conf更改为信任

代码语言:javascript
复制
# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     trust

所以当我启动数据库时

代码语言:javascript
复制
pg_ctl -D /var/postgresql/data/ -l logfile start

这样我就可以用postgres用户登录

代码语言:javascript
复制
psql -U postgres

最后更改密码

代码语言:javascript
复制
ALTER USER postgres WITH PASSWORD '123';

不要忘记结尾的“;”!

首先更改pg_hba.conf文件--我需要将ph_hba.conf更改为密码(或者MD5)

代码语言:javascript
复制
# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                   password

重新启动

代码语言:javascript
复制
pg_ctl -D /var/postgresql/data/ -l logfile stop
pg_ctl -D /var/postgresql/data/ -l logfile start

我最终可以正确登录

代码语言:javascript
复制
psql -U postgres
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46676676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档