1) The database I'm going to develop is a big list with a catalog of items and I want to store subsets of this list representing the available items in several places. My idea is to create the big table with all the elements and then to create another table, where each row holds a pair (id_item, id_place) and thanks to this create several views, joining the two tables and selecting the rows with a give id_place. Do you think it's too heavy? Is there a simpler way to do it?
sorry but i dont understand your description. could you make a small example of this layout?
2) do you think it's possible in a plpgsql procedure select the name of a table into a variable and use that variable in the query?
possible, but not really good way. read about 'execute' in plpgsql.
3) faq 4.11.1 says how can I do it with a INT8 instead of a INT4?