Через неделю после выхода кандидата в релизы PostgreSQL 8.1 вышел официальный релиз новой ветки открытой СУБД.Среди основных изменений:
- улучшен механизм параллельного доступа к общему кэшу;
- механизм использования промежуточных индексов для поиска по нескольким независимым индексам;
- поддержка двуxфазных транзакций;
- новая система ролей для разделения прав доступа;
- автоматические индексы для минимальных и максимальных значений;
- pg_autovacuum теперь интегрирован в сервер;
- другие новшества.URL: http://developer.postgresql.org/docs/postgres/release.html#R...
Новость: http://www.opennet.me/opennews/art.shtml?num=6397
Интересно, теперь индексы на типы данных cidr и inet работают для операторов <<=, <<, >>=, >>? :)
Подскажите, а можно так в PostgreSQL: например в таблице есть столбец test. Запросы бывают такие, как SELECT test и SELECT Test. Первый работает, второй нет. Условие такое:запросы изменить нельзя, но не хочется использовать MS SQL. Куда смотреть?
>Подскажите, а можно так в PostgreSQL: например в таблице есть столбец test.
>Запросы бывают такие, как SELECT test и SELECT Test. Первый работает,
>второй нет. Условие такое:запросы изменить нельзя, но не хочется использовать MS
>SQL. Куда смотреть?1. Оба запроса должны работать в PostgreSQL одинаково. И они таки
работают. Лично проверил только что- регистр символов в именах полей
значения не имеет. Может у Вас во втором случае русская "Т"?2. Если запросы менять нельзя, то каким образом Вы собираетесь мигрировать
с PostgreSQL на MSSQL Server (или наоборот). Если используется
промежуточное ПО, обеспечивающее унифицированный прозрачный доступ к
БД от разных производителей (а-ля ODBC), то возможно причина ваших
неприятностей в нём.Andrew.
зависимость от регистра в pg проявлятся только в идентификаторах вида "идентификатор", т.е. "Test" != "test", обычные идентификаторы регистронезависимы.
Народ - не мутите человека! Он ведь конкретный вопрос задал, а не спросил как лучше!
Теперь по вопросу: насколько мне позволяет память - всегда в постгресе можно было делать регистрозависимые имена колонок. Для этого при создании таблицы эти имена пишутся в двойных кавычках. Но и в запросах имена этих колонок должны быть в кавычках.
Типа:
create table t_test("X" int4);
SELECT "X" FROM t_test;
Хорош релиз - быстрее стал.
ODBC подправили.
Уже пользую и всем рекомендую!Спасибо разработчикам.
После перехода на 8.1 был замечен странный глюк -
при выходе из psql оно страшно ругается:=> \q
psql: stack smashing attack in function main()
zsh: 31201 abort psql -d dbnameЧто бы это могло быть?
Машина - 2х Xeon 3000
система - Gentoo-2005.1postgres собран так:
[ebuild R ] dev-db/postgresql-8.1.0 -doc -kerberos +libg++ +nls +pam +perl +pg-intdatetime +python +readline (-selinux) +ssl +tcltk +xml2 +zlibЗаранее спасибо!
2Andrew да программа использует ODBC. Просто достоверно известно что программа работает с MS SQL.
2Hordi. Уже лучше, да, запросы шлются именно такие SELECT "somewhat". Не меняя условия задачи, а имеено, возможность создавать таблицы имеется, но нет возможности менять запрос. В запросах за каким-то то SELECT "somewhat", то SELECT "SomeWhat". Получается можно создать таблицу и способ создания укажет о том что столбец регистронезависемый?
Поправить ODBC, например собрать ODBC с патчем junkfilter_patch.txt - похоже, что подобное.
Можно попробовать следующее - переименовать table в table_orig и создать из нее view с именем table, где продублировать поля со всеми возможными комбинациями регистра. Правда будет чуть медленнее..