diff --git a/django/core/db/backends/postgresql.py b/django/core/db/backends/postgresql.py index 44cb0da2561..b70f286d9d9 100644 --- a/django/core/db/backends/postgresql.py +++ b/django/core/db/backends/postgresql.py @@ -18,8 +18,12 @@ class DatabaseWrapper: from django.conf.settings import DATABASE_USER, DATABASE_NAME, DATABASE_HOST, DATABASE_PASSWORD, DEBUG, TIME_ZONE if self.connection is None: # Note that "host=" has to be last, because it might be blank. - self.connection = Database.connect("user=%s dbname=%s password=%s host=%s" % \ - (DATABASE_USER, DATABASE_NAME, DATABASE_PASSWORD, DATABASE_HOST)) + conn_string = "user=%s dbname=%s" % (DATABASE_USER, DATABASE_NAME) + if DATABASE_PASSWORD: + conn_string += " password=%s" % DATABASE_PASSWORD + if DATABASE_HOST: + conn_string += " host=%s" % DATABASE_HOST + self.connection = Database.connect(conn_string) self.connection.set_isolation_level(1) # make transactions transparent to all cursors cursor = self.connection.cursor() cursor.execute("SET TIME ZONE %s", [TIME_ZONE])