- Create
UNLOGGEDtable. This reduces the amount of data written to persistent storage by up to 2x. - Set
WITH (autovacuum_enabled=false)on the table. This saves CPU time and IO bandwidth on useless vacuuming of the table (since we neverDELETEorUPDATEthe table). - Insert rows with
COPY FROM STDIN. This is the fastest possible approach to insert rows into table. - Minimize the number of indexes in the table, since they slow down inserts. Usually an index
on
time timestamp with time zoneis enough. - Add
synchronous_commit = offtopostgresql.conf. - Use table inheritance for fast removal of old data: