在 postgresql 中通过 psql 删除数据库-ag捕鱼王app官网

在 postgresql 中通过 psql 删除数据库

作者:迹忆客 最近更新:2023/03/20 浏览次数:

有两种方法可以访问 postgresql 对象和系统中的数据库。一种是通过界面,例如 pgadmin 之类的图形界面,另一种是基本的命令行工具 psql。

今天,我们将研究发出 drop database 命令的 psql 版本以及它在 pgadmin 中的工作方式。

使用 drop 命令通过 psql 删除数据库

首先,从下面的文件路径中打开 psql。

c:/program files/postgresql/14/bin (instead of 14, you might have a different version)

从搜索栏中打开 cmd,然后运行命令:

c:\users\[your user]>cd c:/program files/postgresql/14/bin

现在,键入以下内容:

c:\program files\postgresql\14\bin>psql -u postgres

如果你不明白发生了什么。我们建议你先阅读 psql 设置和命令。

你将被要求输入 postgres 的 password,完成后,按回车键。

你现在将在你的 postgresql 服务器中。要查看所有数据库,请写出以下命令:

\l

此命令将列出你当前在服务器上的所有数据库。

作为旁注,请确保不要修改或删除任何你不知道的数据库,因为这可能有害并导致工作丢失。按照教程进行操作,不要冒险进入未知领域。

所以在本教程中,当前的数据库是:

输出:

数据库视图

假设我们想要 drop postgres 数据库。我们可以实现这一点,如下所示。

drop database postgres;

如果 user 不起作用,你可以发出的另一个命令是使用以下命令。

psql -u   -c "drop database [database name]"

确保在末尾包含一个分号。

该命令将 drop 你的数据库并有效地工作。但是,如果 database 当前已打开或最后被多个用户访问,它将返回错误。

error:  cannot drop the currently open database

因此,请在删除数据库之前关闭你的数据库并保存你的工作。

使用 dropdb 作为 psql 命令的 shell 替代方案

许多用户会从 psql 发出 dropdb 命令而不是 cmd(命令提示符),这是错误的。

你必须打开 cmd 来运行这个命令来 drop 数据库。让我们学习如何做到这一点。

在 windows 中搜索环境变量。在下面的框中,单击环境变量

搜索环境变量

点击 new 添加新值的路径。

新用户变量

variable path 中,输入 binpathlib 文件夹,这将是:

c:\program files\postgresql\14\bin
                  c:\program files\postgresql\14\lib

按 enter 并关闭。

在 cmd 中,使用以下命令输入 bin 文件夹。

cd c:\program files\postgresql\14\bin

发出以下命令。

dropbd [database name]

此命令将根据需要删除数据库。以上所有内容都是为了确保你的系统在发出 dropdb 命令时不会出现错误。

强制断开连接并使用 dropdb 作为 psql 命令的 shell 替代方案

我们假设你的系统尚未设置环境变量。如果这样做,请保持原样或将它们编辑为以下配置。

如果你想在发出 drop 命令时使用强制断开数据库,你可以在 shell cmd 中使用 -f 关键字,在数据库中使用 force

对于 cmd 中的 drop 命令:

dropbd -f [database name]

对于数据库界面或 pgadmin 中的 drop 命令,请使用以下命令:

drop database postgres with (force)

force 终止与数据库的所有现有连接,在调用 drop 命令之前是必不可少的。 -f 也是如此。

或者,要切断所有现有连接,你可以继续使用以下命令发出 process termination 命令:

select pg_terminate_backend([process id]) from pg_stat_activity where datname='database name';

使用它会终止在后台运行的 postgres 服务器的当前会话。在此之后,你可以发出 drop 命令来删除数据库。

发出 drop 命令的另一种方法是通过配置 pg_hba.conf 文件来限制对数据库的访问。但是,这是最不推荐的。

最好通过重新启动服务器并调用 drop 命令来切断连接。此外,请确保没有其他用户在数据库上进行操作,一旦删除数据库就会丢失。

使用 dropdb 作为 ubuntu 用户的 psql 命令的 shell 替代方案

对于 ubuntu 中的用户,你可以发出以下命令。

连接请求:

sudo -i -u postgres psql

使用 \l 查看可用的数据库,

postgres=#  \l

并且使用 drop database [database_name] 命令,你可以删除数据库。

你可以在删除数据库之前使用 if exists 命令检查数据库是否已经存在,因为如果不存在,database drop 命令将返回错误。

以下是使用 postgres 命令的不同方式:

postgres 命令

例如,-i 命令会在删除前要求确认。因此,你可以根据需要使用不同的语法。

另外,请记住,一旦数据库被删除,我们就无法恢复它。这就是为什么我们必须在发出命令之前使用确认标志。

结论

我们希望你今天了解了为 postgresql 数据库中存在的数据库发出 drop 命令的不同方法。这些可以以任何需要的方式使用。

但是,在某些情况下,最好检查是否存在所有先决条件,例如在 cmd shell 的情况下,环境变量必须事先存在。

上一篇:

下一篇:使用密码连接到 postgresql

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

发布时间:2023/03/20 浏览次数:185 分类:postgresql

本文介绍如何在 ubuntu 上找到 postgresql 数据库的配置文件。

发布时间:2023/03/20 浏览次数:409 分类:数据库

本文解释了如何直接从终端/命令行或 psql shell 运行 sql 文件。为此,你需要指定主机名、端口、用户名和数据库名称。

发布时间:2023/03/20 浏览次数:89 分类:postgresql

本文展示了如何列出 postgresql 上的活动连接。

在 postgresql 中使用循环

发布时间:2023/03/20 浏览次数:966 分类:postgresql

在 pl/sql 中,你可能需要在 postgres 中使用循环。我们可以使用 for 和 while 语句来创建循环。

发布时间:2023/03/20 浏览次数:141 分类:postgresql

本文介绍如何在 postgresql 中仅使用单个查询来重命名列以及更改其类型。

发布时间:2023/03/20 浏览次数:233 分类:postgresql

本文介绍如何在 postgresql 中使用 select 方法连接列。

发布时间:2023/03/20 浏览次数:281 分类:postgresql

本文展示了如何使用 case 语句并给出了 postgresql 中的示例。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图