PostgreSQL:通过命令行删除PostgreSQL数据库 [英] PostgreSQL: Drop PostgreSQL database through command line
问题描述
我试图通过命令行删除数据库并创建一个新数据库。
我使用 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屋!