Ya, PostgreSQL akan melakukan ini secara otomatis untuk Anda ketika mereka melebihi ukuran tertentu. Kompresi diterapkan pada setiap nilai data individual - bukan pada tingkat tabel penuh. Artinya jika Anda memiliki satu miliar baris yang sangat sempit, mereka tidak akan dikompresi. Atau jika Anda memiliki sangat banyak kolom masing-masing dengan hanya nilai kecil di dalamnya, kolom tersebut tidak akan dikompresi. Detail tentang skema ini dalam manual.
Jika Anda membutuhkannya di tingkat tabel penuh, solusinya adalah membuat TABLESPACE untuk tabel yang ingin Anda kompres, dan arahkan ke sistem file terkompresi. Selama sistem file masih mematuhi fsync() dan semantik POSIX standar, ini harus benar-benar aman. Detail tentang ini di manual.