>> not so bad for oracle. What about for PG ? How data is stored
I agree with the datatype issue. Smallint, bigint, integer... add a
constraint...
Also the way order of the records in the database is very important. As
you seem to have a very large static population in your table, you should
insert it, ordered by your favourite selection index (looks like it's
poste).
Also, you have a lot of static data which pollutes your table. Why not
create two tables, one for the current year, and one for all the past
years. Use a view to present a merged view.