Di PostgreSQL, nama yang tidak dikutip tidak peka huruf besar-kecil. Jadi SELECT * FROM hello
dan SELECT * FROM HELLO
setara.
Namun, nama yang dikutip peka terhadap huruf besar-kecil. SELECT * FROM "hello"
adalah tidak setara dengan SELECT * FROM "HELLO"
.
Untuk membuat "jembatan" antara nama yang dikutip dan nama yang tidak dikutip, nama yang tidak dikutip secara implisit ditulis dengan huruf kecil, jadi hello
, HELLO
dan HeLLo
setara dengan "hello"
, tetapi tidak untuk "HELLO"
atau "HeLLo"
(OOPS!).
Jadi, saat membuat entitas (tabel, tampilan, prosedur, dll) di PostgreSQL, Anda harus menentukannya dengan tanda kutip, atau tanda kutip-tetapi-huruf kecil.
Untuk mengonversi tabel/tampilan/dll yang ada, Anda dapat menggunakan sesuatu seperti ALTER TABLE "FOO" RENAME TO "foo"
.
Atau, coba ubah dump dari MSSQL agar "kompatibel dengan PostgreSQL" (sehingga akan berisi foo
s atau "foo"
s tetapi bukan "FOO"
s).
- Baik dengan mengedit file dump secara eksplisit. (Jika Anda menggunakan Linux, Anda dapat melakukan
sed -r 's/"[^"]+"/\L\0/g' dumpfile
— namun berhati-hatilah bahwa perintah ini juga dapat mengubah teks dalam literal string.) - Atau dengan menentukan beberapa opsi saat mendapatkan dump dari MSSQL. (Saya tidak yakin apakah ada opsi seperti itu di MSSQL, tidak pernah menggunakannya, tapi mungkin opsi seperti itu harus ada.)