I justed tested this with Postgresql:
openpetra=# select * from p_partner_reminder;
p_partner_key_n | p_contact_id_i | p_reminder_id_i | s_user_id_c | p_category_code_c | p_action_type_c | p_reminder_reason_c
| p_comment_c | p_event_date_d | p_first_reminder_date_d | p_reminder_frequency_i | p_last_reminder_sent_d | p_next_reminder_d
ate_d | p_reminder_active_l | p_email_address_c | p_restricted_l | s_module_id_c | s_user_restriction_c | s_date_created_d | s
_created_by_c | s_date_modified_d | s_modified_by_c | s_modification_id_t
-----------------+----------------+-----------------+-------------+-------------------+-----------------+---------------------
+-------------+----------------+-------------------------+------------------------+------------------------+------------------
------+---------------------+-------------------+----------------+---------------+----------------------+------------------+--
--------------+-------------------+-----------------+---------------------
(0 rows)
openpetra=# insert into p_partner_reminder(p_partner_key_n) values (0);
ERROR: null value in column "p_contact_id_i" violates not-null constraint
DETAIL: Failing row contains (0, null, 0, null, null, null, null, null, null, null, 0, null, null, t, null, f, null, null, 2016-10-26, null, null, null, null).
so it seems the DEFAULT NULL does not have any effect. It fails anyway on the NOT NULL.