martes, 20 de mayo de 2008

Estilo de Fecha y juego de caracteres

Cambio del juego de caracteres:

- para ver que juego de caracteres tiene seteado el servidor y el cliente fijarse los parametros server_encoding y client_encoding con la siguiente consulta:

select * from pg_catalog.pg_settings swhere s.name in ('client_encoding','server_encoding','lc_collate',
'lc_ctype',
'lc_messages',
'lc_messages',
'lc_numeric',
'lc_monetary',
'lc_numeric',
'lc_time')

- El juego de caracteres del servidor no se puede cambiar, se setea cuando creamos el cruster para las base de datos con initdb
-El juego de caracteres del cliente , se puede cambiar para un usuario o para la sesion :
- usuario:
alter user POSTGRES SET client_encoding to LATIN1;
- sesion:
SET client_encoding to LATIN1;

Cambio del estilo de las fechas (datestyle):
-Cambio del datestyle del servidor :
- del archivo postgresql.conf cambiar el parametro datestyle
- Reiniciar el servidor
-ver el datestyle del usuario :
SHOW DATESTYLE;
-Cambiar el dateStyle del usuario:
alter user test SET DATESTYLE to 'iso,dmy';
alter user postgres SET DATESTYLE to 'iso,dmy';

- Problema que me he encontrado:
tenia una aplicacion desarrollada en java que no me tomaba el datestyle del usuario, me tomaba derecho el del motor. Pero tenia otra en delfi que si me lo tomaba.

Funciones de formato de fecha:
http://es.tldp.org/Postgresql-es/web/navegable/user/x2569.html