如何从GCE shell运行postgresql命令?

时间:2014-03-31 09:21:03

标签: postgresql google-compute-engine

在GCE上安装PostgreSQL需要root密码才能运行sudo -u postgresql。这会提示输入密码,我从未给出过密码 我如何以不同的方式获取此传递,或以任何方式从shell运行postgresql命令?

3 个答案:

答案 0 :(得分:0)

如果要对postgresql服务器运行命令,则不需要使用sudo,只需使用此语法进入Postgresql Interactive Shell:

psql -U username database_name

OR

psql -U username hostname database_name

用户名替换为您的postgresql用户名主机名(如果未在同一服务器上运行),其中包含服务器主机名和 database_name 您的数据库的名称。例如:

psql -U postgressql customers

答案 1 :(得分:0)

通常sudo需要您的用户帐户密码。因此,假设您运行命令的帐户列在sudoers文件中,它提示您输入的密码应该是您自己的密码。您是否尝试过,而不是root或postgresql密码,您似乎没有(甚至可能没有设置)。

答案 2 :(得分:0)

您的系统用户postgresql没有密码(我声明没有证据...但我认为您会发现这是真的。)

通常你应该使用这样的命令:

# Test that YOU can use psql (as postgres) to run a query:
psql -U postgres -c 'select * from pg_catalog.pg_user;'

# Test an interactive session:
psql -U postgres my_database
my_database=# select 42 as the_answer;

# Create a new database
psql -U postgres my_database
my_database=# create database mydb;

另外,也许可以这样登录(it usually is):

sudo su postgres

你可以用它来运行createdb。但是自己运行psql可能更好。