2012-03-02 9 views
21

Acabo de empezar a aprender PostgreSQL 9.1 en Linux a través de C y libpq.
Por ahora compruebo la conexión, conecto, creo una base de datos, creo una tabla y otras cosas básicas. Pero noté que durante la creación de tabla PQ convierte mi nombre de base de datos a minúscula. Luego veo que los nombres de las tablas y los nombres de los campos también se fuerzan a minúsculas. Sin embargo, cuando trato de conectarme con mayúsculas (nombre original) de la base de datos recibo una advertencia de que la base de datos solicitada no existe.PostgreSQL fuerza nombres minúsculos?

Lo mejor de todo es que todos los nombres se mantienen como están escritos. ¿Esto es posible con algún método/configuración simple?

Por ejemplo:

M_122_KL0001_2011_001_0100001

se creará como m_122_kl0001_2011_001_0100001 lo que no se quería para mí.
Lo mismo sucede con los nombres de las tablas y los nombres de los campos.

Respuesta

27

Este es el comportamiento predeterminado de Postgres.

Si desea mayúsculas o con mayúsculas y minúsculas, se puede citar el identificador ej .:

createdb "M_122_KL0001_2011_001_0100001" 
+1

Sí! Muchas gracias. Aquí estaría un montón de 'cadenas de escape' :) –

+0

¿Sería más inteligente mantener las reglas "en minúsculas"? –

+3

En mi opinión, sí, hace la vida más fácil mantener todo en minúscula. Pero si tiene alguna razón para usar la parte superior o mixed-case entonces al menos ahora ya sabe cómo es compatible. – bernie