PostgreSQL 8.0: новые возможности::Журнал СА 3.2005
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Электронный документооборот  

5 способов повысить безопасность электронной подписи

Область применения технологий электронной подписи с каждым годом расширяется. Все больше задач

 Читать далее...

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

Системные администраторы, практически, есть везде. Порой их не видно и не слышно,

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9954
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8163
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8264
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5231
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5919
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 PostgreSQL 8.0: новые возможности

Архив номеров / 2005 / Выпуск №3 (28) / PostgreSQL 8.0: новые возможности

Рубрика: Базы данных /  Оптимизация

СЕРГЕЙ СУПРУНОВ

PostgreSQL 8.0: новые возможности

В середине января этого года вышла новая версия открытой системы управления базами данных PostgreSQL 8.0. Основные характеристики этой СУБД были рассмотрены ранее на страницах журнала (см. статью «PostgreSQL: первые шаги», №7, 2004 г.). По сравнению с 7-й веткой (на данный момент это версия 7.4.7) в 8-й версии появился ряд нововведений, краткому обзору которых и посвящена эта статья.

Помимо традиционных исправлений недоработок, выявленных в прежних версиях, и общих улучшений, смена «мажорной» версии ознаменовалась рядом принципиальных новшеств, направленных прежде всего на расширение возможностей по управлению СУБД.

Итак, добавлено понятие табличного пространства (table spaces). Раньше хранилище данных размещалось в директории, указанной при инициализации командой initdb, то есть жестко определялось на стадии инсталляции СУБД и могло находиться только на одной файловой системе. Проблемы со свободным местом приходилось решать либо с помощью переноса хранилища в другой раздел диска и размещения символьной ссылки на него, либо повторной инициализацией хранилища с последующим восстановлением данных из резервной копии. Теперь команда «CREATE TABLESPACE» позволяет создать несколько табличных пространств на разных файловых системах. И в дальнейшем при создании новой базы данных (CREATE DATABASE), таблицы (CREATE TABLE), индекса (CREATE INDEX) и т. д. можно указать, в каком табличном пространстве следует разместить объекты. Это помогает более гибко управлять размещением данных на диске и в ряде случаев повышает быстродействие, например, за счет выноса индексных файлов в табличное пространство, расположенное на отдельном жестком диске.

Команда «ALTER TABLE» позволяет теперь изменять тип данных столбца. Раньше для этого требовалось создать новый столбец, перенести в него данные и затем старый удалить. До версии 7.3 удалять столбцы тоже было нельзя, и приходилось либо мириться с тем, что никому не нужный столбец занимает место, либо менять структуру таблицы самым универсальным способом – создавая на ее основе новую. Теперь для этого достаточно одной команды:

ALTER TABLE test ALTER COLUMN mynum TYPE NUMERIC(4,2);

Старый и новый типы должны быть совместимы. То есть вы можете изменить тип numeric(5,2) на numeric(9,2), чтобы хранить большие числа, но попытка изменить, например, числовой тип на строковый приведет к ошибке.

Также в новой версии появились так называемые точки сохранения транзакций (savepoints). В ранних версиях в случае ошибки внутри транзакции она «откатывалась» полностью, что в сложных транзакциях (например, при отработке функций) приводило к значительной трате ресурсов. Теперь есть возможность в потенциально опасных местах транзакции размещать savepoints и в дальнейшем при обработке ошибки откатывать транзакцию только до указанной точки сохранения. Для этого используется команда «ROLLBACK TO savepointname», где savepointname – имя точки сохранения, присвоенное ей командой «SAVEPOINT savepointname». После устранения причины ошибки обработка транзакции продолжится, при этом операции, выполненные нормально, повторяться не будут.

Команда «COPY», которая служит для загрузки данных в таблицу из внешних файлов и сохранения данных из таблиц в файлы, раньше поддерживала текстовый формат с разделителями и собственный двоичный формат. Теперь она поддерживает также работу с файлами в формате CSV (comma separated value), что упрощает обмен данными между PostgreSQL и, скажем, файлами Excel. Например, чтобы сохранить данные из CSV-файла, требуется подготовить таблицу, столбцы которой соответствуют по типу полям загружаемого файла. Затем выполняется команда:

COPY mytable FROM ‘/path/to/file.csv’ WITH CSV;

В результате данные из file.csv допишутся в конец таблицы mytable. Каждая строка файла становится одной записью, в качестве разделителя полей будет использован символ «запятая». Этот вариант простейший, в общем случае можно явно указывать поля таблицы, которые будут заполняться из файла, и их порядок, а также задавать ряд дополнительных параметров. Подробности смотрите в справке (например, введя команду «h copy» в интерактивном терминале psql).

Обновлена версия встроенного языка PL/Perl, позволяющего разрабатывать хранимые процедуры на языке Perl. Напомню, что помимо PL/pgSQL и PL/Perl, PostgreSQL позволяет использовать для разработки серверной части приложений также языки Python (PL/Python) и Tcl (PL/Tcl). С сайта www.postgresql.org дополнительно можно скачать и установить модули, обеспечивающие поддержку языков PHP, Java и др. Разработчики PostgreSQL уделили должное внимание и системам от Microsoft – теперь выпускается «родная» версия этой СУБД для Windows 2000/2003/XP. Раньше тоже можно было запускать PostgreSQL в Windows, но под управлением UNIX-эмулятора Cygwin, что крайне отрицательно сказывалось на быстродействии и требовательности к ресурсам и практически не позволяло говорить о «промышленной» эксплуатации PostgreSQL на этих операционных системах. Таким образом, можно констатировать тот факт, что PostgreSQL по своим характеристикам все больше приближается к таким коммерческим «монстрам» как Oracle. Конечно, по отношению к Oracle PostgreSQL по-прежнему находится в роли догоняющего, однако разрыв сокращается с каждым новым релизом, и выбор этой бесплатной СУБД становится все более предпочтительным.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru