【问题标题】:Revert insert into postgres database恢复插入到 postgres 数据库
【发布时间】:2018-01-01 20:09:31
【问题描述】:

创建将数据插入数据库的脚本时失败。我忘记在插入之前连接到我的数据库(我连接到 postgres 数据库,以便创建我的数据库),所以我所有的表现在都在 postgres 数据库中。

我怎样才能删除所有这些表?是否可以按所有者或其他方式删除表?

提前致谢

【问题讨论】:

  • "我忘记在插入之前连接到我的数据库,所以我所有的表现在都在 postgres 数据库中。" - 如果您一开始没有连接,它们在您的数据库中的情况如何?
  • 我会更新帖子以更清楚,对不起
  • 您的意思是您将表添加到 postgres 默认架构中,而不是您自己创建的?

标签: linux postgresql psql


【解决方案1】:

只要您确定要删除该用户拥有的所有对象,您就可以使用DROP OWNED BY

否则你必须手动完成,这应该很简单,因为数据库postgres 通常是空的。

【讨论】:

    【解决方案2】:

    如果架构中没有要保存的内容:

    drop schema public cascade;
    create schema public;
    grant all on schema public to public;
    

    public 替换为架构名称(如果有)。

    【讨论】:

      猜你喜欢
      • 2018-07-22
      • 1970-01-01
      • 1970-01-01
      • 2017-05-20
      • 1970-01-01
      • 2011-04-28
      • 2014-01-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多