usuarios - tipos de datos en postgresql
Obtener la codificaciĆ³n de una base de datos de Postgres (6)
Tengo una base de datos, y necesito saber la codificación predeterminada para la base de datos. Quiero obtenerlo desde la línea de comando.
tl; dr
SELECT character_set_name
FROM information_schema.character_sets
;
Forma estándar: information_schema
Desde el esquema de SQL esquema_formación presente en cada base de datos / catálogo, use la vista definida llamada character_sets
. Este enfoque debe ser portátil en todos los sistemas de bases de datos estándar .
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.
La tercera columna es character_set_name
:
Nombre del conjunto de caracteres, implementado actualmente como que muestra el nombre de la codificación de la base de datos
Desde la línea de comando:
psql my_database -c ''SHOW SERVER_ENCODING''
Desde dentro de psql
, un SQL IDE o una API:
SHOW SERVER_ENCODING
Método 1:
Si ya ha iniciado sesión en el servidor de db, solo copie y pegue esto.
SHOW SERVER_ENCODING;
Resultado:
server_encoding
-----------------
UTF8
Para la codificación del cliente:
SHOW CLIENT_ENCODING;
Método 2:
De nuevo, si ya ha iniciado sesión, use esto para obtener el resultado basado en la lista
/l
Porque hay más de una manera de desollar un gato:
psql -l
Muestra todos los nombres de bases de datos, codificación y más.
Si quieres obtener codificaciones de base de datos:
psql -U postgres -h somehost --list
Verás algo como:
List of databases
Name | Owner | Encoding
------------------------+----------+----------
db1 | postgres | UTF8
Una solución programática:
SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = ''yourdb'';