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.)