Ja, PostgreSQL kommer att göra detta automatiskt åt dig när de går över en viss storlek. Komprimering tillämpas dock på varje enskilt datavärde - inte på hela tabellnivån. Det betyder att om du har en miljard rader som är väldigt smala, kommer de inte att komprimeras. Eller om du har väldigt många kolumner var och en med bara ett litet värde i, kommer de inte att komprimeras. Detaljer om detta schema i manualen.
Om du behöver det på hela tabellnivån är en lösning att skapa ett TABLESPACE för de tabeller som du vill ha komprimerade och peka på ett komprimerat filsystem. Så länge filsystemet fortfarande följer fsync() och standard POSIX-semantik bör detta vara helt säkert. Detaljer om detta i manualen.