diff -r b5d75690ddba src/org/apache/ddlutils/platform/postgresql/PostgreSqlModelLoader.java
--- a/src/org/apache/ddlutils/platform/postgresql/PostgreSqlModelLoader.java	Wed May 29 16:59:29 2019 +0200
+++ b/src/org/apache/ddlutils/platform/postgresql/PostgreSqlModelLoader.java	Fri Jul 26 09:55:14 2019 +0200
@@ -226,7 +226,8 @@
     _stmt_fkcolumns = _connection.prepareStatement("SELECT upper(pa1.attname), upper(pa2.attname)"
         + " FROM pg_constraint pc, pg_class pc1, pg_attribute pa1, pg_class pc2, pg_attribute pa2"
         + " WHERE pc.contype='f' and pc.conrelid= pc1.oid and pc.conname = ? and pa1.attrelid = pc1.oid and pa1.attnum = ANY(pc.conkey)"
-        + " and pc.confrelid = pc2.oid and pa2.attrelid = pc2.oid and pa2.attnum = ANY(pc.confkey)");
+        + " and pc.confrelid = pc2.oid and pa2.attrelid = pc2.oid and pa2.attnum = ANY(pc.confkey)"
+        + " and pa1.attnum = pa2.attnum");
 
     sql = "SELECT PG_CLASS.RELNAME, CASE PG_INDEX.indisunique WHEN true THEN 'UNIQUE' ELSE 'NONUNIQUE' END, "
         + " PG_INDEX.indclass, PG_GET_EXPR(PG_INDEX.indpred,PG_INDEX.indrelid,true)"
