2011-06-23 16 views

Respuesta

112

Desde la línea de comandos:

psql my_database -c 'SHOW SERVER_ENCODING' 

Desde dentro psql, un IDE SQL o una API:

SHOW SERVER_ENCODING 
+0

¿No es esa la configuración de nivel de servidor (la predeterminada utilizada para las bases de datos recién creadas) en lugar de la configuración de base de datos/nivel de catálogo solicitada en la Pregunta? –

26

Si desea obtener codificaciones base de datos:

psql -U postgres -h somehost --list 

Verás un poco cosa así:

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

Una solución programática:

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

Método 1:

Si ya está conectado al servidor db, simplemente copia y pega este.

SHOW SERVER_ENCODING; 

Resultado:

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

para el cliente de codificación:

SHOW CLIENT_ENCODING; 

Método 2:

Una vez más, si ya está en el sistema, usar esto para obtener la lista de resultados basándose

\l 
2

tl; dr

SELECT character_set_name 
FROM information_schema.character_sets 
; 

manera estándar: information_schema

Desde el SQL-standard schemainformation_schema presente en cada base de datos/catálogo, utilice la vista definida llamado character_sets. Este enfoque debe ser portátil en all standard database systems.

SELECT * 
FROM information_schema.character_sets 
; 

A pesar de que el nombre es plural, muestra solo una fila, informando sobre la base de datos/catálogo actual.

screenshot of pgAdmin 4 with results of query shown above

La tercera columna es character_set_name:

Nombre del conjunto de caracteres, implementado actualmente como muestra el nombre de la codificación de base de datos

0

Porque hay más de una forma de piel un gato:

psql -l 

Muestra todos los nombres de bases de datos, codificación y más.

Cuestiones relacionadas