テーブルごとの行は、それ自体では問題になりません。
つまり、大まかに言えば、90日間で1日100万行は9千万行です。あなたがしていることのすべての詳細を知らなければ、Postgresがそれに対処できない理由はわかりません。
データ分散に応じて、インデックス、フィルター処理されたインデックス、およびある種のテーブルパーティションを組み合わせて使用し、パフォーマンスの問題が発生する場合と発生しない場合があることを確認したら、処理を高速化できます。あなたの問題は、私が知っている他のRDMSでも同じです。データを整理するプロセスで3か月分のデータ設計のみが必要な場合は、それ以上は必要ありません。そうすれば、テーブル上に一貫した量のデータが得られます。幸運なことに、存在するデータの量を知っており、ボリュームをテストして、何が得られるかを確認してください。 9000万行の1つのテーブルをテストするのは、次のように簡単です。
select x,1 as c2,2 as c3
from generate_series(1,90000000) x;
https://wiki.postgresql.org/wiki/FAQ
Limit Value
Maximum Database Size Unlimited
Maximum Table Size 32 TB
Maximum Row Size 1.6 TB
Maximum Field Size 1 GB
Maximum Rows per Table Unlimited
Maximum Columns per Table 250 - 1600 depending on column types
Maximum Indexes per Table Unlimited