PostgreSQL如何删除数据库? DROP DATABASE命令;dropdb使用参数说明;删库完了可以跑路?

本文主要是介绍PostgreSQL如何删除数据库? DROP DATABASE命令;dropdb使用参数说明;删库完了可以跑路?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PostgreSQL如何删除数据库? DROP DATABASE命令;dropdb使用参数说明;删库完了可以跑路?

  • 销毁一个数据库
  • DROP DATABASE命令
  • 命令方式dropdb

销毁一个数据库

22.5. 销毁一个数据库
数据库用DROP DATABASE命令删除:

DROP DATABASE name;
只有数据库的拥有者或者超级用户才可以删除数据库。删除数据库会移除其中包括的所有对象。数据库的删除不能被撤销。

你不能在与目标数据库连接时执行DROP DATABASE命令。不过,你可以连接到任何其它数据库,包括 template1数据库。template1也是你删除一个给定集簇中最后一个用户数据库的唯一选项。

为了方便,有一个在 shell 程序可以删除数据库,dropdb:

dropdb dbname
(和createdb不同,删除当前用户名的数据库不是默认动作)。

DROP DATABASE命令

DROP DATABASE

DROP DATABASE — 移除一个数据库

大纲

DROP DATABASE [ IF EXISTS ] name

描述
DROP DATABASE移除一个数据库。它会 移除该数据库的系统目录项并且删除包含数据的文件目录。它只能由数据库 拥有者执行。还有,当你或者任何其他人已经连接到目标数据库时,它不能 被执行(连接到postgres或者任何其他数据库来发出这 个命令)。

DROP DATABASE不能被撤销。请小心使用!

参数
IF EXISTS
如果该数据库不存在则不要抛出一个错误,而是发出一个提示。name
要移除的数据库的名称。

注解
DROP DATABASE不能在一个事务块内执行。

在连接到目标数据库时,这个命令不能被执行。因此,使用程序 dropdb会更方便,它是这个命令的一个包装器。

兼容性
SQL 标准中没有DROP DATABASE语句。

命令方式dropdb

dropdb
dropdb — 移除一个PostgreSQL数据库

大纲

dropdb [connection-option...] [option...] dbname

描述
dropdb毁掉一个现有的PostgreSQL数据库。执行这个命令的用户必须是一个数据库超级用户或该数据库的拥有者。

dropdb是SQL命令DROP DATABASE的一个包装器。在通过这个工具和其他方法访问服务器来删除数据库之间没有实质性的区别。

选项
dropdb接受下列命令行参数:

dbname
指定要被移除的数据库的名字。-e
--echo
回显dropdb生成并发送给服务器的命令。-i
--interactive
在做任何破坏性的工作之前发出一个验证提示。-V
--version
打印dropdb版本并退出。--if-exists
如果数据库不存在也不抛出一个错误。在这种情况下会发出一个提醒。-?
--help
显示有关dropdb命令行参数的帮助并退出。dropdb也接受下列命令行参数作为连接参数:-h host
--host=host
指定运行服务器的机器的主机名。如果该值以一个斜线开始,它被用作 Unix 域套接字的目录。-p port
--port=port
指定服务器正在监听连接的 TCP 端口或本地 Unix 域套接字文件扩展。-U username
--username=username
要作为哪个用户连接。-w
--no-password
从不发出一个口令提示。如果服务器要求口令认证并且没有其他方式提供口令(例如一个.pgpass文件),那儿连接尝试将失败。
这个选项对于批处理任务和脚本有用,因为在其中没有一个用户来输入口令。-W
--password
强制dropdb在连接到一个数据库之前提示要求一个口令。这个选项不是必不可少的,因为如果服务器要求口令认证,dropdb将自动提示要求一个口令。
但是,dropdb将浪费一次连接尝试来发现服务器想要一个口令。在某些情况下值得用-W来避免额外的连接尝试。--maintenance-db=dbname
指定要连接到来发现哪些其他数据库应该被删除的数据库名。
如果没有指定,将使用postgres数据库。而如果它也不存在,将使用template1。

环境
PGHOST
PGPORT
PGUSER
默认连接参数

和大部分其他PostgreSQL工具相似,这个工具也使用libpq(见官方文档第 33.14 节)支持的环境变量。

诊断
在有困难时,可以在DROP DATABASE和psql中找潜在问题和错误消息的讨论。数据库服务器必须运行在目标主机上。同样,任何libpq前端库使用的默认连接设置和环境变量都将适用于此。

例子
要在默认数据库服务器上毁掉数据库demo:

$ dropdb demo

要使用在主机eden、端口 5000 上的服务器中毁掉数据库demo,并带有验证和回显,看看下面的命令:

$ dropdb -p 5000 -h eden -i -e demo
Database "demo" will be permanently deleted.
Are you sure? (y/n) y
DROP DATABASE demo;

这篇关于PostgreSQL如何删除数据库? DROP DATABASE命令;dropdb使用参数说明;删库完了可以跑路?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/723878

相关文章

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Linux如何查看文件权限的命令

《Linux如何查看文件权限的命令》Linux中使用ls-R命令递归查看指定目录及子目录下所有文件和文件夹的权限信息,以列表形式展示权限位、所有者、组等详细内容... 目录linux China编程查看文件权限命令输出结果示例这里是查看tomcat文件夹总结Linux 查看文件权限命令ls -l 文件或文件夹