app/django/db/backends/postgresql/version.py
author Todd Larsen <tlarsen@google.com>
Tue, 20 Jan 2009 22:21:32 +0000
changeset 853 062290a3b3cf
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
Linux /bin/sh (GNU) is not the same as OS X /bin/sh (BSD), so use /bin/bash. Fixes: scripts/pylint/do_pylint.sh: 27: Syntax error: "(" unexpected on Ubuntu (and possibly other Linux distros). Patch by: Todd Larsen Review by: to-be-reviewed

"""
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)