PostgreSQL memiliki batas kolom antara 250 dan 1600 "tergantung pada jenis kolom", dan mendukung data spasial dan pertanyaan dengan ekstensi PostGIS. Jadi saya akan cenderung melakukan dua hal:
Pertama, di mana kolom mewakili kategori daripada teks bebas, buat tabel terpisah dengan kategori tersebut, dan ganti kolom dengan ID integer dan batasan kunci asing, dengan merujuk tabel kategori.
Kedua, pilah Bentuk Normal Ketiga dengan memecah tabel besar menjadi dua atau lebih secara logis, dan buatlah hubungan satu-ke-satu di antara mereka. Ini mungkin bukan yang paling efisien, tetapi jika Anda jarang memerlukan beberapa data, maka kueri bisa saja di tabel yang Anda inginkan.
Alternatif lain yang sangat berbeda adalah menggunakan database "NOSQL" seperti MongoDB, CouchDB, dan sebagainya. Tidak ada batasan terprogram untuk ukuran "baris", dan jika data tidak ada untuk catatan, itu tidak perlu mengambil ruang apa pun.
Dukungan spasial tidak sebaik jenis database bigtable ini, tetapi MongoDB mendukung permintaan dan data spasial 2D, dan CouchDB tampaknya memiliki fungsi yang sama.