在mint ubuntu上安装了新的postgres 8.4。如何为postgres创建用户并使用psql登录?如何在全新安装后登录并验证Postgresql?
当我键入psql里,它只是告诉我
psql: FATAL: Ident authentication failed for user "my-ubuntu-username"
在mint ubuntu上安装了新的postgres 8.4。如何为postgres创建用户并使用psql登录?如何在全新安装后登录并验证Postgresql?
当我键入psql里,它只是告诉我
psql: FATAL: Ident authentication failed for user "my-ubuntu-username"
有可以使用两种方法。两者都需要创建一个数据库用户和。
使用CREATEUSER和CREATEDB,
$ sudo -u postgres createuser -s $USER
$ createdb mydatabase
$ psql -d mydatabase
使用SQL管理命令,并使用密码通过TCP
$ sudo -u postgres psql postgres
连接和,然后在PSQL外壳
CREATE ROLE myuser LOGIN PASSWORD 'mypass';
CREATE DATABASE mydatabase WITH OWNER = myuser;
然后你就可以登录,
$ psql -h localhost -d mydatabase -U myuser -p <port>
如果您不知道端口,你可以随时通过运行下面的得到它,为postgres
用户,
SHOW port;
或者,
$ grep "port =" /etc/postgresql/*/main/postgresql.conf
postgres
用户我建议不是修改postgres
用户。
postgres
“登录”到操作系统。你应该有root权限才能认证为postgres
。postgres
的身份登录,这是SQL Server的SA
的PostgreSQL等效项,您必须具有对基础数据文件的写入访问权限。而且,这意味着无论如何你都可以正常破坏。我知道如果使用数据库超级用户(-s)而不是非超级用户,则不会出现问题。对我来说,下一个问题是,即使DB用户不是超级用户,也可以做到这一点。 – Hartmut 2013-03-16 16:09:24
你所得到的错误是因为你,Ubuntu的用户名不是有效的Postgres用户。
你需要告诉psql里使用什么数据库用户名
psql -U postgres
您可能还需要指定数据库连接到
psql -U postgres -d <dbname>
如果您的数据库客户端使用TCP/IP和你连接在您的pg_hba.conf中配置ident auth,检查是否已安装并运行identd。即使您只有本地客户端连接到“本地主机”,这也是强制性的。
而且提防时下的identd可能要IPv6 enabled PostgreSQL的欢迎,其连接到本地主机的客户端。
还可以连接到数据库的 “普通” 用户(不是Postgres的):
postgres=# \connect opensim Opensim_Tester localhost;
Password for user Opensim_Tester:
You are now connected to database "opensim" as user "Opensim_Tester" on host "localhost" at port "5432"
选中此[博客文章(http://www.depesz.com/index.php/2007/10/04/IDENT /)。 – 2010-01-31 18:41:18