如何在Postgres中删除指定SCHEMA下的表?Heroku场景操作验证
Heroku Postgres 删表问题解答
你写的这条命令可以正常运行。
PostgreSQL 本身支持通过schema名.表名的限定名格式精准指定操作对象,你明确标注了 public schema,执行时只会匹配 public 下的 myTable,不会误删 mySchema 下的同名表,完全符合语法规范。同时你调用 Heroku CLI 的参数格式也没有问题:-c用来指定要执行的 SQL 语句,-a用来指定目标 Heroku 应用,替换成你实际的表名、应用名即可正常执行。
操作建议
- 删表属于不可逆高危操作,执行前建议先执行如下语句确认目标表是否为你要删除的对象:
heroku pg:psql -c "SELECT * FROM public.myTable LIMIT 10;" -a myAppInHeroku - 可以给 SQL 语句加上
IF EXISTS修饰,避免表不存在时报错,修改后的命令如下:heroku pg:psql -c "DROP TABLE IF EXISTS public.myTable;" -a myAppInHeroku
内容的提问来源于stack exchange,提问作者Sushi
相关产品推荐
相关产品推荐

