Opsi yang relevan adalah --locale=locale
ke initdb perintah yang menginisialisasi cluster database Anda. Jika Anda tidak menyediakannya secara eksplisit, defaultnya adalah lokal sistem. (Anda mungkin menjalankan Ubuntu Anda di lokal 'C'.)
Baca selengkapnya di manual yang sangat baik di sini .
Di PostgreSQL Anda bisa masih menyelinap di database dengan lokal yang berbeda dengan mendasarkan database baru dari template0
alih-alih templeate1
default . Saya mengutip manual di sini
:
Tapi saya lebih suka membuat ulang cluster database dengan lokal yang diinginkan. Jauh lebih bersih.
Edit:info tentang lokal yang tersedia
Anda hanya dapat menggunakan lokal yang disediakan oleh sistem operasi. Saya mengutip manual di sini :
Lihat locale-gen
di sistem Unix, jika Anda ingin menggunakan lokal yang belum dibuat. Hal penting untuk dipahami adalah bahwa beberapa lokal dapat diinstal di OS Anda, tetapi hanya satu dari mereka yang dapat dipilih untuk parameter sistem seperti LC_CTYPE
, LC_COLLATE
, dll. Lihat keluaran locale
versus locale -a
dalam cangkang. Biasanya sama untuk semua, set melalui LC_ALL
.
@David:Apa yang Anda lakukan mungkin telah memecahkan masalah Anda, tetapi Anda bisa melakukannya dengan lebih mudah. Perlu diketahui juga bahwa variabel lingkungan LANG
hanya menyediakan default untuk semua pengaturan lokal. Jika salah satunya disetel ke sesuatu yang berbeda, LANG
akan ditimpa. Setel LC_ALL
untuk mengganti pengaturan yang ada. Ini satu dari banyak situs
di web memberi tahu Anda lebih banyak tentang itu.
Untuk memeriksa semua pengaturan lokal database Anda (cluster), jalankan di database Anda:
SHOW ALL;
Atau lebih spesifik:
SELECT *
FROM pg_settings
WHERE name ~~ 'lc%';