Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 8.4 и кодировки  [new]
Tester09
Guest
Добрый день. Пробую новую версию PG

Ряд вопросов:

автор
psql -U postgres -l
List of databases
Name | Owner | Encoding | Collation | Ctype | Access privileges
-----------+----------+----------+-----------+-------------+-----------------------
postgres | postgres | UTF8 | C | ru_RU.UTF-8 |
template0 | postgres | UTF8 | C | ru_RU.UTF-8 | =c/postgres: postgres=CTc/postgres
template1 | postgres | UTF8 | C | ru_RU.UTF-8 | =c/postgres: postgres=CTc/postgres
work | postgres | UTF8 | C | ru_RU.UTF-8 |


Collation - C. Почему? Насколько я понимаю русские буквы будут сравниваться некорректно. Какую Collation указать при создании базы?


Хотел немного забить данных и попробовать сортировку. Не получилось:
автор
psql -U postgres work
psql (8.4.0)
Type "help" for help.
work=# create table test (name varchar(40));
CREATE TABLE
work=# insert into test values('Вася');
ERROR: invalid byte sequence for encoding "UTF8": 0xd0d0
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
work=# show client_encoding;
client_encoding
-----------------
UTF8
(1 row)
work=# insert into test values('vasia');
INSERT 0 1

Что я делаю не так?
6 июл 09, 18:45    [7382912]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
MBG
Guest
"Не так" делает постгрес. По уму коллэйшены должны указываться непосредственно для полей (при создании таблицы или в запросе), а отнюдь не привязываться к кластеру БД (старые версии PG) или отдельной БД (новые версии PG). Иначе в utf8 или utf16 мы можем хранить текст на любом языке, но не можем искать по нему... Не говоря уже про возможность создания собственных коллэйшенов (например, для русскоязычных текстов удобно считать й=и и ё=е). Впрочем, в постресе обещают что-то сделать в этом направлении, подождите следующего релиза.
6 июл 09, 18:57    [7382973]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Tester09
Guest
"Что я делаю не так" - адресовано к сообщению

автор
ERROR: invalid byte sequence for encoding "UTF8": 0xd0d0


Что касается коллэйшн на столбцах - откровенного говоря мне такого не надо. Устроит одна на всю базу. Я не понимаю - C это та самая легендарная коллэйшн от которой будет неверная сортировка русских букв(неверно инициализирован кластер на предыдущих версиях) или всетаки - все нормально, все должно работать?
6 июл 09, 19:12    [7383045]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Ёш
Member

Откуда:
Сообщений: 2892
MBG
Иначе в utf8 или utf16 мы можем хранить текст на любом языке, но не можем искать по нему...
а что мешает ?
MBG
Не говоря уже про возможность создания собственных коллэйшенов
свою локаль можно создать отредактировав файлы таблиц и использовав команду localedef, разве не поможет ?
6 июл 09, 19:16    [7383063]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Ёш
Member

Откуда:
Сообщений: 2892
Tester09
Какую Collation указать при создании базы?
совпадающую с Ctype и Encoding: ru_RU.UTF-8
Tester09
work=# insert into test values('Вася');
ERROR: invalid byte sequence for encoding "UTF8": 0xd0d0
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
work=# show client_encoding;
client_encoding
-----------------
UTF8
(1 row)
кодировка терминала какая ? 0xd0d0 это точно не «В».
что показывает:
select name, setting from pg_settings where name like 'lc_%';
?
6 июл 09, 19:28    [7383104]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Tester09
Guest
psql -U postgres work
psql (8.4.0)
Type "help" for help.

work=# select name, setting from pg_settings where name like 'lc_%';
    name     |   setting
-------------+-------------
 lc_collate  | C
 lc_ctype    | ru_RU.UTF-8
 lc_messages | C
 lc_monetary | C
 lc_numeric  | C
 lc_time     | C
(6 rows)
6 июл 09, 19:48    [7383189]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Tester09
Guest
 locale
LANG=POSIX
LC_CTYPE=ru_RU.UTF-8
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

OS OpenSuse 11.1
6 июл 09, 19:50    [7383193]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Tester09
Guest
Кстати сортирует на первый взгляд верно
 psql -U postgres work
psql (8.4.0)
Type "help" for help.

work=# select * from cities order by name;
 id_city |    name     |     timezone
---------+-------------+------------------
       6 | Балашиха    | Europe/Moscow
       5 | Бийск       | Asia/Novosibirsk
       3 | Москва      | Europe/Moscow
       4 | Новоалтайск | Asia/Novosibirsk
       2 | Новосибирск | Asia/Novosibirsk
       7 | Рязань      | Europe/Moscow
(7 rows)
6 июл 09, 19:53    [7383201]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Гость_0
Guest
попробуйте отсортировать с буквой Ё, типа:
select * from (values ('а'), ('я'), ('ё')) as x order by 1
6 июл 09, 22:34    [7383528]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Tester09
Guest
psql -U postgres work
psql (8.4.0)
Type "help" for help.

work=# select * from (values ('а'), ('я'), ('ё')) as x order by 1;
 column1
---------
 а
 я
 ё
(3 rows)
7 июл 09, 05:22    [7383885]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
MBG
Guest
Ёш
MBG
Иначе в utf8 или utf16 мы можем хранить текст на любом языке, но не можем искать по нему...
а что мешает ?
MBG
Не говоря уже про возможность создания собственных коллэйшенов
свою локаль можно создать отредактировав файлы таблиц и использовав команду localedef, разве не поможет ?


Покажите мне, как сделать регистронезависимый поиск и сортировку по вот такой простенькой табличке:
create table test (title_rus text, title_ukr text);

title_rus - на русском языке, title_ukr - на украинском. Для справки замечу, что порядок букв в вышеназванных языках разный.
7 июл 09, 14:16    [7386290]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
MBG
Guest
Tester09
psql -U postgres work
psql (8.4.0)
Type "help" for help.

work=# select * from (values ('а'), ('я'), ('ё')) as x order by 1;
 column1
---------
 а
 я
 ё
(3 rows)


Это так называемый базовый юникод, сортировка по кодам символов, игнорируя порядок символов выбранного языка. В качестве простого решения можно сделать в коллэйшене удаление акцента, тогда ё=е и с русским языком проблем не будет.
7 июл 09, 14:19    [7386316]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
SmeL_md
Member

Откуда:
Сообщений: 1065
 8.4
CREATE DATABASE test
   WITH OWNER = postgres
       ENCODING = 'UTF8'
       LC_COLLATE = 'English, United States'
       LC_CTYPE = 'English, United States'
       CONNECTION LIMIT = -1;
select * from (values ('а'), ('я'), ('ё')) as x order by 1;
 column1
---------
 а
 ё
 я
(3 rows)
7 июл 09, 14:58    [7386596]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Ёш
Member

Откуда:
Сообщений: 2892
MBG
Покажите мне, как сделать регистронезависимый поиск и сортировку по вот такой простенькой табличке:
create table test (title_rus text, title_ukr text);

title_rus - на русском языке, title_ukr - на украинском. Для справки замечу, что порядок букв в вышеназванных языках разный.
Спасибо за простой пример, я пробовал протестировать этот функционал но не сообразил какой язык использовать что бы ошибка была видна явно.

Debian squeeze/sid
Name | Owner | Encoding | Collation | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
seb | seb | UTF8 | ru_RU.UTF-8 | ru_RU.UTF-8 |
create table test (title_rus text, title_ukr text);

insert into test select
unnest('{а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я}'::text[]),
unnest('{а,б,в,г,ґ,д,е,є,ж,з,и,і,ї,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ь,ю,я}'::text[]);

select * from test order by title_ukr desc;
 title_rus | title_ukr
-----------+-----------
 я         | я
 ю         | ю
 э         | ь
 ь         | щ
 ы         | ш
 ъ         | ч
 щ         | ц
 ш         | х
 ч         | ф
 ц         | у
 х         | т
 ф         | с
 у         | р
 т         | п
 с         | о
 р         | н
 п         | м
 о         | л
 н         | к
 м         | й
 л         | ї
 к         | і
 й         | и
 и         | з
 з         | ж
 ж         | є
 ё         | е
 д         | ґ
 е         | д
 г         | г
 в         | в
 б         | б
 а         | а

но вот что интересно, я попробовал как в предыдущем сообщений сделать локаль базы en_US, и оно вроде сортирует правильно:
 test      | postgres | UTF8     | en_US.UTF8  | en_US.UTF8  |
select * from test order by title_ukr desc;
 title_rus | title_ukr
-----------+-----------
 я         | я
 ю         | ю
 э         | ь
 ь         | щ
 ы         | ш
 ъ         | ч
 щ         | ц
 ш         | х
 ч         | ф
 ц         | у
 х         | т
 ф         | с
 у         | р
 т         | п
 с         | о
 р         | н
 п         | м
 о         | л
 н         | к
 м         | й
 л         | ї
 к         | і
 й         | и
 и         | з
 з         | ж
 ж         | є
 ё         | е
 е         | д
 д         | ґ
 г         | г
 в         | в
 б         | б
 а         | а

хмм... я в замешательстве %)

может быть это просто банальная ошибка в локале ru_RU.UTF-8 ?
7 июл 09, 16:58    [7387742]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Ёш
Member

Откуда:
Сообщений: 2892
Ёш
может быть это просто банальная ошибка в локале ru_RU.UTF-8 ?

написал багрепорт: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=536085
7 июл 09, 18:13    [7388323]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
MBG
Guest
SmeL_md
 8.4
CREATE DATABASE test
  WITH OWNER = postgres
      ENCODING = 'UTF8'
     LC_COLLATE = 'English, United States'
      LC_CTYPE = 'English, United States'
     CONNECTION LIMIT = -1;
ERROR:  invalid locale name English, United States


Пробуем иначе:
template1=# CREATE DATABASE test WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1;
ERROR:  invalid locale name en_US.UTF-8
template1=# CREATE DATABASE test WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'English, United States' LC_CTYPE = 'English, United States' CONNECTION LIMIT = -1;
ERROR:  invalid locale name English, United States
template1=# CREATE DATABASE test WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'ru_RU.UTF-8' LC_CTYPE = 'ru_RU.UTF-8' CONNECTION LIMIT = -1;
CREATE DATABASE

Локаль ru_RU.UTF-8 узнает, а en_US.UTF-8 - уже нет. Разумеется, локаль en_US.UTF-8 в системе существует (дефолтовая ru_RU.UTF-8):
$ sudo dpkg-reconfigure locales
Generating locales (this might take a while)...
  en_US.UTF-8... done
  ru_RU.UTF-8... done
Generation complete.

Получается, создать БД можно только с текущей системной локалью.

Берем пример из документации (http://www.postgresql.org/docs/8.4/static/sql-createdatabase.html):
template1=# CREATE DATABASE music ENCODING 'LATIN1' TEMPLATE template0;
ERROR:  encoding LATIN1 does not match locale ru_RU.UTF-8
ПОДРОБНО:  The chosen LC_CTYPE setting requires encoding UTF8.

Похоже, опять-таки берет настройки кластера.
8 июл 09, 12:35    [7390852]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
MBG
Guest
Ёш

но вот что интересно, я попробовал как в предыдущем сообщений сделать локаль базы en_US, и оно вроде сортирует правильно:
 test      | postgres | UTF8     | en_US.UTF8  | en_US.UTF8  |


А каким образом у вас введена буква ё - сдается мне, что указана буква е с умляутом (составная форма U+0415 U+0308), а не одна буква (U+0401). UTF8 позволяет один символ записывать несколькими разными способами... В форме монолитного символа в en_US вроде как ё должна быть в конце алфавита.

Не существует такой локали, в которой будет правильно работать алфавитная сортировка для всех языков (даже для европейских не получится). Например, насколько мне помнится, немецкий язык требует сортировку сложнее базового юникода.
8 июл 09, 12:50    [7390957]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Ёш
Member

Откуда:
Сообщений: 2892
MBG
Пробуем иначе:
template1=# CREATE DATABASE test WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1;
ERROR:  invalid locale name en_US.UTF-8
template1=# CREATE DATABASE test WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'English, United States' LC_CTYPE = 'English, United States' CONNECTION LIMIT = -1;
ERROR:  invalid locale name English, United States
template1=# CREATE DATABASE test WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'ru_RU.UTF-8' LC_CTYPE = 'ru_RU.UTF-8' CONNECTION LIMIT = -1;
CREATE DATABASE

Локаль ru_RU.UTF-8 узнает, а en_US.UTF-8 - уже нет. Разумеется, локаль en_US.UTF-8 в системе существует (дефолтовая ru_RU.UTF-8):
$ sudo dpkg-reconfigure locales
Generating locales (this might take a while)...
  en_US.UTF-8... done
  ru_RU.UTF-8... done
Generation complete.

Получается, создать БД можно только с текущей системной локалью.
хмм... у Вас что-то сломано... что за ОС, версия PG ? может быть у Вас не релиз 8.4.0 а релиз кандидат ?

Debian testing/sid:
postgres=# select version();
                                               version
-----------------------------------------------------------------------------------------------------
 PostgreSQL 8.4.0 on i486-pc-linux-gnu, compiled by GCC gcc-4.3.real (Debian 4.3.3-13) 4.3.3, 32-bit

postgres=# CREATE DATABASE test WITH OWNER = postgres
  ENCODING = 'UTF8'
  LC_COLLATE = 'en_US.UTF-8'
  LC_CTYPE = 'en_US.UTF-8'
  CONNECTION LIMIT = -1;
ERROR:  new collation (en_US.UTF-8) is incompatible with the collation of the template database (ru_RU.UTF8)
ПОДСКАЗКА:  Use the same collation as in the template database, or use template0 as template.
postgres=# CREATE DATABASE test WITH OWNER = postgres
  ENCODING = 'UTF8'
  LC_COLLATE = 'en_US.UTF-8'
  LC_CTYPE = 'en_US.UTF-8'
  CONNECTION LIMIT = -1
  template template0;
CREATE DATABASE
8 июл 09, 12:52    [7390977]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Ёш
Member

Откуда:
Сообщений: 2892
MBG
Ёш

но вот что интересно, я попробовал как в предыдущем сообщений сделать локаль базы en_US, и оно вроде сортирует правильно:
 test      | postgres | UTF8     | en_US.UTF8  | en_US.UTF8  |


А каким образом у вас введена буква ё - сдается мне, что указана буква е с умляутом (составная форма U+0415 U+0308), а не одна буква (U+0401). UTF8 позволяет один символ записывать несколькими разными способами... В форме монолитного символа в en_US вроде как ё должна быть в конце алфавита.
«Ё» просто с клавиатуры, как одна буква. По определению collation для unicode http://unicode.org/charts/collation/chart_Cyrillic.html «Ё» стоит после «Е» и перед «Ж». Там между ними конечно есть ещё символы, но в русском они не используются соответственно сортировке русского не мешают.

MBG
Не существует такой локали, в которой будет правильно работать алфавитная сортировка для всех языков (даже для европейских не получится). Например, насколько мне помнится, немецкий язык требует сортировку сложнее базового юникода.
Вот я тоже так думаю, но не могу найти доказательство %) то что я тестировал сортировалось правильно %)

Проблема должна быть в языке в котором используется допустим латиница, но буквы стоят в порядке не соответствующем английскому. Тогда естественно невозможно сортировать двумя способами в одной и той же локали одни и те же буквы. Но есть ли такой язык — я не могу понять %)

Попробую немецкий, возможно там будет ошибка.
8 июл 09, 13:02    [7391072]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Ёш
Member

Откуда:
Сообщений: 2892
Ёш
Попробую немецкий, возможно там будет ошибка.

вот из википедии:
автор
В немецком алфавите используются 26 пар латинских букв (строчные и прописные); умляутированные буквы ä, ö, ü и лигатура ß (эсцет) в состав алфавита не входят. При алфавитной сортировке ä, ö, ü не различаются с соответственно a, o, u, за исключением слов, отличающихся только умляутом — в этом случае слово с умляутом идёт позже; ß приравнивается к сочетанию ss. Однако при перечислении немецких букв знаки ä, ö, ü дают не рядом с соответствующими «чистыми» буквами, а в конце списка.


локаль ru_RU.UTF-8
values ('a'), ('b'), ('s'), ('ss'), ('t'), ('ß'), ('ä');
 column1
---------
 a
 b
 s
 ss
 t
 ß
 ä
(7 rows)

values ('a'), ('b'), ('s'), ('ss'), ('t'), ('ß'), ('ä') order by 1;
 column1
---------
 a
 ä
 b
 s
 ss
 ß
 t
(7 rows)
символы с умляутами и «ß» — скопированы из википедии.

Вроде правильно сортируется ? Полный немецкий алфавит потестирую позже.
8 июл 09, 13:21    [7391232]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
MBG
Guest
Вот от Витуса нашел в архиве переписки:
Для английского и испанского, например, алфавитный порядок - разный, а буковки одни и те же


Много интересного можно найти в архивах debian-russian и sqlite-users (темы, связанные с юникодом).
8 июл 09, 15:14    [7392123]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Ёш
Member

Откуда:
Сообщений: 2892
MBG
Вот от Витуса нашел в архиве переписки:
Для английского и испанского, например, алфавитный порядок - разный, а буковки одни и те же
Год назад когда я пытался разобраться как работает collation для unicode локали я как раз с испанского начал :)
Но мне не удалось найти проблему... возможно известное мне определение испанского алфавита не верно ? Где можно почитать про испанский алфавит ? Я брал его из википедии, там написано:
автор
Испанский алфавит является модифицированным вариантом латинского алфавита, состоящим из 27 букв A, B, C, D, E, F, G, H, I, J, K, L, M, N, Ñ, O, P, Q, R, S, T, U, V, W, X, Y, Z. Диграфы CH и LL обозначают отдельные звуки и до 1994 года они считались отдельными буквами и располагались в алфавите отдельно от C и L. Над гласными (A, E, I, O и U) может писаться ударение для обозначения ударного слога и трема над U для указания на раздельное прочтение.
то есть опять, я не вижу разницы в порядке между испанским и английским... в 94 году из испанского убрали диграфы CH и LL, насколько я понимаю они теперь сортируются как обычные две буквы и я не вижу что сейчас может мешать нормальной сортировке испанского...

MBG
Много интересного можно найти в архивах debian-russian и sqlite-users (темы, связанные с юникодом).
спасибо, изучаю.
8 июл 09, 16:15    [7392472]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
Ёш
Member

Откуда:
Сообщений: 2892
нашёл :)
http://www.unicode.org/reports/tr10/

Шведский и немецкий алфавиты конфликтуют:

Шведский алфавит
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,å,ä,ö

Немецкий алфавит
a,ä,b,c,d,e,f,g,h,i,j,k,l,m,n,o,ö,p,q,r,s,t,u,ü,v,w,x,y,z

спасибо что помогли разобраться, теперь понятно зачем нужны отдельные collation на колонках таблицы :)


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
8 июл 09, 18:45    [7393401]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
MBG
Guest
Ёш
теперь понятно зачем нужны отдельные collation на колонках таблицы :)


К примеру, в SQLite это давно есть. Хотя обычно я пользуюсь более простой реализацией (основанное на таблицах символов расширение для поддержки базового юникода плюс удаления акцентов), заменяющей дефолтовую коллэйшен NOCASE, из соображений совместимости и быстродействия - на базах в десятки гигабайт 4-х кратная разница в производительности весьма существенный аргумент ;-) В постгресе бы пришлось весь движок разломать, чтобы сделать свою коллэйшен и назначить для столбца. Имхо, отсутствие компактного легко расширяемого ядра погубит постгрес...
9 июл 09, 12:45    [7395914]     Ответить | Цитировать Сообщить модератору
 Re: 8.4 и кодировки  [new]
MBG
Guest
Ёш
хмм... у Вас что-то сломано... что за ОС, версия PG ? может быть у Вас не релиз 8.4.0 а релиз кандидат ?


Debian stable/testing/sid:
$ psql -h localhost -U postgres template1
psql (8.4.0)
SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)
Type "help" for help.

template1=# select version();
                                               version
-----------------------------------------------------------------------------------------------------
 PostgreSQL 8.4.0 on i486-pc-linux-gnu, compiled by GCC gcc-4.3.real (Debian 4.3.3-13) 4.3.3, 32-bit
(1 row)

template1=# CREATE DATABASE test WITH OWNER = postgres
template1-#   ENCODING = 'UTF8'
template1-#   LC_COLLATE = 'en_US.UTF-8'
template1-#   LC_CTYPE = 'en_US.UTF-8'
template1-#   CONNECTION LIMIT = -1
template1-#   template template0;
ERROR:  invalid locale name en_US.UTF-8

Собственно, это не имеет значения - для продакшена годится только 8.1, все последующие или существенно медленнее обрабатывают некоторые запросы (правда, часть запросов обрабатывают существенно быстрее), или имеют ошибки (например, в 8.3 наткнулся на ошибки приведения типов, баг репорты на это дело были, так что починили или починят). В любом случае версии с интегрированным FTS и поддержкой xml использовать не собираюсь, лучше сменить СУБД, чем с такими Франкенштейнами дело иметь. Я и до этого не понимал, как планировщик работает, причем, судя по рассылке апстрима, этого никто уже давно не понимает.
9 июл 09, 14:00    [7396567]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / PostgreSQL Ответить