首先我运行以下命令:
sudo su _postgres
然后我运行以下命令:
create role mixeddrinks with createdb login password 'password1'
但它返回的是:
-bash: create: command not found
我不太熟悉终端和PostgreSQL,所以不确定我做错了什么。我正在尝试创建一个角色和一个数据库。
首先我运行以下命令:
sudo su _postgres
然后我运行以下命令:
create role mixeddrinks with createdb login password 'password1'
-bash: create: command not found
我不太熟悉终端和PostgreSQL,所以不确定我做错了什么。我正在尝试创建一个角色和一个数据库。
首先我运行命令
sudo su _postgres
,然后我运行命令create role mixeddrinks with createdb login password 'password1'
您混淆了shell命令和psql
命令行。
如果您想使用SQL,您需要使用psql
命令。 sudo su _postgres
是获取_postgres
用户的Unix命令Shell的低效方式。它不会给您提供SQL shell。您可以从Unix命令Shell运行类似psql
、createuser
等Unix命令。您可以通过提示符来判断是否在命令shell中,提示符看起来像:
postgres$
如果您想要一个SQL shell,这样您就可以运行像CREATE USER
等命令,则需要运行psql
。如果您想要一个超级用户的SQL shell,那么应该是这样的:
sudo -u _postgres psql
这将给你一个提示,类似于:
postgres=#
在这里你可以运行SQL命令。请记住,SQL命令以分号结束。
postgres=# create role mixeddrinks with createdb login password 'password1';
sudo -u _postgres psql -U postgres
。 - Craig Ringerpsql postgres
或者sudo psql postgres
吗?对我来说,这最终解决了问题。 - YPCrumble