Index: django/db/backends/ado_mssql/base.py
===================================================================
--- django/db/backends/ado_mssql/base.py	(revision 6819)
+++ django/db/backends/ado_mssql/base.py	(working copy)
@@ -109,4 +109,7 @@
             # TODO: Handle DATABASE_PORT.
             conn_string = "PROVIDER=SQLOLEDB;DATA SOURCE=%s;UID=%s;PWD=%s;DATABASE=%s" % (settings.DATABASE_HOST, settings.DATABASE_USER, settings.DATABASE_PASSWORD, settings.DATABASE_NAME)
             self.connection = Database.connect(conn_string)
-        return self.connection.cursor()
+        cursor = self.connection.cursor()
+        for init_query in settings.CONNECTION_INIT_SQL:
+            cursor.execute(init_query)
+        return cursor
Index: django/db/backends/mysql_old/base.py
===================================================================
--- django/db/backends/mysql_old/base.py	(revision 6819)
+++ django/db/backends/mysql_old/base.py	(working copy)
@@ -194,6 +194,8 @@
                     self.connection.set_character_set('utf8')
         else:
             cursor = self.connection.cursor()
+        for init_query in settings.CONNECTION_INIT_SQL:
+            cursor.execute(init_query)
         return cursor
 
     def make_debug_cursor(self, cursor):
Index: django/db/backends/postgresql/base.py
===================================================================
--- django/db/backends/postgresql/base.py	(revision 6819)
+++ django/db/backends/postgresql/base.py	(working copy)
@@ -100,6 +100,8 @@
         cursor = self.connection.cursor()
         if set_tz:
             cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE])
+        for init_query in settings.CONNECTION_INIT_SQL:
+            cursor.execute(init_query)
         cursor.execute("SET client_encoding to 'UNICODE'")
         cursor = UnicodeCursorWrapper(cursor, 'utf-8')
         return cursor
Index: django/db/backends/sqlite3/base.py
===================================================================
--- django/db/backends/sqlite3/base.py	(revision 6819)
+++ django/db/backends/sqlite3/base.py	(working copy)
@@ -112,7 +112,10 @@
             self.connection.create_function("django_extract", 2, _sqlite_extract)
             self.connection.create_function("django_date_trunc", 2, _sqlite_date_trunc)
             self.connection.create_function("regexp", 2, _sqlite_regexp)
-        return self.connection.cursor(factory=SQLiteCursorWrapper)
+        cursor = self.connection.cursor(factory=SQLiteCursorWrapper)
+        for init_query in settings.CONNECTION_INIT_SQL:
+            cursor.execute(init_query)
+        return cursor
 
     def close(self):
         from django.conf import settings
Index: django/db/backends/mysql/base.py
===================================================================
--- django/db/backends/mysql/base.py	(revision 6819)
+++ django/db/backends/mysql/base.py	(working copy)
@@ -181,6 +181,8 @@
             kwargs.update(self.options)
             self.connection = Database.connect(**kwargs)
         cursor = self.connection.cursor()
+        for init_query in settings.CONNECTION_INIT_SQL:
+            cursor.execute(init_query)
         return cursor
 
     def _rollback(self):
Index: django/db/backends/oracle/base.py
===================================================================
--- django/db/backends/oracle/base.py	(revision 6819)
+++ django/db/backends/oracle/base.py	(working copy)
@@ -432,6 +432,8 @@
         # Set oracle date to ansi date format.
         cursor.execute("ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD'")
         cursor.execute("ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS.FF'")
+        for init_query in settings.CONNECTION_INIT_SQL:
+            cursor.execute(init_query)
         return cursor
 
 class FormatStylePlaceholderCursor(Database.Cursor):
Index: django/db/backends/postgresql_psycopg2/base.py
===================================================================
--- django/db/backends/postgresql_psycopg2/base.py	(revision 6819)
+++ django/db/backends/postgresql_psycopg2/base.py	(working copy)
@@ -73,4 +73,6 @@
         cursor.tzinfo_factory = None
         if set_tz:
             cursor.execute("SET TIME ZONE %s", [settings.TIME_ZONE])
+        for init_query in settings.CONNECTION_INIT_SQL:
+            cursor.execute(init_query)
         return cursor
Index: django/conf/global_settings.py
===================================================================
--- django/conf/global_settings.py	(revision 6819)
+++ django/conf/global_settings.py	(working copy)
@@ -120,6 +120,11 @@
 DATABASE_PORT = ''             # Set to empty string for default. Not used with sqlite3.
 DATABASE_OPTIONS = {}          # Set to empty dictionary for default.
 
+# List of sql statements to be executed at the beginning of every database connection.
+CONNECTION_INIT_SQL = (
+    # 'SET search_path TO example1, example2',
+)
+
 # Host for sending e-mail.
 EMAIL_HOST = 'localhost'
 
Index: docs/settings.txt
===================================================================
--- docs/settings.txt	(revision 6819)
+++ docs/settings.txt	(working copy)
@@ -269,6 +269,20 @@
 The default number of seconds to cache a page when the caching middleware or
 ``cache_page()`` decorator is used.
 
+CONNECTION_INIT_SQL
+-------------------
+
+Default: ``()`` (Empty tuple)
+
+A list of sql statements to be executed at the beginning of every database connection.
+
+For example, to set the database schema to 'django_application_schema' in postgresql, you
+could set:
+
+    CONNECTION_INIT_SQL = (
+        'SET search_path TO django_application_schema',
+    )
+
 DATABASE_ENGINE
 ---------------
 
