如何从postgreSQL中删除未使用的/大量的序列

时间:2014-06-12 06:53:57

标签: sql postgresql

在我的vb.net应用程序的后端使用是PostgreSQL。应用程序使用临时表来做一些工作(因为我是DBA我不知道他们在做什么)。今天我在DB看到了一些错误。基本上DB的{​​{1}}号sequences70,但在DB我看到了(见{}}下图)

enter image description here

  • 这个DB有一些问题,比如慢,服务器意外停机

请提供一些建议,以便从DB

中删除这些序列

1 个答案:

答案 0 :(得分:0)

我得到了解决方案

创建一个查询,找出要删除的sequences

  

SELECT' drop sequence' || c.relname || &#39 ;;'从pg_class c WHERE   (c.relkind =' S')和(c.relname不是ilike'%gtab%'而c.relname不是ilike'%gcom%')

  • 这将返回所有未命中的(在我的情况下)sequences

enter image description here

使用复制命令将结果导出到.CSV

  •   

    复制(SELECT' drop sequence' || c.relname ||&#39 ;;' FROM pg_class c   在哪里(c.relkind =' S')和(c.relname不是ilike'%gtab%'和   c.relname not ilike'%gcom%'))到D:/DelSeq.csv'用csv标题

  • myCsv文件 enter image description here

  • 我复制了.csv的整个结果,并将其作为pgScript
  • 执行

完成