![]() |
千年单身的警车 · innosetup调用bat-掘金· 1 年前 · |
![]() |
体贴的黄瓜 · c语言随机生成字符串-掘金· 1 年前 · |
![]() |
面冷心慈的西装 · 项目配置文件 | 微信开放文档· 1 年前 · |
![]() |
狂野的人字拖 · RSA非对称加密,分段加解密的技术实现 - 知乎· 1 年前 · |
我正在尝试第一次设置Postgres,并且我需要创建一个具有读取和创建数据库权限的用户。但是,当我使用以下命令时:
createuser username
在我的终端中,我收到以下消息:
创建用户:无法连接到数据库postgres:致命:角色"tom“不存在
Tom是我现在登录的Ubuntu用户帐户。我正在尝试创建一个用户名"postgres“,然后执行一个
psql -U psql template1
,这样我就可以创建一个数据库,并为我的Rails应用程序分配一个所有者。
发布于 2013-06-07 08:04:48
你提到了Ubuntu,所以我猜你从Ubuntu到apt安装了PostgreSQL包。
如果是,则
postgres
PostgreSQL用户帐户已存在,并且已配置为可通过
pg_hba.conf
中unix套接字的
peer
身份验证进行访问。您可以通过以
postgres
unix用户身份运行命令来访问它,例如:
sudo -u postgres createuser owning_user
sudo -u postgres createdb -O owning_user dbname
这一切都在 Ubuntu PostgreSQL 文档中,这是谷歌对"Ubuntu PostgreSQL“的第一个命中,并在许多堆栈溢出问题中涵盖。
(您忽略了操作系统和版本、如何安装PostgreSQL等细节,这使得回答这个问题变得更加困难。)
发布于 2016-05-28 23:07:23
See git gist with instructions here
运行以下命令:
sudo -u postgres psql
或
psql -U postgres
才能进入postgres
NB:如果你在Mac上,上面的两个命令都失败了,跳转到 下面关于Mac的部分。
postgres=#
跑
CREATE USER new_username;
注意:将new_username替换为您想要创建的用户,在本例中该用户将是tom。
postgres=# CREATE USER new_username;
CREATE ROLE
由于您希望用户能够创建数据库,因此需要将角色更改为超级用户
postgres=# ALTER USER new_username SUPERUSER CREATEDB;
ALTER ROLE
确认一下,一切都很顺利,
postgres=# \du
List of roles
Role name | Attributes | Member of
![]() |
千年单身的警车 · innosetup调用bat-掘金 1 年前 |
![]() |
体贴的黄瓜 · c语言随机生成字符串-掘金 1 年前 |
![]() |
面冷心慈的西装 · 项目配置文件 | 微信开放文档 1 年前 |
![]() |
狂野的人字拖 · RSA非对称加密,分段加解密的技术实现 - 知乎 1 年前 |