The OpenNET Project / Index page

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

Релиз Psycopg 2.5, многофункционального PostgreSQL-драйвера для Python

08.04.2013 08:10

Представлен релиз Psycopg 2.5, популярного драйвера для работы с PostgreSQL из программ на языке Python. Драйвер полностью соответствует спецификации Python DB API 2.0 и дополнительно поддерживает ряд расширений, позволяющих использовать специфичные возможности PostgreSQL.

Среди ключевых изменений в версии Psycopg 2.5:

  • Добавлен адаптер JSON, позволяющий напрямую обращаться к типу данных JSON, появившемуся в PostgreSQL 9.2
    
       >>> cur.execute(
       ...     """select '{"a":[1,2,3],"b":[4,5,6]}'::json""")
       >>> cur.fetchone()[0]
       {u'a': [1, 2, 3], u'b': [4, 5, 6]}
    
  • Добавлены адаптеры Range для работы с типами для определения диапазонов, появившимися в PostgreSQL 9.2:
    
       >>> cur.execute("""select '[10,20)'::int4range""")
       >>> r = cur.fetchone()[0]
       >>> r.lower
       10
       >>> r.upper_inc
       False
    

    Теперь объекты на языке python могут быть напрямую отнесены как Range в запросе:

    
       r = DateRange(date(2013,1,1), date(2013,2,1), '[)')
       cur.execute("select * from events where %s @> date", [r])
    
  • Добавлена поддержка выражения "with", позволяющего автоматически закрывать соединение после запроса:
    
    
        with psycopg2.connect(DSN) as conn:
           with conn.cursor() as curs:
              curs.execute(SQL)
    
  • Добавлен новый класс Diagnostics(exception), позволяющий через атрибуты получить расширенную информацию об ошибке со стороны сервера PosgreSQL.
  • Обеспечена поддержка версии Python 3.3.


  1. Главная ссылка к новости (http://initd.org/psycopg/artic...)
  2. OpenNews: Релиз СУБД PostgreSQL 9.2
Автор новости: web
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/36618-psycopg
Ключевые слова: psycopg, postgresql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (10) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:30, 08/04/2013 [ответить]  
  • +5 +/
    > Обеспечена поддержка версии Python 3.3

    Эпик вин

     
  • 1.2, gra (?), 12:47, 08/04/2013 [ответить]  
  • +/
    Я до последнего времени использовал 2.7, стоит ли уже переходить на 3.3 ?
     
     
  • 2.3, Алексей (??), 14:03, 08/04/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Видимо уже да. Судя по событиям это уже тренд.
     
     
  • 3.6, Alex (??), 16:24, 08/04/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Давно пора уже трендом становиться. С 2008 года py3000 существует, всё никак не перейдём на него.
     
     
  • 4.7, Stax (ok), 21:05, 08/04/2013 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Hello world может уже переходить, а реальные проекты лет через *ндцать только, когда большая часть pypi пакетов будет собираться под python3.

    Вот беру для примера и смотрю зависимости от python 2.7 в fedora 18 - из того, что у меня сейчас установлено, от него зависит >300 программ, а от python3 - только блендер (да и тот мне особо не нужен). Вот когда ситуация начнет меняться, будем думать о написании кода под третий питон.

    Вообще, имхо, вышел эпик фейл с этим названием - так к 3000'ому году, может, и перейдем на него. Назвали бы py2010 - переход бы шел быстрее.

     
     
  • 5.8, web (?), 03:41, 09/04/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зависимости в федоре?!! Вы о чём? туда попадают далеко не свежие пакеты, не только python.

    На python2 в федоре написан установшик - anaconda. Поэтому пока в федоре не будет, как в убунте python3 по умолчанию. Но Ник Коглан, сотрудник RedHat, активный коммитер python3 ветки, так что ситуация будет меняться.
    Из того что нужно в федоре18/RHEL7 - это установить пакет python3-pip, дальнейщую установку уже производить через него.

    Посмотрите в сорцы проектов, во многих уже есть дев ветка python3.

     
     
  • 6.9, Сергей (??), 20:19, 09/04/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Где ты в Убунте увидел по умолчанию python3??? В 12.04 LTS по умолчанию 2.7 как раз!
     
     
  • 7.10, web (?), 02:52, 10/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Я про 13.04 выход которой планируется на 25 апреля.

    https://wiki.ubuntu.com/RaringRingtail/TechnicalOverview#Python_3.3

    В 14.04 LTS На десктопных CD images будет только Python3
    https://wiki.ubuntu.com/Python/3#Python_3_on_Ubuntu

     

  • 1.4, Аноним (-), 14:33, 08/04/2013 [ответить]  
  • +/
    Кстати модуль очень медленно работает с Large Objects. Нельзя просто сделать open, read / write, close. Вместо этого вызываются open read close, open write close ...
     
     
  • 2.5, Аноним (-), 14:35, 08/04/2013 [^] [^^] [^^^] [ответить]  
  • +/
    У меня во время тестирования вышли теже результаты в коде на C++, что и в реализации с psycopg2. open, read / write, read / write ... , close - быстро. open read close, open read close ... при буферизованном чтении очень медленно. Разница где-то в x4
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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