diff --git a/django/db/backends/postgresql_psycopg2/introspection.py b/django/db/backends/postgresql_psycopg2/introspection.py
index 57d9a67abf..046af9af55 100644
--- a/django/db/backends/postgresql_psycopg2/introspection.py
+++ b/django/db/backends/postgresql_psycopg2/introspection.py
@@ -137,6 +137,7 @@ class DatabaseIntrospection(BaseDatabaseIntrospection):
             WHERE
                 kc.table_schema = %s AND
                 kc.table_name = %s
+            ORDER BY kc.ordinal_position ASC
         """, ["public", table_name])
         for constraint, column, kind, used_cols in cursor.fetchall():
             # If we're the first column, make the record