Reports

xdb

Reports can be easily created with SQL code of essentially unlimited scope including spatial aspects.

e.g. How many samples were completed in the year 2012 within a lease:

SELECT count(sample.sample_id), lease.lease_id
FROM surf.sample , ref.lease
WHERE ST_Within(sample.geom, lease.geom)
and EXTRACT(YEAR from sample.load_date) = '2012'
GROUP BY lease.lease_id;

Views, updatable views, materialized views, recursive views, WITH functions (common table expressions) can be used for reports/analysis that may be needed regularly.
Also the many built-in functions (spatial and non-spatial) are very useful.
User defined functions can be developed in C and SQL and procedural languages including PL/pgSQL, PL/Tcl, PL/Perl, and PL/Python are also available for PostgrSQL.