PostgreSQL's command line utility
psql provides a
\timing which displays the time it takes
to run a statement, right down to thousandths of a millisecond.
This is very useful for debugging speed-critical statements,
especially for web-based applications where a few milliseconds either
way can make a noticeable cumulative difference.
Recently I was struggling with a particular statement which
normally executed in less than 10ms, but with the addition of a
single additional condition in the
execution time went up by a factor of five to around 50ms.
(In human terms that might not sound a lot, "only" 1/20th of a second,
but the app should be able to deliver the entire dynamic web page within
250ms - in that case 40ms is suddenly a very long time).
The usual suspects in this kind of situation - differing query plans,
lack of recent
VACUUM ANALYZE etc. - were evidently
not guilty, and no amount of SQL voodoo would make any difference.
Due to a potential security hole recently identified with the
LOAD command, security updates for currently supported
PostgreSQL versions (7.2 to 8.0) have been released.
- Mirrors: http://wwwmaster.postgresql.org/download/mirrors-ftp
- Bittorrent: http://bt.postgresql.org
Privilege-checking weaknesses with the
may permit local privilege escalations in all current versions.
Updates are expected on Friday.
PostgreSQL 8.0 has been released and is available for download.
SUSE is now making RPMs available for current PostgreSQL versions (7.2, 7.3, 7.4 and 8.0rc builds):