无法连接到数据库 postgres pg_hba (OSX)
Could not connect to database postgres pg_hba (OSX)
所以我正在尝试设置 PostgreSQL 以便在我的 Mac 10.9 Mavericks 机器上与 metasploit 一起使用。我正在尝试按照此页面上列出的说明进行操作。 http://www.darkoperator.com/installing-metasploit-framewor/ 我得到了命令:
createuser msf -P -h localhost
结果如下:
$ createuser msf -P -h localhost
Enter password for new role:
Enter it again:
createuser: could not connect to database postgres: FATAL: no pg_hba.conf entry for host "127.0.0.1", user "myname", database "postgres", SSL off
我将 "myname" 的部分更改为那个,因为我不想 post 我的名字出现在这里。我已经在互联网上搜索了几天来寻找解决方案,我很确定我需要编辑 pg_hba.conf。这是我的 pg_hba.conf 文件的内容:
80 # TYPE DATABASE USER CIDR-ADDRESS METHOD
81
82 # "local" is for Unix domain socket connections only
83 #local all all trust
84 host all all 0.0.0.0/0 md5
85 local all all md5
86 # IPv4 local connections:
87 host all all 127.0.0.1/32 md5
88 # IPv6 local connections:
89 host all all ::1/128 md5
90
91 # TYPE DATABASE USER ADDRESS METHOD
92 #local postgres postgres trust
93 #local msf_db msf_user trust
94 # Allow replication connections from localhost, by a user with the
95 # replication privilege.
96 #local replication postgres trust
97 #host replication postgres 127.0.0.1/32 trust
98 #host replication postgres ::1/128 trust
你能告诉我我需要从这一部分 add/remove(注释掉)什么来启动 postgresql 和 运行 吗?
如果您需要更多信息来帮助我了解如何解决此问题,请告诉我。谢谢!!
编辑 1:
我被告知我需要做的就是重新启动数据库,这就是我得到的结果:
sh-3.2# pg_ctl stop -D /opt/local/var/db/postgresql93/defaultdb
pg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.
我以 su 身份登录以完成此...
编辑 2:
然后我尝试使用我的默认用户完成此操作,这就是我得到的结果(我确定我为自己输入了正确的密码)
sxxx:~ sxxx$ createuser msf -P -h localhost
Enter password for new role:
Enter it again:
Password:
createuser: could not connect to database postgres: FATAL: password authentication failed for user "sxxx"
编辑 3:
感谢其他一些人的帮助,我发现我需要登录我的 postgres 用户才能创建它。我仍然无法完成这就是我所做的:
Sxxx-MacBook-Pro:~ sxxx$ sudo su - postgres
Sxxx-MacBook-Pro:~ postgres$ createuser msf -P -h localhost
Enter password for new role:
Enter it again:
createuser: could not connect to database postgres: FATAL: role "postgres" does not exist
这对我来说很奇怪。
编辑 4:
我奇迹般地关闭了我的终端机 window 并打开了一个新的终端机,我一直在做的同样的事情奏效了:
Sxxx-MacBook-Pro:~ sxxx$ createuser msf -P -h localhost
Enter password for new role:
Enter it again:
Sxxx-MacBook-Pro:~ sxxx$ createdb -O msf msf -h localhost
Sxxx-MacBook-Pro:~ sxxx$
检查 PostgreSQL 运行 是哪个用户。通常这将是 pgsql
或 postgres
。 运行 作为该用户的 createuser
命令。
$ sudo su
# su postgres -c 'createuser msf -P -h localhost'
您可能不需要触摸 pg_hba.conf
文件。
所以我正在尝试设置 PostgreSQL 以便在我的 Mac 10.9 Mavericks 机器上与 metasploit 一起使用。我正在尝试按照此页面上列出的说明进行操作。 http://www.darkoperator.com/installing-metasploit-framewor/ 我得到了命令:
createuser msf -P -h localhost
结果如下:
$ createuser msf -P -h localhost
Enter password for new role:
Enter it again:
createuser: could not connect to database postgres: FATAL: no pg_hba.conf entry for host "127.0.0.1", user "myname", database "postgres", SSL off
我将 "myname" 的部分更改为那个,因为我不想 post 我的名字出现在这里。我已经在互联网上搜索了几天来寻找解决方案,我很确定我需要编辑 pg_hba.conf。这是我的 pg_hba.conf 文件的内容:
80 # TYPE DATABASE USER CIDR-ADDRESS METHOD
81
82 # "local" is for Unix domain socket connections only
83 #local all all trust
84 host all all 0.0.0.0/0 md5
85 local all all md5
86 # IPv4 local connections:
87 host all all 127.0.0.1/32 md5
88 # IPv6 local connections:
89 host all all ::1/128 md5
90
91 # TYPE DATABASE USER ADDRESS METHOD
92 #local postgres postgres trust
93 #local msf_db msf_user trust
94 # Allow replication connections from localhost, by a user with the
95 # replication privilege.
96 #local replication postgres trust
97 #host replication postgres 127.0.0.1/32 trust
98 #host replication postgres ::1/128 trust
你能告诉我我需要从这一部分 add/remove(注释掉)什么来启动 postgresql 和 运行 吗?
如果您需要更多信息来帮助我了解如何解决此问题,请告诉我。谢谢!!
编辑 1:
我被告知我需要做的就是重新启动数据库,这就是我得到的结果:
sh-3.2# pg_ctl stop -D /opt/local/var/db/postgresql93/defaultdb
pg_ctl: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.
我以 su 身份登录以完成此...
编辑 2:
然后我尝试使用我的默认用户完成此操作,这就是我得到的结果(我确定我为自己输入了正确的密码)
sxxx:~ sxxx$ createuser msf -P -h localhost
Enter password for new role:
Enter it again:
Password:
createuser: could not connect to database postgres: FATAL: password authentication failed for user "sxxx"
编辑 3:
感谢其他一些人的帮助,我发现我需要登录我的 postgres 用户才能创建它。我仍然无法完成这就是我所做的:
Sxxx-MacBook-Pro:~ sxxx$ sudo su - postgres
Sxxx-MacBook-Pro:~ postgres$ createuser msf -P -h localhost
Enter password for new role:
Enter it again:
createuser: could not connect to database postgres: FATAL: role "postgres" does not exist
这对我来说很奇怪。
编辑 4:
我奇迹般地关闭了我的终端机 window 并打开了一个新的终端机,我一直在做的同样的事情奏效了:
Sxxx-MacBook-Pro:~ sxxx$ createuser msf -P -h localhost
Enter password for new role:
Enter it again:
Sxxx-MacBook-Pro:~ sxxx$ createdb -O msf msf -h localhost
Sxxx-MacBook-Pro:~ sxxx$
检查 PostgreSQL 运行 是哪个用户。通常这将是 pgsql
或 postgres
。 运行 作为该用户的 createuser
命令。
$ sudo su
# su postgres -c 'createuser msf -P -h localhost'
您可能不需要触摸 pg_hba.conf
文件。