Postgres初级教程 删除数据库

本文详细介绍了在Postgres中删除数据库的两种方法:使用`drop database` SQL命令和使用`dropdb`命令行工具。内容包括命令的语法、参数、选项及具体使用示例,强调了在删除时需要注意的权限和连接问题。
摘要由CSDN通过智能技术生成

在本章节中,我们将会讲解如何在postgres中删除数据库,这里有两种方法来删除数据库

  • 使用drop database,一个sql命令
  • 使用dropdb,一个命令行可执行文件
执行该操作前一定要小心,因为删除当前的一个数据库将会导致丢失存储在数据库中的完整信息。

使用drop database

该命令删除数据库。它删除数据库的目录条目,并删除包含数据的目录,它只能有数据库的所有者执行,当你或者其他任何人连接到目标数据库时(连接到postgres或任何其他数据库以发出此命令),无法执行该命令。

语法

下面给出了drop database的语法:

DROP DATABASE [ IF EXISTS ] name

参数

下表列出了相关参数及其描述:

序号        参数描述
   1IF EXISTS如果数据库不存在时,不显示报错。而不是错误信息
   2name要删除的数据库的名字

我们无法删除一个有开放连接的数据库,包括我们自己从psql或者pgAdmin建立的连接。如果我们想要删除当前连接的数据库,我们必须切换到另一个数据库或者template1。因此,使用命令行程序dropdb可能更方便,该命令是drop database命令的包装。

举例

以下是一个简单的例子,该示例将从postgres中删除testdb数据库

postgres=# drop database testdb ;
DROP DATABASE
postgres=# 

使用dropdb命令

Postgres命令行可执行文件dropdb是sql命令drop database的命令行包装。通过这种方法删除数据库和通过其它方法访问服务删除数据库之间没有什么实际的区别。dropdb毁坏一个已经存在的postgres数据库。执行此命令的用户必须是数据库的超级用户或者是数据库的所有者。

语法

dropdb的语法如下所示:

dropdb  [option...] dbname

参数

下表列出了参数及其说明:

 序号     参数说明
   1  dataname要删除的数据库的名称
   2    optiondropdb使用的命令参数

选项

下表列出了dropdb使用的命令行参数-

  序号                选项                      说明
   1                  -e显示正在发送到服务器的命令
   2                  -i在执行任何破坏性操作前发出验证提示
   3                  -V打印dropdb版本并退出
   4            --if-exists如果数据库不存在时,不显示报错,而不是错误信息
   5                --help显示有关dropdb命令的参数并退出
   6               -h host指定服务器的主机名
   7               -p port指定服务器监听的端口,或者 socket 文件
   8          -U username连接数据库的用户名
   9                  -w忽略输入密码
  10                  -W  连接时强制要求输入密码
  11--maintenance-db=dbname指定要删除目标数据库要连接的数据库的名称。

举例

以下示例演示了如何从OS命令提示符下删除数据库:

postgres@test01:[~]: dropdb -h 10.175.2.186 -p 5432 -U postgres testdb

上面的命令删除数据库testdb。在这里,我使用了postgres(位于template1的pg_roles下)用户名来删除数据库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值