Mendapatkan pengkodean database Postgres

143

Saya memiliki database, dan saya perlu mengetahui pengkodean default untuk database. Saya ingin mendapatkannya dari baris perintah.

Elitmiar
sumber

Jawaban:

179

Dari baris perintah:

psql my_database -c 'SHOW SERVER_ENCODING'

Dari dalam psql, SQL IDE atau API:

SHOW SERVER_ENCODING
Bohemian
sumber
Bukankah itu pengaturan tingkat server (default yang digunakan untuk database yang baru dibuat) daripada pengaturan tingkat database / katalog yang diminta dalam pertanyaan?
Basil Bourque
5
Perhatikan bahwa dari dalam psql, perlu ada titik koma di akhir. yaitu SHOW SERVER_ENCODING;
Jon Bernhardt
50

Metode 1:

Jika Anda sudah masuk ke server db, cukup salin dan tempel ini.

SHOW SERVER_ENCODING;

Hasil:

  server_encoding 
-----------------  
UTF8

Untuk pengkodean klien:

 SHOW CLIENT_ENCODING;

Metode 2:

Sekali lagi jika Anda sudah masuk, gunakan ini untuk mendapatkan hasil berbasis daftar

\l 
RunningAdithya
sumber
42

Solusi terprogram:

SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = 'yourdb';
Peter Eisentraut
sumber
32

Jika Anda ingin mendapatkan pengkodean database:

psql  -U postgres -h somehost --list

Anda akan melihat sesuatu seperti:

List of databases
           Name         |  Owner   | Encoding
------------------------+----------+----------
db1                     | postgres | UTF8
Greenisha
sumber
13

Karena ada lebih dari satu cara untuk menguliti kucing:

psql -l

Menampilkan semua nama database, pengkodean, dan lainnya.

AMADANON Inc.
sumber
6

tl; dr

SELECT character_set_name 
FROM information_schema.character_sets 
;

Cara standar: information_schema

Dari skema standar SQL yang information_schema ada di setiap database / katalog, gunakan tampilan yang ditentukan bernama character_sets. Pendekatan ini harus portabel di semua sistem database standar .

SELECT * 
FROM information_schema.character_sets 
;

Meskipun namanya jamak, itu hanya menunjukkan satu baris, melaporkan pada database / katalog saat ini.

tangkapan layar pgAdmin 4 dengan hasil kueri yang ditunjukkan di atas

Kolom ketiga adalah character_set_name:

Nama himpunan karakter, saat ini diimplementasikan sebagai menunjukkan nama pengkodean database

Basil Bourque
sumber