Only allow specification of a pgpass file if libpq >= 10. Fixes #2768

This commit is contained in:
Murtuza Zabuawala
2017-10-10 09:31:27 +01:00
committed by Dave Page
parent 63103c7a48
commit 2f5a2b2392
6 changed files with 44 additions and 4 deletions
+7
View File
@@ -32,6 +32,9 @@ class BaseDriver(object):
* Version (string):
Current version string for the database server
* libpq_version (string):
Current version string for the used libpq library
Abstract Methods:
-------- -------
* get_connection(*args, **kwargs)
@@ -51,6 +54,10 @@ class BaseDriver(object):
def Version(cls):
pass
@abstractproperty
def libpq_version(cls):
pass
@abstractmethod
def get_connection(self, *args, **kwargs):
pass
@@ -2043,6 +2043,18 @@ class Driver(BaseDriver):
"Driver Version information for psycopg2 is not available!"
)
def libpq_version(cls):
"""
Returns the loaded libpq version
"""
version = getattr(psycopg2, '__libpq_version__', None)
if version:
return version
raise Exception(
"libpq version information is not available!"
)
def get_connection(
self, sid, database=None, conn_id=None, auto_reconnect=True
):