2017-05-02 75 views
3

我对root用户超级用户用户权限非常困惑!我无法在用户“athleticu”内创建数据库。以下是我使用的命令: -CREATEDB:数据库创建失败:ERROR:许可被拒绝创建数据库

[email protected]:/home/ubuntu$ createdb -T template0 simple_db1 
createdb: database creation failed: ERROR: permission denied to create database 
[email protected]:/home/ubuntu$ sudo createdb -T template0 simple_db1 
sudo: unable to resolve host ip-172-30-4-103 
createdb: could not connect to database template1: FATAL: role "root" does not exist 

请有人澄清我的疑惑,并告诉我该写什么!

+0

你确定这是服务器的正确地址:“无法解析主机-172-30-4-103”? – patrick

+0

您需要使用postgres超级用户进行连接。通常是'postgres'。尝试'createdb -U postgres ....' –

+0

其实我正在使用以下命令连接到AWS机器的一个实例: - 'sudo ssh -i“athleticu-test-keypair.pem”ubuntu @ 52.91.xxx.xxx'然后它是像这样:'ubuntu @ ip-172-30-4-103:〜$'@patrick – SonamGupta

回答

2

root用户是系统中独立于Postgres的帐户。只有一个root用户。

A 超级用户是Postgres中的帐户,可以访问所有内容。可能有许多超级用户。

系统帐户和Postgres账户是不同的东西,但除非你当你连接到数据库(通过实用工具,比如psqlcreatedbdropdb,或以其他方式)指定一个Postgres用户名,将在希望使用当前系统用户名即有相应的Postgres帐户具有相同的名称。默认情况下,根用户在Postgres中不具有相应的帐户。

当你在* nix安装Postgres的,它都将创建超级命名为postgres,并命名为postgres系统用户。

因此,当你需要与Postgres一起做一些事情的内置超级用户,你有两个选择:

  1. 您可能sudo su - postgres成为postgres系统用户和执行你的命令(createdbpsql等)。由于系统用户与数据库超级用户具有相同的名称,因此您的命令将作为相应的帐户进行连接。
  2. 您可以指定与-U交换机一样执行的用户名,例如psql -U postgres ...

根据您的Postgres服务器的身份验证设置,您可能需要输入一个或两个连接方法的密码。

+0

嘿非常感谢! '当你在* nix上安装Postgres时 - 在你的评论中'* nix'是什么意思?这是否意味着Unix/Linux?和有关在Ubuntu上使用postgres?请再澄清一点! @dmfay – SonamGupta

+0

* nix指任何派生自或与Unix相关的操作系统,包括各种Linux发行版(其中Ubuntu是其中之一),BSD和Mac OS X. – dmfay

5

嘿,我已经解决了这个问题。你所要做的就是先登录的用户的Postgres如下: - [email protected]:~$ su postgres Password: [email protected]:/home/ubuntu$ psql psql (9.5.3) Type "help" for help. postgres=# alter user athleticu createdb; ALTER ROLE

希望它可以帮助你:)

0

类型\du在psql里,你会看到所有注册用户的列表,并每个人拥有什么类型的特权。 为了授予登录用户权限(例如'user1'),我必须使用以下命令注销并使用该列表中的某个超级用户角色(例如'user2')登录:

psql -U 'user2' -h localhost 'database2' 

其中'database2'是特定超级用户'user2'有权访问的名称。

ALTER ROLE user1 WITH CREATEDB 

ALTER ROLE user1 WITH SUPERUSER 

话又说回来为USER1,谁现在是超级用户登录: 一旦你登录为超级用户,则可以通过权限授予“USER1”。

这个blog是有帮助的,以及这link

相关问题