sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL 9.1 installatie en databasecodering

De relevante optie is --locale=locale naar de initdb opdracht waarmee uw databasecluster wordt geïnitialiseerd. Als u het niet expliciet opgeeft, wordt het standaard ingesteld op de systeemlandinstelling. (U draait waarschijnlijk uw Ubuntu op landinstelling 'C'.)

Lees meer hierover in de uitstekende handleiding hier .

In PostgreSQL kunt u nog steeds sluipen in een database met een andere locale door een nieuwe database te baseren op template0 in plaats van de standaard templeate1 . Ik citeer hier de handleiding :

Maar ik zou liever het databasecluster opnieuw maken met de gewenste landinstelling. Veel schoner.

Bewerken:info over beschikbare landinstellingen

Je kunt alleen gebruiken landinstellingen die door het besturingssysteem worden geleverd. Ik citeer de handleiding hier :

Kijk naar locale-gen in een Unix-systeem, als je een locale wilt gebruiken die nog niet is gegenereerd. Het belangrijkste om te begrijpen is dat er meerdere landinstellingen in uw besturingssysteem kunnen worden geïnstalleerd, maar dat er slechts één kan worden gekozen voor systeemparameters zoals LC_CTYPE , LC_COLLATE , etc. Kijk naar de uitvoer van locale versus locale -a in de schil. Meestal is het hetzelfde voor iedereen, ingesteld via LC_ALL .

@David:Wat je deed, heeft misschien je probleem opgelost, maar dat had je makkelijker kunnen maken. Houd er ook rekening mee dat de omgevingsvariabele LANG biedt alleen de standaard voor alle landinstellingen. Als een van deze is ingesteld op iets anders, LANG overschreven zal worden. LC_ALL instellen om een ​​bestaande instelling te overschrijven. Hier is een van vele sites op het web om je daar meer over te vertellen.

Om alle huidige landinstellingen van uw database (cluster) te controleren, voert u deze uit in uw database:

SHOW ALL;

Of meer specifiek:

SELECT *
FROM   pg_settings
WHERE  name ~~ 'lc%';


  1. Kan niet meerdere tabelentiteiten krijgen via de opgeslagen procedure met slaapstand

  2. Verwijderen van veel naar veel relaties in MySQL

  3. Gebruik binaire COPY-tabel FROM met psycopg2

  4. Waarom krijg ik een syntaxisfout bij het gebruik van CAST in MySQL?