> Looks to me as though you have forgottent the table inheritance part of the > table partitioning trick. Are you sure that sessions_900000 inherit from > the sessions table? Does a direct count from the table referenced by the > rule return a non-zero count? In other words: > > SELECT count(*) FROM sessions_900000 where id = currval('sessions_id_seq'); No, the tables are inherited, i.e. there's something like CREATE TABLE sessions_8000000 ( CHECK (id BETWEEN 8000000 AND 8499999 ) INHERITS (sessions); I've checked this for all the partitions (we're using three right now) as well as the direct count (returns nothing). As I already said - it works until I create a rule for the next partition (not used yet) - then is suddenly stops working. > (or some other similar table) may show your "missing" rows. The other > possibility is that the you are not using sessions_id_seq in the way > you think you are. What do you mean? I do a 'SELECT currval(...)' after the insert and it gives me the right value. It works until I create the next RULE, so this does not seem as a sequence problem. Tomas