Wednesday, 25 May 2005

It's Alive!

Finally, after 2 weeks of frantic hacking between paid work, pgAgent is ready for testing! Anyone who follows the pgAdmin development work will already know this, however for those that don't, pgAgent is a job scheduler for PostgreSQL. Running as a service on windows and a daemon on *nix systems, it allows you to schedule jobs consisting of one or more SQL or shell/batch steps which run in sequence. Multi threading allows multiple jobs to run in parallel, and a nifty connection pooling mechanism ensures efficient resource usage on your server. Each job defined may have one or more schedules attached to it, each of which is based on an enhanced cron-style format. Management is from the pgAdmin console (of course), and the agents themselves can run on one or more machines at once.

Anyhoo, if you wanna give it a try, grab a snapshot from http://developer.pgadmin.org/snapshots/ and schedule away! Feedback is welcome of course - please send any to pgadmin-hackers@postgresql.org.

Thursday, 5 May 2005

pgAdmin moves to Subversion

So there I am, committing a whole heap of changes to the pgAdmin build system when Andreas Pflug emails me and suggest that whilst I'm at it, we could restructure the source tree to fix various issues that have cropped up since the project started. Good idea I think, however as anyone who has used it knows, you cannot move files and directories in CVS without losing the continuity of the history.

Subversion kept getting lots of good recommendations, and as it happens I was also replacing the main developement server, so after discussion and some playing with a test installation of Subversion for a while, we decide to migrate to it at the same time as we migrate to the new machine.

I won't write a full howto here, but I will include a warning about a gotcha that caught me out - to get the ViewCVS web interface runnng you need to install SWIG first, and then build and install the Subversion Python bindings - instructions for which are hidden away in subversion/bindings/swig/INSTALL in the Subversion source tarball. You will also need to use ViewCVS 1.0-dev, straight from the CVS.

So, yesterday it all went live, and so far, so good. I've made a heap of commits updating documentation and build scripts etc. and Andreas got in on the act with some source restructuring this afternoon. The only problems so far have been in ViewCVS. The first was my fault - diff's weren't working, and after 30 minutes or so of Googling and trying to understand the Python code (I don't speak Python yet), I realised it was because I hadn't installed GNU diffutils on the new dev box. D'oh! The second problem still needs investigation - the CVS Graph buttons are not showing up. It seems this is a known problem though.

Anyway, if you wanna take a look, head over to http://svn.pgadmin.org, or point your Subversion client at svn://svn.pgadmin.org/

By strange coincidence I see that the old "let's move to a new source control program" discussion is resurfacing on pgsql-hackers.... I wonder where it'll go this time?