PG数据库急着上线前,快速上线后,计划时间备份清理历史数据

工具: 1.PG数据库 2.navicat软件 思路: 1.确认清理的表名 2.备份表结构和索引 3.查询所有表名和索引名,重命名表名,索引名 ALTER TABLE t_xxx RENAME TO t_xxx2; ALTER INDEX pk_t_xxx RENAME TO pk_t_xxx2; 4.建新表和新索引 5.备份数据 6.清理数据   具体操作: -- 1.确认清理的表名,这一步主要是确认要清理的表名,如果已明确知道需要清理的是哪些表,则可以跳过这一步 select * from pg_tables where tablename like 'xxx_%' and tablename not in ( -- 排除掉不需要清理的表名 );   -- 2.备份表结构和索引 -- 1)打开数据库zljcjg--public,右击public,选择“转储SQL文件”--“仅结构”,输入文件名(如:zl.sql),保存,开始备份表结构和索引 -- 2)打开zl.sql文件, 将无关的表名和备注,索引删除   -- 3.查询所有表名和索引名,重命名表名,索引名 -- 查询所有表名 select * from pg_tables where tablename like 'xxx_%' and tablename not in ( -- 排除掉不需要清理的表名 );   -- 重命名表名 -- 复制列名tablename的值,用以下语句。重命名表名 ALTER TABLE t_xxx RENAME TO t_xxx2;     -- 查询所有索引名 select * from pg_indexes where tablename like 'xxx_%';   -- 重命名索引名 -- 复制列名indexname的值,用以下语句。重命名索引名 ALTER INDEX pk_t_xxx RENAME TO pk_t_xxx2;     -- 4.建新表和新索引 -- 1)打开数据库zljcjg--public,右击public,选择“运行SQL文件”,选择文件(如:zl.sql),开始,开始创建新表和新索引 ------------------------- 至此,系统可以投入正式使用,剩下备份可以计划时间实施---------------------------------------------   -- 5.备份数据(这个耗费的时间比较长,耗费的时间和数据量成正比) -- 1)打开数据库zljcjg--public--表,右击表,选择“导出向导”--“SQL脚本文件(*.sql)”,选择相应的表名,开始备份表数据   -- 6.清理数据 -- 查询所有表名 select * from pg_tables where tablename like 'xxx_%' and tablename not in ( -- 排除掉不需要清理的表名 );   -- 删除表 -- 复制列名tablename的值,用以下语句。删除表,删除前先确认是否已备份完毕 truncate table t_xxx2; drop table t_xxx2;

上一篇:postgresql数据库使用——获取数据库中给所有表的名称


下一篇:如何查询postgresql数量?