app/django/db/backends/postgresql/version.py
author Sverre Rabbelier <srabbelier@gmail.com>
Fri, 12 Dec 2008 00:34:12 +0000
changeset 721 6f1d29857072
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Added a filter method to dicts The best way to explain this is probably with an example: >>> split({'foo':'bar', 'bar':['one', 'two'], 'baz': ['three', 'four']}) [{'bar': 'one', 'foo': 'bar', 'baz': 'three'}, {'bar': 'two', 'foo': 'bar', 'baz': 'three'}, {'bar': 'one', 'foo': 'bar', 'baz': 'four'}, {'bar': 'two', 'foo': 'bar', 'baz': 'four'}] Patch by: Sverre Rabbelier

"""
Extracts the version of the PostgreSQL server.
"""

import re

VERSION_RE = re.compile(r'PostgreSQL (\d+)\.(\d+)\.')

def get_version(cursor):
    """
    Returns a tuple representing the major and minor version number of the
    server. For example, (7, 4) or (8, 3).
    """
    cursor.execute("SELECT version()")
    version = cursor.fetchone()[0]
    major, minor = VERSION_RE.search(version).groups()
    return int(major), int(minor)