2010-03-01 10 views
17

sé que lugares de bases de datos en Postgres son responsables de orden correcto de los caracteres nacionales, adecuado/carcasa superior-inferior, etc.¿Cuál es la diferencia entre C y Posix locales en Postgres?

Pero por qué hay dos locales independientes del idioma: posix y c? ¿Hay alguna diferencia entre ellos o es solo un lugar neutral con dos nombres diferentes?

ACTUALIZACIÓN Como afirma Magnus Hagander en su respuesta, POSIX y C locales son la misma localidad con diferentes nombres (no importa si Postgres está instalado en POSIX o del sistema de Windows). No sé cómo confirmar esta información: ¿dónde buscar la sección adecuada de la documentación?

La explicación de Magnus parece sensata, pero es extraño al mismo tiempo que haya dos nombres para elegir la misma localidad. ¿Cuál es el propósito de esto, solo para crear confusión?

Respuesta

7

Tenga en cuenta que PostgreSQL solo usa la configuración regional del sistema operativo y no tiene su propia definición de configuraciones regionales. Si su sistema cumple con POSIX, C y POSIX serán la misma configuración regional: http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap07.html (consulte la primera oración en 7.2).

+1

OK, si Postgres está instalado en un sistema que cumple con POSIX, la configuración regional de POSIX es la misma que la configuración regional C. Pero, ¿qué ocurre con los sistemas no conformes? ¿Cumple Windows Vista con POSIX? Tengo el cuadro de Vista con Postgres y no estoy seguro de qué elegir entre POSIX o C, ya que estas dos opciones son posibles (entre muchas otras configuraciones nacionales específicas). ¿Dónde debería encontrar información sobre las configuraciones regionales POSIX y C? ¿Qué significa (diferencias) en Windows Vista? – WildWezyr

+0

La configuración regional de C debería funcionar de la misma manera en Windows. No estoy seguro si la configuración regional de POSIX existe, pero si lo hiciera, esperaría que funcionara de la misma manera; sería una estupidez de ellos implementar una configuración regional llamada POSIX y no hacerla compatible con POSIX. –

1

Según The Single UNIX ® Specification POSIX y C locales son los alias:

las cadenas "C" y "POSIX" están reservadas como identificadores para la localización POSIX

Por lo que se garantiza que sea la lo mismo en los sistemas POSIX. No sé hasta qué punto Windows Vista o 7 son compatibles con POSIX, pero probablemente se encuentre una definición similar en la documentación de Microsoft.

Cuestiones relacionadas