Postgresql 将数据库从9.6移动到11.6 postgres服务器
在将数据库从postgres 9.6移动到11.6之后,我们在运行一些查询时遇到了性能问题Postgresql 将数据库从9.6移动到11.6 postgres服务器,postgresql,amazon-rds,Postgresql,Amazon Rds,在将数据库从postgres 9.6移动到11.6之后,我们在运行一些查询时遇到了性能问题 有两台并行运行的postgres服务器。9.6和11.6。麻烦是AWS RDS的 使用pg_dump命令将数据库转储到文件(11.6 postgres工具)。连接到运行Postgres 9.6的RDS。(PGPASSWORD=pg_dump-Fc--host=--port=5432--username=-f/tmp/filename.dump--exclude table data'table_a'--
- 有两台并行运行的postgres服务器。9.6和11.6。麻烦是AWS RDS的
- 使用
命令将数据库转储到文件(11.6 postgres工具)。连接到运行Postgres 9.6的RDS。(pg_dump
PGPASSWORD=pg_dump-Fc--host=--port=5432--username=-f/tmp/filename.dump--exclude table data'table_a'--exclude table data'table_b'--exclude table data'table_c'--exclude table data'table_d'
- 使用
命令将数据库加载到文件(11.6 postgres工具)。连接到运行postgres 11.6的RDS。(pg_restore
pg_restore-Fc-d$PGDATABASE-v-j2
我们是否遗漏了什么,或者我们应该用其他方法来做这件事?我们已经运行了
ANALYZE
,但没有任何帮助。您是否也运行了VACUUM?是的,也运行了VACUUM。没有区别。在这种情况下,您需要捕获一个错误的查询,并使用EXPLAIN(ANALYZE,BUFFERS)
查看执行计划。可能是auto\u EXPLAIN()可能会有帮助。或者对于失败的查询,您可以从错误消息中获取查询文本,只需执行EXPLAIN
(无需分析,因为这取决于查询是否成功)在两个数据库中都使用它。您是否也运行了真空?是的,也运行了真空。没有区别。在这种情况下,您需要捕获一个错误的查询,并使用EXPLAIN(ANALYZE,BUFFERS)
查看执行计划。可能是auto\u EXPLAIN()可能会有帮助。或者对于失败的查询,您可以从错误消息中获取查询文本,然后在两个数据库中对其进行解释(不进行分析,因为这取决于查询是否成功)。