Is there anything in Postgresql 9.1 similar to wait events dynamic views of oracle? I need to find queries which are waiting for a long time, and the events they are blocked on.
There isn't such a fine grained tracking available in Postgres (other than using DTrace which apparently gives a lot of information).
There is a whole chapter in the manual "Monitoring Database Activity"
Another option is the module pg_stats_statements: