PostgreSQL conference in Portland on October 20th

Joshua Drake, Josh Berkus and I are organizing PostgreSQL Conference Fall 2007 here in Portland, OR on October 20, 2007. We’ve got an incredible group of speakers lined up, and a great group of sponsors.

The conference is free to students, $60 for everyone else. We have a separate dinner everyone is welcome to for $10.

The whole thing is a bargain for a full day of highly-technical talks and the opportunity to meet contributors to the core of PostgreSQL, local Portland experts and a cadre of smarty pants database-lovers.

Plus, we’re raising money for PostgreSQL advocacy efforts with all money going to the non-profit organization Software in the Public Interest.

Today, we were working out the details for the schedule to add a talk from Neil Conway titled “Understanding Query Execution in PostgreSQL”, which will discuss the query planner and EXPLAIN. This will be great information for those of us who want to understand a bit more about query execution.

Speaker bios and talk abstracts should be up soon. This week, I’ll be working on getting some women-sized tshirts (woo!), A/V recording equipment and working on getting the word out at PSU that the event will be held there. I’d also like to drop some fliers off at Powells Technical, and maybe a few other user group events coming up. Let me know if you think I’ve missed a user group, or know of some other place I should drop fliers.

Plus, we’ve got our next PDXPUG meeting on Thursday, September 20th – Relational Algebra with a couple PSU PhD candidates. Rumor is that there will be mixed drinks.

synchronized scanning talk

I normally post a long email about PostgreSQL talks we have here in Portland for PDXPUG meetings. Below is a draft of what I’ll be sending to the list.

The August 16th meeting began with a short discussion of Rules vs. Triggers. I didn’t come up with an EXPLAIN operator to talk about, but had recently run into a situation where I could have implemented something as a RULE or as a TRIGGER. Jeff explained that for table partitioning, the recommendation was to use Triggers. This had to do with some odd cases where you had a query whose predicate would be altered by the RULE in such a way as to render the “window” of data’s result NULL. Hrm. We all talked about that for a while, tried to come up with an example case – which was hard. Then we tried to blame something on MySQL that will remain undiscussed. And then we moved on.

I would like to revisit rules vs. triggers, and come up with the example case!

We had a few new faces – including the leader of the PHP group – Sam! Also, Jerry was looking for someone to help him out with some SQL questions. We hope he posts some questions to the list.

Jeff’s talk was largely about his patch, with a few bits about his development environment, a patch from Simon Riggs that was related but not dependent, and a little database theory thrown in.

The fundamental idea behind Jeff’s Synchronized Scan patch is that Sequence Scans can really start at any place between 0 and N, with N being the number of records in a table. It was arbitrary, before his patch to 8.3, that all Sequence Scans were starting at 0. In the past, DBAs would just need to plan for poor or unpredictable performance when multiple sequence scans occurred.

The patch implements a system where each process keeps track of where a sequence scan is at – in a tiny piece of shared memory. Then, when a new sequence scan starts up on the same table, it is given a hint as to where to start. The effect is that the second sequence scan now asks for data that is in the cache. For any tables that are larger than cache size, and whose queries are I/O-bound, this is a big performance benefit, with no real performance penalties. So awesome!
Jeff also discussed Simon Riggs’ patch which implements a very small ring cache to service Sequence Scans. This is also a big performance improvement because it prevents cache pollution by confining sequence scan data to a small space that can’t push other cached data around. Jeff mentioned that PostgreSQL already does a pretty good job, but this patch makes the caching even more efficient.

Another topic that came up was the Linux I/O scheduling algorithms. He had originally tested his patch using Deadline, NOOP, and Anticipatory. When he tried it with CFQ more recently, it didn’t work so well. He’d also tested ZFS, which seemed to work well but needed more testing.

Mark spoke up and mentioned that Deadline worked very well in general, non-deterministic cases with PostgreSQL.

There were tons of great questions, and even a few esoteric, theoretical arguments. Very good meeting, everyone!

Afterward, the Lucky Lab was crazy busy! We drank a couple pitchers, talked about the linux kernel, and I think there was a long argument about BSNF.

We did decide that someone was going to have to give a talk on “Hypercubes and Dungeons and Dragons: what you never thought they had in common”.
Next month’s meeting with be about relational algebra, with James, Vassilis and Rafael tag-teaming. Rafael has been teaching the intro to databases class this summer at PSU, so he is ready for some real heckling. I can only hope that Randal will be able to make it.

playing scrabble

I'm trying to get better at scrabble by playing online. I've got my two-letter wordlist, and my wordfinder program at hand. Each game takes about half an hour – so four games later, i'm sitting here with the sun going down. This post will be full of random things because I can't seem to tell a consistent narrative today. The project for a party did not work out as planned, so now I am just going to use what I cut out by hand. No letterpress. It was just a little disappointment, but probably it saved me a bunch of stress in trying to work out a trade. I also partially cleaned up the leftover pear mess. Stupid fruit flies! I have some sourdough that is progressing nicely. I put in a call to a woman who might have chickens for us. I am very excited to get new chickens. Scott even accepted getting three.


With engagement a lot of women feel there's enormous pressure to show their worth. I read this article today. Getting married is a crazy process – I changed my name, invited my estranged father (who didn't show up) and my biological father, (who stole the show) and was witness to my mother's first meeting with my father since before I was born. There was that, and all the getting married parts. Now that I've had some time to reflect, the event went well. I spent time on the things that I cared about (cupcakes, postcards, art) and with the people I wanted to spend time with. I enjoyed most of the planning, and none of the aftermath. We didn't go into debt. Watching a friend's wedding unfold gave me a little insight into the way other women view the marriage process — the culmination of years of work and training. The execution of childhood fantasies. A recognition of one's worth. They are so happy. My experience was just not the same. There was joy, but no overwhelming validation. I think what's different was that I questioned my participation in every thing, except creating the vows. When we made our vows, I was aware and in the moment. Otherwise, I think that I let the situation run away with me.

descended from basques?

Myths of British Ancestry I've never been interested in geneology – the kind where you do research and visit large libraries containing long, long lists of dead people. But digging out clues about ancient people from mitochondria in currently living people is amazing. That ancient Britons came from Basque country, and that scientists figured it out, is one little bit of inspiring scientific trivia that makes me go nuts and say i want to be a meteorologist. Was that a non-sequitor? What I mean is: its the learning, people. I love the learning. And yes, I did in fact say “I want to be a meteorologist” just the other day. I would love to be one of those people pouring over big maps and solving big equations to find trajectories of storms. Or, I'd love to be a person who studies micro-climates and writes lots of stuffy-seeming reports about the state of the weather. Just the other day I was thinking that graphic design was so interesting. But then I tried to read this 8-page document on typefaces and was completely bored by the end. I can totally see that typefaces are very interesting — I mean, c'mon the father of computer science has written a million books about it. I now know that I will never be *that* into it. I like the part of graphic design that is the presentation. “Hey look at me over here doing something useful that people can see!” I think atmospheric science (seemingly paradoxically) offers something along those lines… maybe in the form of maps? Something TANGIBLE at the end that I can share. So much of the work I have done in the past 5 years is unsharable. Marketable, but unsharable. Maybe its all that damn open source shit going to my head, but I really want to give something that's worthwhile. I'm not sure that meteorology is going to be it, but it's got to be better than installing telephone sets.


S. hates backtracking. Today, he told me his theory of “lolipopping”, as he sees it. This is a way to make long runs seem less repetative, you have a loop at the end. * i just laugh at this now * used to be argument provoking * good change to be able to laugh and understand rather than get angry


I put together the recipe project today and finally put them into their chrome box. I wrote 5 or 6 of them out, and then realized that it would be a much nicer present if the authors of the recipes wrote them out themselves. I brought in all my wedding photos yesterday for duplicates to be made. It was a nice feeling to finally have them done. This Friday I should be getting them back. I also thought that I should talk to Bosco more. I read through a ton of blog entries by rms and wondered why I was so obsessive. I spent about 4 hours with chickens yesterday. It felt good.