Marc G. Fournier объявил (http://groups.google.com/group/pgsql.general/msg/b7b1fbc1c6069ad3) о завершении этапа разработки ветки 8.1 PostgreSQL и выпуске первой бета версии (http://www.postgresql.org/ftp/source/v8.1beta).
Из новшеств, относительно 8.0, можно отметить:
- Автоматическое использование индексов для выполнения операций MIN() и MAX();
- Одновременно в запросе могут учитываться несколько индексов, т.е. при "WHERE tab.col1 = 4 and tab.col2 = 9" и двух индексах, для col1 и col2, раньше использовался только одни индекс, а теперь формируется обобщенное обращение к обоим индексам;
- Двух этапные коммиты (PREPARE TRANSACTION, COMMIT/ROLLBACK PREPARED), возможность предварительного, проверочного, коммита.
- Вместо пользователей и групп введена система ролей (логины, которые могут наследовать права других логинов);
- pgautovacuum перемещен из "contrib" в основную систему;
- Возможность установки локов на отдельную запись (shared row level locks);
- Улучшение производительности, на многопроцессорных системах, в ситуации одновременных обращений к общему кешу данных (уход от глобальной блокировки);
Яркие несовместимости с прошлой версией:
- Указание '' (пустой строки) для полей типа float4/float8/oid теперь не эквивалентно 0 и вызывает ошибку;
- Подготовка к новой схеме интерпретирования обратных слешей в строках, пока схема сохранена, но на будущее введен элемент E'' (например, E'hi\n', в будущем \n - будет оставлен как есть, а не заменен на символ перевода строки. Одинарная кавычка внутри строки будет вставляться как '', а не \');
- REINDEX DATABASE теперь переиндексирует все индексы во всех базах, а не только в системных, как это было ранее. Для переиндексирования системных нужно использовать REINDEX SYSTEM;
URL: http://groups.google.com/group/pgsql.general/msg/b7b1fbc1c6069ad3
Новость: http://www.opennet.me/opennews/art.shtml?num=5979