Re: 8.4, Encoding, LC_ ...

From: Andrés P(dot)P(dot) <solopostgres(at)gmail(dot)com>
To: Guillermo Villanueva <guillermovil(at)gmail(dot)com>
Cc: pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: 8.4, Encoding, LC_ ...
Date: 2010-09-23 16:04:02
Message-ID: AANLkTimo0nJtzL_qpDpGJPR5pWmtXQaOw2HAts9_hTL1@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Ok.

Hice dos intentos:

El primero conectándome a template0, pero me reclama que esa bd no acepta
conecciones. Ahí se terminó el primer intento.

El segundo intento me conecté al template1 y agregué los parámetros
LC_COLLATE y LC_CTYPE pero me arrojó otro tipo de error.. aunque relacionado
a lo mismo:

------------------------------------------------------------------------------------------------------------------------
*template1=#
template1=# create database comdb with encoding 'LATIN1' LC_COLLATE = 'C'
LC_CTYPE = 'C';
ERROR: la nueva codificacion (LATIN1) es incompatible con la codificacio de
la base de datos patron (UTF8)
HINT: Use la misma codificacion que en la base de datos patron, o bien use
template0 como patron.
*
------------------------------------------------------------------------------------------------------------------------

...ahí aparece tu solución de usar template0... yo nunca he usado ese
template..... además recuerda que los otros servidores que ya están
operativos tienen la siguiente configuración de sus bds:

------------------------------------------------------------------------------------------------------------------------
*[postgres_S1~]$ psql -l
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
-----------+----------+----------+-----------+-------+-----------------------
comdb | postgres | LATIN1 | es_ES | es_ES | =Tc/postgres
: postgres=CTc/postgres
postgres | postgres | LATIN1 | es_ES | es_ES |
template0 | postgres | LATIN1 | es_ES | es_ES | =c/postgres
: postgres=CTc/postgres
template1 | postgres | LATIN1 | es_ES | es_ES | =c/postgres
: postgres=CTc/postgres
(4 rows)

[postgres_S1~]$*
------------------------------------------------------------------------------------------------------------------------
Gracias por la sugerencia. Sigo investigando..

Saludos
Andrés

El 23 de septiembre de 2010 11:41, Guillermo Villanueva <
guillermovil(at)gmail(dot)com> escribió:

> Me salió el mismo error cuando intenté crearla basado en la template1,
> cuando lo hice basado en la template0 funcionó!
> CREATE DATABASE pp
> WITH OWNER = postgres
> ENCODING = 'LATIN1'
> TABLESPACE = pg_default
> LC_COLLATE = 'C'
> LC_CTYPE = 'C'
> CONNECTION LIMIT = -1;
> Saludos
>
> ~~~~~~~~~~~~~~~~
> Guillermo Villanueva
>
>
> El 23 de septiembre de 2010 11:23, Andrés P.P. <solopostgres(at)gmail(dot)com>escribió:
>
>
>> Gracias Guillermo
>>
>> Yo trabajo con terminal e hice lo que me sugeriste... pero tampoco me
>> resultó:
>>
>>
>> -------------------------------------------------------------------------------------------------------------------------------
>> *[root(at)S3]# service postgresql initdb -E LATIN1 --locale=C
>> Initializing database: [ OK ]
>> [root(at)S3]#
>> [root(at)S3]# service postgresql start
>> Starting postgresql service: [ OK ]
>> [root(at)S3]#
>> [root(at)S3]# su - postgres
>> [postgres(at)S3]$ cd BD/
>>
>> [postgres(at)S3]$ psql
>> psql (8.4.1)
>> Type "help" for help.
>> *
>> *
>> postgres=# \c template1 postgres
>> psql (8.4.1)
>> You are now connected to database "template1".
>> template1=# create database comdb with encoding 'LATIN1';
>> ERROR: la codificacion LATIN1 no coincide con la configuracion regional
>> en_US.UTF-8
>> DETAIL: La configuracion regional LC_CTYPE requiere la codificacion UTF8.
>> template1=#
>> template1=# \q
>>
>> [postgres(at)S3]$ psql -l
>> List of databases
>> Name | Owner | Encoding | Collation | Ctype | Access
>> privileges
>>
>> -----------+----------+----------+-------------+-------------+-----------------------
>> postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
>> template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
>> :
>> postgres=CTc/postgres
>> template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres
>> :
>> postgres=CTc/postgres
>> (3 rows)
>> *
>> *[postgres(at)S3]$
>> *
>> -------------------------------------------------------------------------------------------------------------------------------
>> Gracias nuevamente... talvez estoy olvidando algo previo ..alguna variable
>> ambiental, no sé... pero lo que tengo claro es que la configuración
>> regional no la cambié en los otros servidores en donde sí pude crear BD con
>> codificación LATIN1...
>>
>> Cualquier sugerencia, consulta o prueba no duden en indicármela...
>>
>> Saludos
>> Andrés
>>
>>
>>
>> El 23 de septiembre de 2010 06:10, Guillermo Villanueva <
>> guillermovil(at)gmail(dot)com> escribió:
>>
>> Hola Andrés, justamente ayer pude hacer lo que dices utilizando initdb de
>>> la siguiente manera:
>>> En el terminal de linux: initdb -E LATIN1 --locale=C -D datos
>>> Desde pg admin creo base de datos nueva, seleccionando:
>>> Encoding: LATIN1
>>> Termplate: Template1
>>> Collation: C
>>> Char Type: C
>>>
>>>
>>> Saludos
>>>
>>> ~~~~~~~~~~~~~~~~
>>> Guillermo Villanueva
>>>
>>>
>>> El 22 de septiembre de 2010 23:30, Andrés P.P. <solopostgres(at)gmail(dot)com>escribió:
>>>
>>> yo he podido crear BD LATIN1 en 8.4 cambiando la configuración local y
>>>> reiniciando... pero conociendo al cliente estoy seguro que no van a querer
>>>> modificar la configuración local sin que le expliquemos el porqué hay que
>>>> hacer dicho cambio si los otros dos servidores no fue necesario hacerlo
>>>> aparentemente.
>>>>
>>>>
>>>
>>>
>>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Guillermo Villanueva 2010-09-23 16:07:48 Re: 8.4, Encoding, LC_ ...
Previous Message Alvaro Herrera 2010-09-23 16:02:22 Re: error en vacuum analyze