The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Что нового в PostgreSQL 7.2.3

14.10.2002 16:52

Новых возможностей в PostgreSQL 7.2.3 не появилось, зато исправлено несколько очень серьезных ошибок в коде, приводящих, при определенных обстоятельствах, к потере данных в рамках транзакции. Разработчики советуют как можно скорее провести апгрейд, если у Вас используется 7.2.x версия PostgreSQL, тем более что dump/restore базы не требуется. Кратко список исправлений:

  • Ошибки в VACUUM коде, если VACUUM выполняется не под суперпользователем, то по ошибке могут быть удалены файлы где хранится лог текущих транзакций (pg_clog файлы);
  • Поддержка дат до 1970 года при работе с новыми версиями glibc;
  • Исправлена ошибка при shutdown'е приводящая к некорректному завершению;
  • Ошибки приводящие к падению на SMP PPC машинах;
  • pg_dump научился делать дампы "FULL JOIN USING".

    1. Главная ссылка к новости (http://www.postgresql.org...)
    Лицензия: CC-BY
    Тип: Интересно
    Короткая ссылка: https://opennet.ru/1608-postgresql
    Ключевые слова: postgresql, x, smp, dump
    При перепечатке указание ссылки на opennet.ru обязательно
    Обсуждение (9) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Вадим (?), 17:38, 14/10/2002 [ответить]  
  • +/

    Интересно почему в PostgreSQL постоянно возникают deadlock. Причем для простейших таблиц (5 int полей с int ключем, 60 записей) с достаточно интенсивным UPDATE (примерно от 5 раз в минуту до 3 раз в сек.)- dead lock выскакивают регулярно, несмотря на ежедневный VACUUM ANALYZE и еженедельный VACUUM FULL базы. Запросы простейшие, даже транзакций нет. Просто постоянные SELECT и UPDATE, гораздо реже INSERT.

    Раньше грешил на транзакции, dead lock вываливались на совершенно других базах, порядок следования доступа к таблицам был одинаковым.

     
  • 1.2, saper (?), 10:40, 15/10/2002 [ответить]  
  • +/
    Какая у вас версия PostgreSQL? У нас в промышленной эксплуатации 7.0.3, потом перешли на 7.1 - все в полном порядке. Что касается deadlock: 1. Попробуйте PostgreSQL на классическом Linux-e (известно, что под FreeBSD он не очень хорошо себя показал, а под модифицированными ядрами Linux-a возможны проблемы). Итог - Slackware 8.1 + PostgreSQL 7.2.3 (собирать из исходников, все собирать с установками по-умолчанию). После такой кратко описанной установки надеюсь у вас заработает.
     
     
  • 2.4, Вадим (?), 12:50, 15/10/2002 [^] [^^] [^^^] [ответить]  
  • +/
    >Какая у вас версия PostgreSQL?

    7.2.1

    > У нас в промышленной эксплуатации 7.0.3, потом
    > перешли на 7.1 - все в полном порядке.

    В том-то и дело, что при 7.0 и 7.1 проблем тоже небыло, хотя нагрузка на базу была намного меньше текущей.

    >1. Попробуйте PostgreSQL на классическом Linux-e (известно, что под FreeBSD он

    У меня на SMP системе под FreeBSD, очень вероятно, что именно SMP и приводит к проблемам, так как на старом однопроцессорном сервере я  deadlock'ов тоже не помню.


     

  • 1.3, port22 (?), 11:01, 15/10/2002 [ответить]  
  • +/
    Скорее всего у Вас алгоритм работы программы не    
    проработан. У меня десятки таблиц с кучей ФК и апдейтов несколько (~ 2 - 10) раз в секунду, без проблем. Вообще,если начинать работать с БД, то лучше PostgreSQL, в перспективе, нет.
     
     
  • 2.5, Вадим (?), 12:58, 15/10/2002 [^] [^^] [^^^] [ответить]  
  • +/
    >Скорее всего у Вас алгоритм работы программы не
    >проработан.

    Я тоже так думал, пока deadlock не стали вылазить на ровном месте и на самой простейшей таблице при апдейте без транзакции. Есть скрпипт который выполняет SELECT/UPDATE||INSERT, скрипт запускается хаотично, вполне вероятна ситуация одновременного запуска. Но по идее PostgreSQL отлично справляется с этой ситауцией, мне кажется , что из-за SMP два управляющих фронтэнда PostgreSQL (при запуске на 2-процессорной системе) не разбирают ситуацию блокировки при одновременном запросе к обоим фронтэндам.

    Про порядок следования операций с таблицами в пределах транзакции я в курсе, про тонкости описанные в LOCK-мануале тоже.

    >2 - 10) раз в секунду, без проблем. Вообще,если начинать работать
    >с БД, то лучше PostgreSQL, в перспективе, нет.

    Согласен, но начинать мне поздно, я с PostgreSQL года с 1997 не расстаюсь, проблемы появились только на SMP машине.

     

  • 1.6, saper (?), 10:18, 16/10/2002 [ответить]  
  • +/
    Кстати у нас PostgreSQL на Linux-e 2.4 Slackware 7.1 с SMP (2xP3-1000).
     
  • 1.7, Barmaley (?), 10:38, 21/10/2002 [ответить]  
  • +/
    У меня FreeBSD 4.x и PostgerSQL 7.2.x работают
    несколько месяцев.
    Автоматическая заливка статистики с маршрутизаторов
    CISCO (IP Accouning, Netflow).
    Система в постоянной работе. Очень активной.
    И все пучком... никаких проблем вообще не наблюдалось...
    На сегодняшний день pgsql 7.2.3 на FreeBSD 4.7 P4-2000
     
     
  • 2.8, Денис (?), 11:53, 22/10/2002 [^] [^^] [^^^] [ответить]  
  • +/
    У меня - тоже. Free + PostgreSQL. На одном процессоре. А на SMP в реальной работе эту связку кто использует, а? Какие результаты?
     
     
  • 3.9, Антон (?), 12:39, 19/11/2002 [^] [^^] [^^^] [ответить]  
  • +/
    >У меня - тоже. Free + PostgreSQL. На одном процессоре. А на
    >SMP в реальной работе эту связку кто использует, а? Какие результаты?

    Пользуемся, почти все нормально. FreeBSD, PostgreSQL 7.2.2. Объем - ~800000 записей.
    Из проблем - периодически (от 0 до 5-7 раз в день) падает одно из соединений, предположительно, из-за ошибок в протоколе. В результате чего сервер сразу отключает всех остальных клиентов. Сделали автоматический reconnect при потере соединения у клиента.

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру