如何处理PostgreSQL删除含特殊字符数据库时的语法报错问题
PostgreSQL删除含特殊字符数据库的正确方法
PostgreSQL 对包含 <> 这类特殊字符的非标准标识符,需要用英文双引号包裹才能被语法解析器正确识别,直接写库名会触发语法错误,正确操作步骤如下:
- 方式一:在psql交互终端内删除
- 登录PostgreSQL终端,替换为你实际的管理员用户名(如默认的postgres):
psql -U postgres - 执行删除命令,将库名完整包裹在英文双引号内:
DROP DATABASE "<test_project>_development"; - 如果提示数据库正在被占用,先终止所有连接到该库的会话后再执行删除:
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = '<test_project>_development'; - 登录PostgreSQL终端,替换为你实际的管理员用户名(如默认的postgres):
- 方式二:直接使用shell命令行删除
要额外对双引号做转义,避免被shell提前解析:dropdb -U postgres "\"<test_project>_development\""
内容的提问来源于stack exchange,提问作者jpgazmuri
相关产品推荐
相关产品推荐

