Posts

The lies of No2AV

So I went to the No2AV website, and clicked on the link entitled "Why vote no" to see what reasons they've cooked up. Let's take a look: AV is costly They argue, as they keep arguing, that AV will cost up to an additional £250 million: "Local councils would have to waste money on costly electronic vote counting machines and expensive voter education campaigns." What about the extra £800 million they'll also have to spend on red carpets, gold-trimmed ballot papers and free meringue and strawberries served to voters as the booths? What about those? Yes, of course, there's no such cost, because they won't be used. No-one said they would need to be used. They harp on about how Australia is the only other country to use AV to vote in the lower house, but they conveniently ignore the fact that Australia doesn't even use electronic voting machines. "With ordinary families facing tough times can we really afford to spend a quarter of a bill...

PostgreSQL @ FOSDEM 2011

I returned from Brussels with Dave Page yesterday where I attended FOSDEM. It was my first time at this event and had a great time. Loads of organisations were represented there including Mozilla (promoting Firefox), LibreOffice , OpenOffice, Debian, OpenSUSE , Ubuntu , Fedora , FreeBSD, Perl, FSFE, Mandriva, Gnome, KDE, CentOS, CAcert, and many others. And of course, PostgreSQL, where I was helping out, selling various items and talking to people about Postgres itself. All the plush blue elephants were sold (and there were quite a lot), all the stress balls sold, many t-shirts and backpacks sold, and all the pins and pens were given away too. In fact the last pin was taken by a friendly Monty Widenius (creator MySQL and now MariaDB) which he put on there and then. Perl, who were our next-door neighbours, bought one of the plush PostgreSQL elephants and placed it atop their massive Perl camel , which we then declared made it pl/Perl . And one person even bought a batch of 100 str...

FOSDEM, here we come!

FOSDEM is running this weekend in Brussels, and there are a plethora of talks to attend. Naturally I'll be very interested in the PostgreSQL-related talks, and they are as follows: Sunday - 10am PL/Parrot - David Fetter will be giving his talk about this new procedural language addition. I don't actually know much about this, which is why I'm especially interested. Asynchronous Notifications for Fun and Profit - Marc Balmer's talk on asynchronous notifications in PostgreSQL will cover message brokering in distributed environments. This is, annoyingly, at the same time as David's talk. Sunday - 11am PostgreSQL extension's (sic) development - Dimitri Fontaine will be sharing his expertise on extension development, hopefully covering the subject of what he's been hard at work on: extension management within PostgreSQL itself. Sunday - 12pm Writing a user-defined type - The scarily clever Heikki Linnakangas will explain how you can create your own data t...

Performance changes in 9.1

The upcoming PostgreSQL 9.1 release is packed full of awesome new features, but let's not forget the performance improvements which will also arrive with it. Every version of PostgreSQL brings about performance improvements in various areas, and 9.1 is no different. Here's a brief overview of some, but not all, of the changes affecting performance: Checkpoints now with less spikes When checkpoints occur on a database, they can result in an I/O spike. 9.1 has the option to spread the checkpoint fsync calls out so that the system doesn't grind to a halt when flushing. In addition to this, there's been a change which will remove duplicate requests to the background writer, meaning even less I/O, so checkpoints are now lighter and smoother than ever. These changes haven't yet made it in, but they're in-progress. Integer to text casts quicker The conversion of a signed integer to text now happens in hand-coded internal code as it's faster than the previou...

count_if (expression)

Someone just posted a problem on a PostgreSQL mailing list. They had several boolean columns, but they wanted to get how many values were true for each column, but in 1 query. There are several ways to do this, but none of which are particularly elegant. Say we have the following table definition: CREATE TABLE subscribers ( subscriber text PRIMARY KEY, news boolean DEFAULT false, sport boolean DEFAULT false, promotions boolean DEFAULT false, horrible_spam boolean DEFAULT false ); INSERT INTO subscribers (subscriber, news, sport, promotions, horrible_spam) VALUES ('person_a', true, false, false, false), ('person_b', true, true, true, false), ('person_c', true, false, true, true), ('person_d', false, false, false, false), ('person_e', true, true, false, false), ('person_f', true, false, true, true), ('person_g', true, false, false, false); Now we want to get a count of how many of each subscription category has...

PGDay.EU 2010 Call for Papers ending soon!

Dave Page posted this on the European PostgreSQL mailing list, but thought I'd also put this out there... This year's European PostgreSQL Conference is due to be held on the 6 - 8th December 2010 in Stuttgart Germany ( http://2010.pgday.eu/ ). Following on from last years extremely successful event in Paris, we hope to make the show bigger and better than before, with: * A 4 star hotel venue (with spa facilities in the complex) * A special guest keynote speaker (to be announced Real Soon Now :-) ) * Multiple talk tracks in English and German * Talks for PostgreSQL hackers and users, as well as decision makers * A day of training sessions Of course, to make that happen we need talk proposals from our community members and users. We're looking for presentations aimed at developers, users and decision makers on topics such as: - Developing applications for PostgreSQL - Administering large scale PostgreSQL installations - Case studies of PostgreSQL deployments - PostgreSQL tool...

PostgreSQL docs reloaded

If you regularly reference the online PostgreSQL docs, you may have noticed that they have just had a face-lift in time for the big 9.0 release. If not, take a look . This went through quite a few revisions with input from many folk in the Postgres community. As with all things, you won't please everyone, and this is no less true in the case of this redesign. But look at this as a pilot change, where we've come up with a first version with possible "bug-fixes" to follow. I've also provided similar changes for the French version , although there's only been feedback from one person for that. Regardless, they appear to have gone with it anyway. I'm no designer, and neither are the majority of the people who contributed their recommendations, but the original cause of me wanting to make some changes is so that the examples which appear throughout the docs would be distinct from the main body text. Previously they appeared to all merge into one which ma...