diff -u gateway/gw/dlr_pgsql.c /home/sysadmin/kannel/dlr_pgsql.c
--- gateway/gw/dlr_pgsql.c      2008-06-23 20:43:38.000000000 +0200
+++ gateway/gw/dlr_pgsql.c   2008-06-22 12:27:38.000000000 +0200
@@ -220,7 +220,7 @@
     Octstr *sql;

     debug("dlr.pgsql", 0, "removing DLR from database");
-    sql = octstr_format("DELETE FROM %s WHERE dlr_id = (SELECT dlr_id FROM %s WHERE %s='%s' AND %s='%s' LIMIT 1);",
+    sql = octstr_format("DELETE FROM %s WHERE oid = (SELECT oid FROM %s WHERE %s='%s' AND %s='%s' LIMIT 1);",
                         octstr_get_cstr(fields->table), octstr_get_cstr(fields->table),
                         octstr_get_cstr(fields->field_smsc),
                         octstr_get_cstr(smsc), octstr_get_cstr(fields->field_ts), octstr_get_cstr(ts));
@@ -236,7 +236,7 @@
     Octstr *sql;

     debug("dlr.pgsql", 0, "updating DLR status in database");
-    sql = octstr_format("UPDATE %s SET %s=%d WHERE dlr_id = (SELECT dlr_id FROM %s WHERE %s='%s' AND %s='%s' LIMIT 1);",
+    sql = octstr_format("UPDATE %s SET %s=%d WHERE oid = (SELECT oid FROM %s WHERE %s='%s' AND %s='%s' LIMIT 1);",
                         octstr_get_cstr(fields->table),
                         octstr_get_cstr(fields->field_status), status,
                         octstr_get_cstr(fields->table),
