CREATE和DROP数据库不起作用

时间:2014-01-10 22:08:01

标签: sql database postgresql

我想简单地删除一些数据库,之后创建一个新数据库。

在postgresql 9.1版中,首先运行这些命令来创建:

postgres=# createdb [dbname]

postgres=# CREATE DATABASE name

如此处Postgresql Documentation所述。

现在,放弃一些数据库:

postgres=# DROP DATABASE name

如此处所述[{3}}。

他们都没有用。我错过了什么?

2 个答案:

答案 0 :(得分:2)

你忘记了分号。

postgres=# DROP DATABASE name;

SQL命令可以在多行上进行,只有在用分号结束时才会发送到服务器。这就是提示改变的原因:

postgres=# DROP DATABASE name
postgres-# 

查看教程可能是一个好主意。

此外createdb不是SQL命令。这是一个shell实用程序命令,为方便起见,它包装了CREATE DATABASE

另见:

答案 1 :(得分:0)

我认为你必须成为一名超级用户,因为记入了文档:

用于创建新数据库:

  

要创建数据库,您必须是超级用户或具有特殊功能   CREATEDB特权。请参阅CREATE USER

用于删除数据库

  

DROP DATABASE删除数据库。它删除了的目录条目   数据库并删除包含数据的目录。 它只能是   由数据库所有者执行

阅读此tutorial,它会对您有所帮助。