Is this a bug ?,   the new.a_id in my opinion should not be replaced here with 
nextval () function but with the actual value returned by the sequence. Please 
have this minimal example . 


CREATE TABLE a 
(
    a_id serial primary key
);


CREATE TABLE b 
( 
    b_id serial Primary key
);

CREATE TABLE a_b 
(
    a_id INTEGER REFERENCES a (a_id),
    b_id INTEGER REFERENCES b (b_id)
);

INSERT INTO b SELECT n FROM generate_series(1,10) AS n;
CREATE RULE a_a_b_insert AS ON INSERT TO a DO INSERT INTO a_b SELECT new.a_id , 
b_id FROM b; 
 

INSERT INTO a (a_id) VALUES (DEFAULT); 

Reply via email to