在 mint ubuntu 上新安装了 postgres 8.4。如何为 postgres 创建用户并使用 psql 登录?
当我输入 psql 时,它只是告诉我
psql: FATAL: Ident authentication failed for user "my-ubuntu-username"
您可以使用两种方法。两者都需要创建用户and一个数据库。
默认情况下,psql 连接到与用户同名的数据库。所以有一个约定“用户的数据库”。如果您的用户只需要一个数据库,则没有理由打破这一约定。我们将使用mydatabase
作为示例数据库名称。
-
使用createuser和createdb,我们可以明确数据库名称,
$ sudo -u postgres createuser -s $USER
$ createdb mydatabase
$ psql -d mydatabase
您可能应该完全忽略它并让所有命令默认为用户名。
$ sudo -u postgres createuser -s $USER
$ createdb
$ psql
-
使用 SQL 管理命令,并通过 TCP 使用密码进行连接
$ sudo -u postgres psql postgres
然后,在 psql shell 中
CREATE ROLE myuser LOGIN PASSWORD 'mypass';
CREATE DATABASE mydatabase WITH OWNER = myuser;
然后就可以登录了,
$ psql -h localhost -d mydatabase -U myuser -p <port>
如果您不知道端口,您始终可以通过运行以下命令来获取它,如下所示postgres
user,
SHOW port;
Or,
$ grep "port =" /etc/postgresql/*/main/postgresql.conf
旁注:postgres
user
我建议NOT修改postgres
user.
- 它通常被操作系统锁定。任何人都不应“登录”操作系统
postgres
。你应该有root权限才能进行身份验证postgres
.
- 它通常不受密码保护并委托给主机操作系统。这是一个好东西。这通常意味着为了登录
postgres
这是 PostgreSQL 相当于 SQL Server 的SA
,您必须具有对底层数据文件的写访问权限。而且,这意味着无论如何你通常都会造成严重破坏。
- 通过禁用此功能,您可以消除通过指定超级用户进行暴力攻击的风险。隐藏和模糊超级用户的名称有其优点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)