我正试图删除我的数据库,并通过命令行创建一个新的数据库.

我用psql -U username登录,然后做\connect template1,然后做DROP DATABASE databasename;.

我明白错误所在

其他用户正在访问数据库databasename

我关闭了Apache并再次try 此操作,但仍然收到此错误.我做错什么了吗?

推荐答案

您可以从命令行运行dropdb命令:

dropdb 'database name'

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

您还可以判断pg_stat_activity视图,查看当前针对您的数据库正在发生的活动类型,包括所有空闲进程.

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

请注意,从PostgreSQL V13开始,您可以使用以下命令自动断开用户连接

DROP DATABASE dbname WITH (FORCE);

dropdb -f dbname

Database相关问答推荐

为什么postgres枚举需要4个字节?

如何在同一个表的派生部分引用主键?

如何替换对象数组内的数组元素

DynamoDB 扫描 - 具有相同分区键的项目按顺序返回

数据库 struct 建议

生产中的超大型 Mnesia 表

什么是非规范化 mysql 数据库的好方法?

用于存储食谱的数据库设计

查询最后一天、上周、上个月SQLite

数据库中空值(nulls)使用的空间

如何找到 Oracle 数据库的 URL?

恢复数据库备份时出错

mysql,dump,数据库restore恢复

SQL Server 2005 是否具有与 MySql 的 ENUM 数据类型等效的数据类型?

我应该在数据库模式中允许空值吗?

如何使用 group_concat 引用值

Apache Spark 的主键

SqlParameterCollection only accepts non-null SqlParameter type objects, not String objects

美国城市和州的列表/数据库

有任何使用协议缓冲区的经验吗?