Try using adding -E option to psql. It will show you the queries used to
answer \d* (and other) commands.
psql -E test
test=> \dp
********* QUERY *********
SELECT relname as "Relation",
relacl as "Access permissions"
FROM pg_class
WHERE ( relkind = 'r' OR relkind = 'S') AND
relname !~ '^pg_'
ORDER BY relname
*************************
...
> I'm writing a interface that should manage users groups and
> permissions on tables in a database. Have almost completed users
> and groups handling, but now I'm facing a problem... How can I
> find out what
> are the permissions on a table without using \dp ?. This should
> be done through a SELECT or something similar. Thanks for any
> help gentlemans.
Take care,
Edmar