Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 创建到本地主机postgres服务器的连接_Ruby On Rails_Postgresql_Ubuntu 14.04_Pgadmin - Fatal编程技术网

Ruby on rails 创建到本地主机postgres服务器的连接

Ruby on rails 创建到本地主机postgres服务器的连接,ruby-on-rails,postgresql,ubuntu-14.04,pgadmin,Ruby On Rails,Postgresql,Ubuntu 14.04,Pgadmin,我正在创建一个rails应用程序,希望使用postgresql。我已经在Ubuntu 14.04上安装了pgadmin,postgres服务器。我尝试通过pgAdmin创建连接,但无法创建。我无法配置pgadmin以创建到pg服务器的连接 我尝试编辑/etc/postgresql/9.3/main/pg_hba.conf文件,但出现以下错误: 致命:用户“postgres”的对等身份验证失败 这是“pg_hba.conf”文件 Database administrative login by U

我正在创建一个rails应用程序,希望使用postgresql。我已经在Ubuntu 14.04上安装了pgadmin,postgres服务器。我尝试通过pgAdmin创建连接,但无法创建。我无法配置pgadmin以创建到pg服务器的连接

我尝试编辑
/etc/postgresql/9.3/main/pg_hba.conf
文件,但出现以下错误:

致命:用户“postgres”的对等身份验证失败

这是“pg_hba.conf”文件

Database administrative login by Unix domain socket
local   all             postgres                                peer

TYPE  DATABASE        USER            ADDRESS                 METHOD

"local" is for Unix domain socket connections only
local   all             all                                     peer
IPv4 local connections:
host    all             all             127.0.0.1/32            md5
IPv6 local connections:
host    all             all             ::1/128                 md5
Allow replication connections from localhost, by a user with the
replication privilege.
local   replication     postgres                                peer
host    replication     postgres        127.0.0.1/32            md5
host    replication     postgres        ::1/128                 md5

如果有人能提供一些配置方面的帮助,我将不胜感激。

这是您第一次安装postgres时的一个非常常见的错误,它默认使用“postgres”作为用户。您需要将当前用户添加为Postgres中的用户: 首先,您可以重置postgres的密码:

sudo -u postgres psql
ALTER USER postgres PASSWORD 'newPassword';
但我也会/相反地为您的当前帐户创建一个用户(作为超级用户):

编辑:上面的命令必须从psql运行,因此无论哪种方式都需要执行“sudo-u postgres psql”来访问postgres


来源:

您也可以尝试使用以下配置通过pgAdmin进行连接


尝试按照您所说的操作,但问题仍然存在,创建了一个名为“test”的用户。操作成功,但将用户名“test”和用户ie“test”的相应密码放入pgAdmin后,我仍然收到错误(致命:用户“test”的对等身份验证失败)我错过了你正在使用pgAdin的机会-因此你必须创建一个真实的帐户:
createuser-P-s-e test
然后它会提示输入密码。如果它给出关于角色存在的错误,请执行
删除角色测试
,然后完成后,使用登录超级用户CREATEDB CREATEROLE REPLICATION运行
ALTER role test
CREATE ROLE user_name WITH LOGIN SUPERUSER CREATEDB CREATEROLE REPLICATION;