2011-06-23 23 views

Odpowiedz

112

Z wiersza poleceń:

psql my_database -c 'SHOW SERVER_ENCODING' 

Od wewnątrz psql, IDE SQL lub API:

SHOW SERVER_ENCODING 
+0

Czy to ustawienie na poziomie serwera (domyślne ustawienie dla nowo utworzonych baz danych), a nie ustawienie bazy danych/katalogu na pytanie w pytaniu? –

26

Jeśli chcesz uzyskać kodowanie bazy danych:

psql -U postgres -h somehost --list 

Zobaczysz kilka coś takiego:

List of databases 
      Name   | Owner | Encoding 
------------------------+----------+---------- 
db1      | postgres | UTF8 
29

programowe rozwiązanie:

SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = 'yourdb'; 
36

Metoda 1:

Jeśli jesteś już zalogowany do serwera db, wystarczy skopiować i wkleić.

SHOW SERVER_ENCODING; 

Wynik:

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

do kodowania Client:

SHOW CLIENT_ENCODING; 

Metoda 2:

ponownie, jeśli jesteś już zalogowany, użyj tego, aby otrzymać listę wynik oparty

\l 
2

tl; dr

SELECT character_set_name 
FROM information_schema.character_sets 
; 

sposób standardowy: information_schema

Z SQL-standard schemainformation_schema obecny w każdej bazy danych/katalogu, użyj zdefiniowanego widoku o nazwie character_sets. Podejście to powinno być przenośne w trybie all standard database systems.

SELECT * 
FROM information_schema.character_sets 
; 

Mimo że nazwa jest w liczbie mnogiej, pokazuje tylko jeden wiersz, raportując do bieżącej bazy danych/katalogu.

screenshot of pgAdmin 4 with results of query shown above

Trzecia kolumna jest character_set_name:

Nazwa zestawu znaków, aktualnie realizowany jako pokazujący nazwę kodowania bazy

0

Ponieważ istnieje więcej niż jeden sposób, aby skin a cat:

psql -l 

Wyświetla wszystkie nazwy bazy danych, kodowanie i inne.

Powiązane problemy