I want something such as mysql's GRANT SELECT ON db.* TO user in postgresql 8.4. The solutions I've found online make use of a for loop to choose tables on at any given time and grant rights in it. But that will mean I would need to rerun the command whenever a new table is put into the database.

It is possible to more straightforward means to fix this?

Default privileges included version 9., it isn't obtainable in older versions.

You may create a saved method that loops through all tables and sets the rights.

Observe that frequently granting a particular user's privileges to a different user makes at least as much sense and it is simpler to keep an eye on.

create user dbuser9;
create database test9 with owner dbuser9;
\c test9 dbuser9
create a bunch of stuff...
\c postgres postgres
grant dbuser9 to stan;