<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Magnus Hagander's PostgreSQL blog - PostgreSQL</title>
    <link>http://blog.hagander.net/</link>
    <description></description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.5.2 - http://www.s9y.org/</generator>
    
    

<item>
    <title>PGDay.EU announced and call for papers</title>
    <link>http://blog.hagander.net/archives/173-PGDay.EU-announced-and-call-for-papers.html</link>
            <category>PostgreSQL</category>
    
    <comments>http://blog.hagander.net/archives/173-PGDay.EU-announced-and-call-for-papers.html#comments</comments>
    <wfw:comment>http://blog.hagander.net/wfwcomment.php?cid=173</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.hagander.net/rss.php?version=2.0&amp;type=comments&amp;cid=173</wfw:commentRss>
    

    <author>nospam@example.com (Magnus Hagander)</author>
    <content:encoded>
    &lt;p&gt;&lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/2010.pgday.eu/&#039;);&quot;  href=&quot;http://2010.pgday.eu/&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;PGDay.EU 2010&lt;/a&gt; has finally been announced. It will be in Stuttgart, Germany, on December 6th to 8th. More details available on the &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/2010.pgday.eu/&#039;);&quot;  href=&quot;http://2010.pgday.eu/&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;conference website&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We have also sent out our &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/2010.pgday.eu/callforpapers&#039;);&quot;  href=&quot;http://2010.pgday.eu/callforpapers&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;call for papers&lt;/a&gt;. If you have done something interesting with PostgreSQL, please go ahead and submit a talk! We are currently looking for talks in both English and German!&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Thu, 22 Jul 2010 17:57:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.hagander.net/archives/173-guid.html</guid>
    <category>Conferences</category>
<category>PostgreSQL</category>
<category>pgeu</category>
<category>postgresql</category>

</item>
<item>
    <title>Robotic moderation duties</title>
    <link>http://blog.hagander.net/archives/172-Robotic-moderation-duties.html</link>
            <category>PostgreSQL</category>
    
    <comments>http://blog.hagander.net/archives/172-Robotic-moderation-duties.html#comments</comments>
    <wfw:comment>http://blog.hagander.net/wfwcomment.php?cid=172</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.hagander.net/rss.php?version=2.0&amp;type=comments&amp;cid=172</wfw:commentRss>
    

    <author>nospam@example.com (Magnus Hagander)</author>
    <content:encoded>
    &lt;p&gt;Every now and then, the discussion about why it takes too long for messages to get approved when posted to some of the PostgreSQL mailinglists comes up, and it goes around a couple of laps. Maybe we get a new moderator. But eventually it comes back down to not enough people. Personally, I&#039;ve usually just found myself not having the time to keep up with moderation. So when I needed a project to learn some &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.android.com/&#039;);&quot;  href=&quot;http://www.android.com/&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;Android&lt;/a&gt; development on, I figured this could be an interesting (probably) and useful (maybe) topic.&lt;/p&gt;

&lt;p&gt;So, meet &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/github.com/mhagander/mailinglistmoderator&#039;);&quot;  href=&quot;http://github.com/mhagander/mailinglistmoderator&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;Mailinglist Moderator&lt;/a&gt;. A tiny android application that helps with the daily moderation chores for anybody moderating Mailman or Majordomo2 mailinglists (should be easy enough to add more list managers if there is any that people actually use).&lt;/p&gt;

&lt;p&gt;The application will simply enumerate all unmoderated items and let you set them to accept or reject either one by one or in batch. Personally, I&#039;ve found it makes it a *lot* more likely I will do moderation - it&#039;s literally down to 30 seconds while waiting for a bus or train, or something like that. And once the hurdle is gone, it&#039;s a lot more likely I&#039;ll end up actually moderating. I found it useful - hopefully others will as well.&lt;/p&gt;

&lt;p&gt;Here are a couple of screenshots showing what the application looks like.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://photos.smugmug.com/photos/927951521_j4Ri8-L.png&quot; width=&quot;360&quot; height=&quot;600&quot; alt=&quot;927951521_j4Ri8-L.png&quot; /&gt; &lt;img src=&quot;http://photos.smugmug.com/photos/927951506_ruNHt-L.png&quot; width=&quot;360&quot; height=&quot;600&quot; alt=&quot;927951506_ruNHt-L.png&quot; /&gt; &lt;img src=&quot;http://photos.smugmug.com/photos/928007508_KJHqf-L.png&quot; width=&quot;360&quot; height=&quot;600&quot; alt=&quot;928007508_KJHqf-L.png&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The app is available as an APK for download on my &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/github.com/mhagander/mailinglistmoderator/downloads&#039;);&quot;  href=&quot;http://github.com/mhagander/mailinglistmoderator/downloads&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;github page&lt;/a&gt;. It hasn&#039;t been published to the market now, but I&#039;ll do that if enough people find it useful and ask me for it...&lt;/p&gt;

&lt;p&gt;And of course, this is all BSD licensed open source, so any contributions are welcome!&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Thu, 08 Jul 2010 20:06:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.hagander.net/archives/172-guid.html</guid>
    <category>android</category>
<category>lists</category>
<category>mail</category>
<category>mailman</category>
<category>majordomo</category>
<category>postgresql</category>

</item>
<item>
    <title>PostgreSQL Europe Marchandise Store</title>
    <link>http://blog.hagander.net/archives/171-PostgreSQL-Europe-Marchandise-Store.html</link>
            <category>PostgreSQL</category>
    
    <comments>http://blog.hagander.net/archives/171-PostgreSQL-Europe-Marchandise-Store.html#comments</comments>
    <wfw:comment>http://blog.hagander.net/wfwcomment.php?cid=171</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blog.hagander.net/rss.php?version=2.0&amp;type=comments&amp;cid=171</wfw:commentRss>
    

    <author>nospam@example.com (Magnus Hagander)</author>
    <content:encoded>
    &lt;p&gt;We&#039;ve finally opened the merchandise store for &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.postgresql.eu/&#039;);&quot;  href=&quot;http://www.postgresql.eu/&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;PostgreSQL Europe&lt;/a&gt;. It&#039;s a chance for everybody who haven&#039;t had the chance to attend one of the many PostgreSQL events where we&#039;ve been selling mugs and shirts for a long time, as well as a chance to get some stuff that we haven&#039;t previously had available.&lt;/p&gt;

&lt;p&gt;There&#039;s close to zero earnings for PostgreSQL Europe off these purchases - we&#039;re trying to make it as cheap as we can for everybody. You are of course most welcome to &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.postgresql.eu/donate/&#039;);&quot;  href=&quot;http://www.postgresql.eu/donate/&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;donate&lt;/a&gt; some extra to the project, should you wish.&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Sat, 03 Jul 2010 17:02:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.hagander.net/archives/171-guid.html</guid>
    <category>pgeu</category>
<category>postgresql</category>

</item>
<item>
    <title>Planet integration update</title>
    <link>http://blog.hagander.net/archives/170-Planet-integration-update.html</link>
            <category>PostgreSQL</category>
    
    <comments>http://blog.hagander.net/archives/170-Planet-integration-update.html#comments</comments>
    <wfw:comment>http://blog.hagander.net/wfwcomment.php?cid=170</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.hagander.net/rss.php?version=2.0&amp;type=comments&amp;cid=170</wfw:commentRss>
    

    <author>nospam@example.com (Magnus Hagander)</author>
    <content:encoded>
    &lt;p&gt;This post is one of those seriously annoying ones that&#039;s just here to verify that the updates I&#039;ve made to the twitter integration of planet works. Since Twitter are &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/blog.twitter.com/2010/06/switching-to-oauth.html&#039;);&quot;  href=&quot;http://blog.twitter.com/2010/06/switching-to-oauth.html&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;terminating&lt;/a&gt; the type of authentication we were using, I had to change it. It is a change to a better method, but still somewhat annoying.&lt;/p&gt;

&lt;p&gt;If you&#039;re interested in looking at the code, it&#039;s up on &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/github.com/mhagander/hamn&#039;);&quot;  href=&quot;http://github.com/mhagander/hamn&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;github&lt;/a&gt; and on &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/git.postgresql.org/gitweb?p=hamn.git;a=summary&#039;);&quot;  href=&quot;http://git.postgresql.org/gitweb?p=hamn.git;a=summary&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;git.postgresql.org&lt;/a&gt;.&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Sat, 19 Jun 2010 13:54:10 +0000</pubDate>
    <guid isPermaLink="false">http://blog.hagander.net/archives/170-guid.html</guid>
    <category>planet</category>
<category>postgresql</category>

</item>
<item>
    <title>PostgreSQL infrastructure updates</title>
    <link>http://blog.hagander.net/archives/167-PostgreSQL-infrastructure-updates.html</link>
            <category>PostgreSQL</category>
    
    <comments>http://blog.hagander.net/archives/167-PostgreSQL-infrastructure-updates.html#comments</comments>
    <wfw:comment>http://blog.hagander.net/wfwcomment.php?cid=167</wfw:comment>

    <slash:comments>13</slash:comments>
    <wfw:commentRss>http://blog.hagander.net/rss.php?version=2.0&amp;type=comments&amp;cid=167</wfw:commentRss>
    

    <author>nospam@example.com (Magnus Hagander)</author>
    <content:encoded>
    &lt;p&gt;At &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.postgresqlconference.org/&#039;);&quot;  href=&quot;http://www.postgresqlconference.org/&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;PG-east&lt;/a&gt;^H^H^H^H^H^H^HJDCon here in Philly yesterday, &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/pgsnake.blogspot.com/&#039;);&quot;  href=&quot;http://pgsnake.blogspot.com/&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;Dave&lt;/a&gt; announced the infrastructure changes that we decided on late last year, and have been working on and off to get the groundwork done for over the past months (mostly off, or we&#039;d be done already). Since I&#039;ve had a number of questions around it, I&#039;m going to post a summary here.&lt;/p&gt;

&lt;p&gt;The bottom line is, we&#039;re changing - over time - how we&#039;re going to run and manage the infrastructure behind the postgresql.org services. Things like website, source code repositories, etc. The reason is simple - the way we are doing it now has become too hard to maintain, and just requires too much manual work.&lt;/p&gt;

&lt;p&gt;There are several parts to these changes. For one, we are building automated methods for a lot of things that previously required a little manual work. But even a little manual work rapidly becomes very time-consuming when you have a lot of machines - and the number of machines we have have been increasing fast over the past couple of years.&lt;/p&gt;

&lt;p&gt;The biggest change is that we will be moving our services off FreeBSD, that we use now, onto Debian GNU/Linux. At the same time, we will switch virtualization solution from FreeBSD Jails to KVM. FreeBSD jails have served us very well over time, but now that we have access to a well working KVM product that uses hardware virtualization, the gains of having full virtualization are much easier to get at.&lt;/p&gt;

&lt;p&gt;One of the main drivers for the change is that maintaining ports-based installs are just taking way too much time. The new system will be based heavily around using Debian packages and the apt system, to the point that everything being installed will always be done using &quot;meta-packages&quot; that will ensure that all our machines look the same way. This also plugs into our monitoring systems very well, making applying (security) updates across the many machines much easier. In particular, it should get rid of what&#039;s sometimes a multi-day operation to get everything security patched, due to dependencies and the slowness of updating ports.&lt;/p&gt;

&lt;p&gt;It is quite possible - in fact, I&#039;d say probable - that there are perfectly fine ways of doing this on FreeBSD. But this outlines another big reason for this change - it&#039;s simply a lot easier to find people who can do these things on a Linux based system today. Our efforts are entirely volunteer based, and in the end we just don&#039;t have people who know enough FreeBSD volunteering to do this work. In fact, we have had several people retire from the sysadmin team over the years specifically because they refuse to work with FreeBSD. We don&#039;t expect this change to magically create more volunteers, but it will make it easier to recruit in the future.&lt;/p&gt;

&lt;p&gt;The system will also automate a lot of the configuration work that needs to be done manually today, as well as automatically configure our monitoring systems (primarily Nagios and Munin) and backups. And finally, the system will automatically provision (and un-provision) users and access permissions across all machines from a central repository.&lt;/p&gt;

The code is not entirely done yet, but we do have enough in place to automatically provision and configure basic virtual machines in just minutes, as well as much&lt;p&gt;of the configuration. We have prototype deployments online, but we haven&#039;t started moving production services yet. We&#039;ll hope to get started on that shortly. It will obviously take a long time before we have migrated all services - in fact, we may never migrate &lt;strong&gt;all&lt;/strong&gt; services. The focus will obviously be on the most manpower-intensive ones first.&lt;/p&gt;

&lt;p&gt;As usual the code that&#039;s used to build these services will be published under the PostgreSQL licence once it&#039;s finished. Some security sensitive parts may be removed, but the bulk of it is very generic and should be re-usable as a whole or in parts.&lt;/p&gt;

&lt;p&gt;Another issue that&#039;s going to delay some changes is the fact that a few of our infrastructure servers are currently not VT-capable, and thus cannot run KVM. In the short term these machines will continue to run FreeBSD Jails, but eventually we want to replace these machines with more modern ones. So if you are sitting on one or more VT-capable machines with enough RAM to run a number of virtual machines, hosted in a datacenter somewhere that can provide us with multiple IP addresses and a decent availability of network and services, that you would like donate to the PostgreSQL project, please get in touch with our sysadmins team to see if this is something we can work with!&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Sat, 27 Mar 2010 13:53:00 +0000</pubDate>
    <guid isPermaLink="false">http://blog.hagander.net/archives/167-guid.html</guid>
    <category>intrastructure</category>
<category>postgresql</category>

</item>
<item>
    <title>PostgreSQL Europe election results</title>
    <link>http://blog.hagander.net/archives/169-PostgreSQL-Europe-election-results.html</link>
            <category>PostgreSQL</category>
    
    <comments>http://blog.hagander.net/archives/169-PostgreSQL-Europe-election-results.html#comments</comments>
    <wfw:comment>http://blog.hagander.net/wfwcomment.php?cid=169</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.hagander.net/rss.php?version=2.0&amp;type=comments&amp;cid=169</wfw:commentRss>
    

    <author>nospam@example.com (Magnus Hagander)</author>
    <content:encoded>
    &lt;p&gt;The elections for PostgreSQL Europe are now closed, and the full results are published on &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.postgresql.eu/elections/2/&#039;);&quot;  href=&quot;http://www.postgresql.eu/elections/2/&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;http://www.postgresql.eu/elections/2/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The PostgreSQL Europe Board would like to welcome our new board members Dave Page and Guillaume Lelarge, as well as welcome back Andreas Scherbaum who was re-elected.&lt;/p&gt;

&lt;p&gt;I would also like to personally thank Gabriele Bartolini, member of our original board and one of the initiators for PostgreSQL Europe, who will now be leaving the board. Gabriele has been instrumental in getting PostgreSQL Europe off the ground, and I&#039;m sure we will see much of him within our community in the future as well, even if he is not serving on the board.&lt;/p&gt;

&lt;p&gt;A total of 20 persons voted in the elections, out of the 39 that were eligible.&lt;/p&gt;

&lt;p&gt;Thanks to all who participated in the elections!&lt;/p&gt;

&lt;p&gt;If you have any further questions around this, please feel free to contact me or any of the other board members (old or new) directly.&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Mon, 24 May 2010 17:54:05 +0000</pubDate>
    <guid isPermaLink="false">http://blog.hagander.net/archives/169-guid.html</guid>
    <category>pgeu</category>
<category>postgresql</category>

</item>
<item>
    <title>PostgreSQL Europe - get your nominations in</title>
    <link>http://blog.hagander.net/archives/168-PostgreSQL-Europe-get-your-nominations-in.html</link>
            <category>PostgreSQL</category>
    
    <comments>http://blog.hagander.net/archives/168-PostgreSQL-Europe-get-your-nominations-in.html#comments</comments>
    <wfw:comment>http://blog.hagander.net/wfwcomment.php?cid=168</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blog.hagander.net/rss.php?version=2.0&amp;type=comments&amp;cid=168</wfw:commentRss>
    

    <author>nospam@example.com (Magnus Hagander)</author>
    <content:encoded>
    &lt;p&gt;We have now opened the nominations period for the upcoming elections to the board of PostgreSQL Europe. It&#039;s simple - anybody who is a member of PostgreSQL Europe (if you&#039;re in Europe and doing PostgreSQL stuff, as a developer, consultant or just a user, you really should be. It&#039;s &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.postgresql.eu/about/membership/&#039;);&quot;  href=&quot;http://www.postgresql.eu/about/membership/&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;easy&lt;/a&gt;!) can be a candidate to be elected. You just need to be nominated by one member (who can be yourself, just to let people know you are interested in being a candidate) and seconded by one other member - that&#039;s all.&lt;/p&gt;

&lt;p&gt;So if you&#039;re interested in this, or know somebody who should be, post your nominations to the &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/www.postgresql.eu/community/lists/&#039;);&quot;  href=&quot;http://www.postgresql.eu/community/lists/&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;pgeu-general&lt;/a&gt; mailinglist. For full details about the procedure, see &lt;a onclick=&quot;javascript: pageTracker._trackPageview(&#039;/extlink/archives.postgresql.org/pgeu-general/2010-04/msg00002.php&#039;);&quot;  href=&quot;http://archives.postgresql.org/pgeu-general/2010-04/msg00002.php&quot; onclick=&quot;window.open(this.href, &#039;_blank&#039;); return false;&quot;&gt;this email&lt;/a&gt;.&lt;/p&gt;

 
    </content:encoded>

    <pubDate>Tue, 20 Apr 2010 10:15:24 +0000</pubDate>
    <guid isPermaLink="false">http://blog.hagander.net/archives/168-guid.html</guid>
    <category>pgeu</category>
<category>postgresql</category>

</item>

</channel>
</rss>