The collect_deltas() function simply appends data to the same tables. This should not cause performance problems, as the large log tables are without indexes. Thus, insertions in them are fast, but if you are low on disk space and have many tables, you may want to introduce a rotation scheme for these tables that throws away older data.
In case you experience performance issues with the proposed approach, you might want to either purge the old data from the *_delta_log tables (and keep a window of the last four weeks) or use horizontal partitioning.
In the first approach, you can set a weekly cron job that deletes all records that are older than four weeks from the tables. For this purpose, we have created the rotate_deltas() function in the pgstatslog extension.
Take some time and investigate the content of the extension, in particular the pgstatslog--1.0.sql file. It contains definitions for tables, views, and functions, as well as usage instructions.
In the second approach, you can keep longer series of data, by creating weekly partitions, for example, and let PostgreSQL manage partitioning. PostgreSQL 10’s partitioning scheme should be effective for the use case of time series data logging, as shown at http://www.postgresql.org/docs/current/static/ddl-partitioning.html and http://www.postgresql.org/docs/current/static/tutorial-inheritance.html.