Кроссплатформенная сортировка и ctype - PullRequest
0 голосов
/ 10 сентября 2018

Я пишу код на машине с Windows, но использую машину с Linux в работе.

PostgreSQL lc_collate и lc_ctype зависят от ОС, что создает несколько проблем.

Когда я создаю базу данных (например, create database db with encoding 'UTF8' lc_collate 'en_US.UTF-8' lc_ctype 'en_US.UTF-8'), мне нужно определить ОС и указать соответствующие значения, что вызывает проблемы.

Самая большая проблема - при копировании рабочей базы данных на компьютер разработчика с использованием pg_dump и pg_restore. Нет простого способа заменить эти значения при сбросе / восстановлении.

Как лучше всего обойти эти проблемы?

1 Ответ

0 голосов
/ 10 сентября 2018

Да, это раздражает.

PostgreSQL признал, что использование параметров сортировки ОС было, возможно, не самой лучшей идеей, поэтому недавно они представили параметры сортировки ICU, которые не зависят от операционной системы.

К сожалению, их нельзя использовать с CREATE DATABASE.

При использовании pg_dump / pg_restore.
возникают небольшие проблемы. Все, что вам нужно сделать, это создать базу данных в целевой системе с использованием существующего сопоставления, а затем импортировать дамп в эту базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...