Im Moment kann ich wählen Encoding : UTF8
beim Erstellen einer neuen DB in pgAdmin4 GUI.Install utf8 Kollatierung in PostgreSQL
Aber es gibt keine Option utf8_general_ci
als Sortierung oder Zeichentyp zu wählen. Wenn ich select * from pg_collation;
mache, sehe ich keine Übereinstimmung relevant für utf8_general_ci
.
Kommt aus einem mySQL-Hintergrund Ich bin verwirrt. Muss ich die utf8-ähnliche Sortierung (zB utf8_general_ci
, utf8_unicode_ci
) in meinem PostgreSQL 10 oder windows10 installieren?
Ich möchte nur das Äquivalent von mySQL collation utf8_general_ci
zu PostgreSQL haben.
Danke
Frohes neues Jahr. Ja, ich kenne den Unterschied zwischen Kodierung und Kollation. Aber im Sinne von mySQL meine ich eine utf8-ähnliche Sortierung (zB 'utf8_general_ci' oder' utf8_unicode_ci'). Ich habe mein OP bearbeitet, um besser geschrieben zu werden. Wie auch immer, wenn 'und-x-icu' eine undefinierte Kollatierung ist, dann könnte ich auch C-Kollatierung verwenden, das ist auch eine undefinierte Kollatierung, oder? Danke – slevin
Ich habe einige Tests gemacht und es scheint, dass in der aktuellen Version (10.1) ICU Unterstützung nicht so vollständig ist, wie ich angenommen habe. Es scheint, dass es unmöglich ist, eine Datenbank mit 'und-x-icu' locale zu erstellen - setze sie nur für einige Spalten explizit. So scheint es, dass bis Sie es verbessert haben, Sie wahrscheinlich verwenden müssen create database datenname template = 'template0' encoding = 'UTF8' lc_ctype = 'C' lc_collate = 'C'; oder andere OS-Locale. – Tometzky
Hallo nochmal. Ich habe PostgreSQL 10.1, kompiliert von Visual C++ Build 1800, 64-Bit in win10 Laptop. Ich habe gerade 'DATABASE Test CREATE MIT OWNER = postgres TEMPLATE = template0 encoding = 'UTF8' LC_COLLATE = 'und-x-icu' LC_CTYPE = 'und-x-icu' TABLE = pg_default CONNECTION LIMIT = -1; 'und es hat funktioniert. Ich kann die Eigenschaften auch in der pgAdmin4 GUI sehen. – slevin