Index: django/core/management.py
===================================================================
--- django/core/management.py	(revision 2947)
+++ django/core/management.py	(working copy)
@@ -328,15 +328,31 @@
     app_dir = os.path.normpath(os.path.join(os.path.dirname(models.get_app(model._meta.app_label).__file__), 'sql'))
     output = []
 
-    # Find custom SQL, if it's available.
+    sql_expr = re.compile(
+        r"""(           # each statement is...
+        (?:             # one or more chunks of ...
+            (?:[^;'"]+) # not the end of a statement or start of a quote
+          | (?:'[^']+') # something in single quotes
+          | (?:"[^"]+") # something in double quotes
+        )+)""", re.VERBOSE)
+        
+    # Find custom SQL, if it's available.          
     sql_files = [os.path.join(app_dir, "%s.%s.sql" % (opts.object_name.lower(), settings.DATABASE_ENGINE)),
                  os.path.join(app_dir, "%s.sql" % opts.object_name.lower())]
     for sql_file in sql_files:
         if os.path.exists(sql_file):
             fp = open(sql_file)
-            output.append(fp.read())
+            sql = fp.read()
             fp.close()
+            if ';' in sql:
+                # some backends can't execute more than one statement at a time
+                statements = sql_expr.findall(sql)
+                if statements:
+                    output.extend(statements)
+                    continue
+            output.append(sql)
 
+
     return output
 
 def get_sql_initial_data(app):
