I recently decided to do a fresh CentOS install on a web server with a minimal amount of sites on it because it seemed easier than attempting to upgrade everything. With a fresh install I figured I would be forced to get everything completed quicker. The server was upgraded from CentOS 5.1 to CentOS 5.3 and from ISPConfig 2.X to ISPConfig 3.X. One of the virtual host configurations was for a Nagios server that monitors a fairly large list of servers running various services from basic server items like CPU, Load, Disk Space, etc. all the way to complex PostgreSQL statistics and other custom items. There are numerous Perl scripts to monitor PostgreSQL including check_pg_connections.pl, check_pg_lock_status.pl, check_pg_max_xid.pl, check_pg_queries.pl, check_pg_time.pl, and check_pg_waiting_queries.pl. The scripts use the DBD-Pg Perl module to make a connection (remote or local) to PostgreSQL servers.