Previously, I had suggested a workaround for the empty PostgreSQL slots table problem.
I have now tried the work-around for the empty slots table problem with PostgreSQL. The type SERIAL is simply a convenience, and not a real type. I had hoped the convenience extended to ALTER TABLE, but it doesn't. The following did not work: gnucash_db=# alter table slots alter column slot_id type serial; ERROR: type "serial" does not exist However, manually creating the sequence and setting a default value appear to work: gnucash_db=# create sequence seq_slot_id; CREATE SEQUENCE gnucash_db=# alter table slots alter column slot_id set default nextval('seq_slot_id'); ALTER TABLE and confirmed by: gnucash_db=# \d+ slots However, this did not work. The logfile still indicates: ERROR: null value in column "slot_id" violates not-null constraint STATEMENT: INSERT INTO slots (obj_guid, name, slot_type, int64_val, string_val, double_val, timespec _val, guid_val, numeric_val_num, numeric_val_denom) VALUES ('391b8b5ede0a168f59664a8de0b4587f', 'sched-xaction/account', 5, NULL, NULL, NULL, '1969-12-31', 'ac336ec951601638920d70c6fd4b7119', 0, 1) Issuing the following with psql: select nextval('seq_slot_id'); confirms that the sequence works and counts up. So I checked the table structure. My default value has disappeared. It appears that this was done when I first selected to save to this db. The following appears in the log file: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "slots_pkey" for table "slots" There are similar notices for all the other tables. Additionally, this problem now shows with another table: ERROR: null value in column "recurrence_id" violates not-null constraint STATEMENT: INSERT INTO recurrences (obj_guid, recurrence_mult, recurrence_period_type, recurrence_period_start) VALUES ('00000000002000e00000000000a89408', 1, 'month', '2005-01-24') Mark _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel