sql >> Database teknologi >  >> RDS >> PostgreSQL

PostgreSQL 9.1 installation og databasekodning

Den relevante mulighed er --locale=locale til initdb kommando som initialiserer din databaseklynge. Hvis du ikke angiver det eksplicit, er det som standard systemets lokalitet. (Du kører sandsynligvis din Ubuntu på lokalitet 'C'.)

Læs mere om det i den fremragende manual her .

I PostgreSQL kan du stadig snige sig ind i en database med en anden lokalitet ved at basere en ny database på template0 i stedet for standard templeate1 . Jeg citerer manualen her :

Men jeg vil hellere genskabe databaseklyngen med den ønskede lokalitet. Meget renere.

Rediger:info om tilgængelige lokaliteter

Du kan kun bruge lokaliteter, der leveres af operativsystemet. Jeg citerer manualen her :

Se på locale-gen i et Unix-system, hvis du vil bruge en lokalitet, der endnu ikke er blevet genereret. Det vigtige at forstå er, at flere lokaliteter kan installeres i dit OS, men kun én af dem kan vælges til systemparametre som LC_CTYPE , LC_COLLATE , osv. Se på outputtet af locale versus locale -a i skallen. Normalt er det ens for alle, indstillet via LC_ALL .

@David:Det du gjorde, løste måske dit problem, men du kunne have haft det nemmere. Vær også opmærksom på, at miljøvariablen LANG giver kun standard for alle lokalitetsindstillinger. Hvis nogen af ​​dem er indstillet til noget andet, LANG vil blive tilsidesat. Indstil LC_ALL for at tilsidesætte enhver eksisterende indstilling. Her er én af mange websteder på nettet for at fortælle dig mere om det.

For at kontrollere alle aktuelle lokalitetsindstillinger for din database (klynge), skal du køre i din database:

SHOW ALL;

Eller mere specifikt:

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


  1. Open source ER-diagramværktøj til mysql

  2. Advarsel:mysql_fetch_array() forventer, at parameter 1 er ressource [...]

  3. Fejl i MySQL-forespørgsel (fejl i din SQL-syntaks)

  4. Oracle opret db-link ved hjælp af et proxy-skema