我刚刚安装了Postgres服务器,而且我遇到了使用psql的问题。每当我进入psql
shell时,没有任何命令会产生任何影响。例如:
postgres=# create database testing
postgres=# create user foo
我的理解是,我应该看到这样的事情:
postgres=# create database testing
CREATE DATABASE
postgres=# create user foo
CREATE ROLE
奇怪的是我可以使用shell命令来创建数据库和角色。我已经安装了ppa:pitti/postgresql
的postgres,安装了Ubuntu 10.04(根据railscast#335)。
我花了相当多的时间在谷歌试图弄清楚我的问题是什么,但我似乎无法得到任何答案。
感谢。
答案 0 :(得分:2)
你可能没有看到,因为你没有用分号(;)完成这一行。您的示例应写为:
postgres=# CREATE DATABASE testing;
postgres=# CREATE ROLE foo;
答案 1 :(得分:1)
您确定;
终止了您的命令吗?除非您在调用psql
时指定-S
切换,否则psql
发出的所有声明均应by the semicolon终止。
发送查询缓冲区以便执行的另一种方法是发出\g
元命令。