Zeilen pro Tabelle sind für sich genommen kein Problem.
Grob gesagt sind 1 Million Zeilen pro Tag für 90 Tage 90 Millionen Zeilen. Ich sehe keinen Grund, warum Postgres damit nicht umgehen kann, ohne alle Details darüber zu kennen, was Sie tun.
Abhängig von Ihrer Datenverteilung können Sie eine Mischung aus Indizes, gefilterten Indizes und irgendeiner Art von Tabellenpartitionierung verwenden, um die Sache zu beschleunigen, sobald Sie sehen, welche Leistungsprobleme Sie möglicherweise haben oder nicht. Ihr Problem wird bei jedem anderen RDMS, das ich kenne, dasselbe sein. Wenn Sie nur 3 Monate Datendesign in einem Prozess benötigen, um die Daten zu bereinigen, brauchen Sie nicht mehr. Auf diese Weise haben Sie eine konsistente Datenmenge auf dem Tisch. Sie haben Glück, dass Sie wissen, wie viele Daten vorhanden sein werden, testen Sie es für Ihr Volumen und sehen Sie, was Sie bekommen. Das Testen einer Tabelle mit 90 Millionen Zeilen kann so einfach sein wie:
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