Answers:
如果您打算长时间(数月)保留历史记录,建议您查看分区选项-每天或每周可能是一个分区,依此类推。它的确也取决于您的历史记录表的访问模式(您是否运行查询以跨日期访问数据?是否进行了大量汇总等)。查看用于存储汇总/摘要的实例化视图。 http://www.postgresql.org/docs/9.3/static/ddl-partitioning.html http://www.postgresql.org/docs/9.3/static/sql-creatematerializedview.html
以csv格式转储表
COPY table TO '/tmp/table.csv' DELIMITER ',';
使用COPY命令,该命令对于大量数据效率更高。
COPY table FROM '/tmp/table.csv' DELIMITER ',';
有关更多信息,请访问http://www.postgresql.org/docs/current/static/sql-copy.html查看postgres文档。
history
,我们还要追加3百万行。
问题出在索引上。该history
表具有1.6亿个索引行。通过运行其中一个,COPY FROM
或者INSERT INTO .. SELECT
不花大量时间不插入行,而是更新索引。当我禁用索引时,它在10秒内导入了3M行。现在,我需要找到重新索引大表的更快方法。