我有一个 PostgreSQL 11 数据库,它托管多个数据库,其中一些包含经常插入和更新的表。最近写入 WAL 文件的数据量大幅增加(大约 400%),尽管我相信插入数据库的数量只增加了大约 20%。
因此,我们不仅使用了更多磁盘,而且我们的数据库性能现在似乎受到 WAL 所在磁盘的写入器性能的限制。
应用程序更新非常频繁,可能是应用程序中的某些内容(我们控制并能够更改)发生了变化,这导致插入/更新效率降低,但我不知道我们如何会确定这一点。自从这种行为变化开始以来,可能已经发生了很多变化,并且自从它第一次被注意到以来已经发生了一些变化。
有没有办法确定哪些数据库/表/查询正在写入 WAL,以及(大约)数量?