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

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

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

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

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

12.03.2018г.
Просмотров: 4847
Комментарии: 0
Глубокое обучение с точки зрения практика

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

12.03.2018г.
Просмотров: 3189
Комментарии: 0
Изучаем pandas

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

12.03.2018г.
Просмотров: 3987
Комментарии: 0
Программирование на языке Rust (Цветное издание)

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

19.12.2017г.
Просмотров: 3991
Комментарии: 0
Глубокое обучение

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

19.12.2017г.
Просмотров: 6487
Комментарии: 0
Анализ социальных медиа на Python

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

19.12.2017г.
Просмотров: 3340
Комментарии: 0
Основы блокчейна

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

19.12.2017г.
Просмотров: 3616
Комментарии: 0
Java 9. Полный обзор нововведений

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

16.02.2017г.
Просмотров: 7476
Комментарии: 0
Опоздавших не бывает, или книга о стеке

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

17.05.2016г.
Просмотров: 10844
Комментарии: 0
Теория вычислений для программистов

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

30.03.2015г.
Просмотров: 12551
Комментарии: 0
От математики к обобщенному программированию

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

18.02.2014г.
Просмотров: 14271
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

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

13.02.2014г.
Просмотров: 9289
Комментарии: 0
Читайте, размышляйте, действуйте

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

12.02.2014г.
Просмотров: 7244
Комментарии: 0
Рисуем наши мысли

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

10.02.2014г.
Просмотров: 5540
Комментарии: 3
Страна в цифрах

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

18.12.2013г.
Просмотров: 4770
Комментарии: 0
Большие данные меняют нашу жизнь

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

18.12.2013г.
Просмотров: 3590
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

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

04.12.2013г.
Просмотров: 3295
Комментарии: 0
Паутина в облаках

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

03.12.2013г.
Просмотров: 3526
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

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

02.12.2013г.
Просмотров: 3181
Комментарии: 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-45
E-mail: sa@samag.ru