PostgreSQL:通过命令行删除PostgreSQL数据库 [英] PostgreSQL: Drop PostgreSQL database through command line

查看:122
本文介绍了PostgreSQL:通过命令行删除PostgreSQL数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图通过命令行删除数据库并创建一个新数据库。



我使用 psql -U用户名登录,然后执行 \connect模板1 ,然后执行 DROP DATABASE数据库名称;



我收到错误消息


其他用户正在访问数据库数据库名称


我关闭了Apache并再次尝试了此操作,但仍然出现此错误。我做错了吗?

解决方案

您可以运行 dropdb 命令:

  dropdb'数据库名称'

请注意,您必须是超级用户或数据库所有者才能删除它。 / p>

您还可以检查 pg_stat_activity 视图,以查看当前针对您数据库的活动类型,包括所有空闲进程。 / p>

  SELECT * FROM pg_stat_activity WHERE datname ='数据库名称'; 

请注意,从PostgreSQL v13开始,您可以使用以下方式自动断开用户连接:

  DROP DATABASE dbname FORCE; 

  dropdb -f dbname 


I'm trying to drop my database and create a new one through the command line.

I log in using psql -U username and then do a \connect template1, followed by a DROP DATABASE databasename;.

I get the error

database databasename is being accessed by other users

I shut down Apache and tried this again but I'm still getting this error. Am I doing something wrong?

解决方案

You can run the dropdb command from the command line:

dropdb 'database name'

Note that you have to be a superuser or the database owner to be able to drop it.

You can also check the pg_stat_activity view to see what type of activity is currently taking place against your database, including all idle processes.

SELECT * FROM pg_stat_activity WHERE datname='database name';

Note that from PostgreSQL v13 on, you can disconnect the users automatically with

DROP DATABASE dbname FORCE;

or

dropdb -f dbname

这篇关于PostgreSQL:通过命令行删除PostgreSQL数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆