<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Scanning Pages &#187; postgresql</title>
	<atom:link href="http://scanningpages.wordpress.com/category/postgresql/feed/" rel="self" type="application/rss+xml" />
	<link>http://scanningpages.wordpress.com</link>
	<description>Steve Singer&#039;s blog on databases, GIS and other software like things</description>
	<lastBuildDate>Thu, 09 May 2013 17:05:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='scanningpages.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Scanning Pages &#187; postgresql</title>
		<link>http://scanningpages.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://scanningpages.wordpress.com/osd.xml" title="Scanning Pages" />
	<atom:link rel='hub' href='http://scanningpages.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Pl/Python talk at Pycon Canada</title>
		<link>http://scanningpages.wordpress.com/2012/11/13/plpython-talk-at-pycon-canada/</link>
		<comments>http://scanningpages.wordpress.com/2012/11/13/plpython-talk-at-pycon-canada/#comments</comments>
		<pubDate>Tue, 13 Nov 2012 03:54:25 +0000</pubDate>
		<dc:creator>scanningpages</dc:creator>
				<category><![CDATA[postgresql]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[pyconca]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://scanningpages.wordpress.com/?p=561</guid>
		<description><![CDATA[I spent the weekend attending Pycon Canada where I gave a talk on Pl/Python. I want to thank the conference organizers for putting on an excellent conference. I am told that this was the first time Pycon had a regional conference in Canada and that it was put together by a group of volunteers in [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=561&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I spent the weekend attending Pycon Canada where I gave a talk on Pl/Python.  I want to thank the conference organizers for putting on an excellent conference.  I am told that this was the first time Pycon had a regional conference in Canada and that it was put together by a group of volunteers in less than 6 months.</p>
<p>One of my favourite parts of local/regional conferences  held on weekends is that they tend to attract attendees who are passionate about computers and technology.  The people who I spoke with at the conference were there because they wanted to be there,not because there boss wanted them to be there, and either loved Python or wanted to learn more about it.  I&#8217;ve attended many great PostgreSQL conferences over the past few years but it was nice to spend sometime talking with people from broader development backgrounds.</p>
<p>In my discussions with people at the conference I noticed a trend. People I spoke with who are working at companies that did Python development tended to be using PostgreSQL. The ones that weren&#8217;t currently using PostgreSQL were using MySQL and talking about moving to PostgreSQL or were apologetic for still being on MySQL. The MySQL users were often apologizing before I told them that I was a PostgreSQL contributor.  Some of the MySQL users also mentioned that they were using non-Oracle forks like Percona.</p>
<p>This was in contrast to the people at the Python conference that described their workplaces as doing primarily Java development. The Java development shops tended to be using Oracle or SQL Server. I admit that the sample size of of the Java developers wasn&#8217;t that big (this was a Python conference after all) but my observations are worth keeping in mind since they might be indicating a pattern. Other people have commented about the popularity of PostgreSQL in the Ruby community.</p>
<p>I wonder how much of this observations is because older written in Java are already using SQL Server/Oracle and there hasn&#8217;t been a strong enough driver to change to PostgreSQL.  While newer software projects are tending to choose Python or Ruby over Java and at the same time picking a FLOSS database such as PostgreSQL where they don&#8217;t have to worry about migrating a legacy application.</p>
<p>My talk on writing stored functions in Pl/Python was well received.  A lot of people saw appeal in being able to write their stored functions in Python instead of pl/SQL but that shouldn&#8217;t be a surprise considering  this was a Python conference.</p>
<p>My slides are available <a href='http://scanningpages.files.wordpress.com/2012/11/python_in_database_pyconca2012.pdf'>here</a>, the video of the talk is posted at <a href="http://pyvideo.org/video/1592/python-in-your-database" target="_blank">pyvideo</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scanningpages.wordpress.com/561/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scanningpages.wordpress.com/561/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=561&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scanningpages.wordpress.com/2012/11/13/plpython-talk-at-pycon-canada/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/42e7367ea86bb9c5fc44b02c814d9e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scanningpages</media:title>
		</media:content>
	</item>
		<item>
		<title>PGCon2012 &#8211; Making Maps</title>
		<link>http://scanningpages.wordpress.com/2012/05/22/pgcon2012-making-maps/</link>
		<comments>http://scanningpages.wordpress.com/2012/05/22/pgcon2012-making-maps/#comments</comments>
		<pubDate>Tue, 22 May 2012 01:16:34 +0000</pubDate>
		<dc:creator>scanningpages</dc:creator>
				<category><![CDATA[openstreetmap]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[fosslc]]></category>
		<category><![CDATA[gis]]></category>
		<category><![CDATA[mapnik]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[osm]]></category>
		<category><![CDATA[pgcon]]></category>
		<category><![CDATA[postgis]]></category>
		<category><![CDATA[qgis]]></category>
		<category><![CDATA[tilemill]]></category>

		<guid isPermaLink="false">http://scanningpages.wordpress.com/?p=515</guid>
		<description><![CDATA[Slides from my 2012 PGCon presentation Making your Own Maps are now available The presentation covered Common reasons people render their own maps Where to get OpenStreetMap data and how to load it into your PostGIS database How to use Tilemill to design your own map style How to render map tiles, both statically and [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=515&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Slides from my 2012 PGCon presentation <a href="http://www.pgcon.org/2012/schedule/events/432.en.html" target="_blank"><em>Making your Own Maps</em></a> are now  <a href="http://scanningpages.files.wordpress.com/2012/05/pgcon_makingmaps2012.pdf">available</a></p>
<p><a href="http://scanningpages.files.wordpress.com/2012/05/pgcon_makingmaps2012.pdf"><img src="http://scanningpages.files.wordpress.com/2012/05/pgcon2012.png?w=300&#038;h=225" alt="" title="pgcon2012" width="300" height="225" class="aligncenter size-medium wp-image-516" /></a></p>
<p>The presentation covered</p>
<ul>
<li>Common reasons people render their own maps</li>
<li>Where to get OpenStreetMap data and how to load it into your PostGIS database</li>
<li>How to use Tilemill to design your own map style</li>
<li>How to render map tiles, both statically and dynamically </li>
<li>How to use OpenLayers to display your map</li>
</ul>
<p>The presentation was recorded.  I will update this post when the recording comes online.</p>
<p>I&#8217;ve been a regular attendee of PGCON since the first year it was held in Ottawa.  Like past years I enjoyed the conference and I would like to thank Dan Langille for putting together another first-rate conference.  My favourite part of PostgreSQL conferences is meeting and reconnecting with users people in the community.   </p>
<p>Updated: The video is available <a href="http://www.youtube.com/watch?v=yctOoHoiQJ4">here</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scanningpages.wordpress.com/515/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scanningpages.wordpress.com/515/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=515&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scanningpages.wordpress.com/2012/05/22/pgcon2012-making-maps/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/42e7367ea86bb9c5fc44b02c814d9e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scanningpages</media:title>
		</media:content>

		<media:content url="http://scanningpages.files.wordpress.com/2012/05/pgcon2012.png?w=300" medium="image">
			<media:title type="html">pgcon2012</media:title>
		</media:content>
	</item>
		<item>
		<title>10 years of PostgreSQL replication</title>
		<link>http://scanningpages.wordpress.com/2012/02/06/10-years-of-postgresql-replication/</link>
		<comments>http://scanningpages.wordpress.com/2012/02/06/10-years-of-postgresql-replication/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 12:26:18 +0000</pubDate>
		<dc:creator>scanningpages</dc:creator>
				<category><![CDATA[postgresql]]></category>
		<category><![CDATA[birthday]]></category>
		<category><![CDATA[dbmirror]]></category>
		<category><![CDATA[navtech]]></category>
		<category><![CDATA[replication]]></category>

		<guid isPermaLink="false">http://scanningpages.wordpress.com/?p=477</guid>
		<description><![CDATA[February 6&#8242;th 2012 marks the 10 year anniversary of the open source release of the DBMirror replication system. DBMirror was not the first PostgreSQL replication solution to be released but it was the first one I was involved with. In the summer of 2001 I was working for Navtech System Support, an aviation software company. [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=477&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>February 6&#8242;th 2012 marks the 10 year anniversary of the open source <a href="http://archives.postgresql.org/pgsql-patches/2002-02/msg00004.php" target="_blank">release</a> of the DBMirror replication system.  DBMirror was not the first PostgreSQL replication solution to be released but it was the first one I was involved with.</p>
<p>In the summer of 2001 I was working for <a href="http://www.navtech.aero" target="_blank">Navtech System Support</a>, an aviation software company.  We were using PostgreSQL 6.x to store data for one of our applications. We needed to have an up to date copy of the database available on servers at a remote site.  We also needed a standby database server in case our primary server failed.<br />
<span id="more-477"></span><br />
PostgreSQL didn&#8217;t have any built in replication but it did have triggers. My colleagues at Navtech and myself figured that if we wrote a trigger that captured a record of all changes made to a database table we would then know what changes needed to be made on a replica to keep it up to date with the master.</p>
<p>I wrote the initial version of DBMirror over a few weeks during the summer of 2001 targetting PostgreSQL 7.1.  I no longer have a copy of the original version but I think it only stored the primary key of each row and referenced the original table while replicating.  In the September/October time-frame I spent a few more weeks reworked DBMirror into the form we released it in.  This version stored the entire contents of a modified row.  This is was the first version that saw production use.</p>
<p>In February of 2002 the management team at Navetch was kind enough to allow us too open-source DBMirror.  DBMirror was included with the PostgreSQL source code as contrib/dbmirror where it remained as a contrib module until 2007. No one tracks how many users any particular PostgreSQL replication solution has (or had) but based on mailing list traffic DBMirror was far more popular than contrib/rserv, or any of the other options available until Slony become more mature almost 4 years later.</p>
<p>DBMirror was not particularly efficient, it stored each column of a replicated table in its own row of the pendingData table, the replication daemon was written in perl and the query to approximate the commit order taxed the database server.  The cleanup script also created a lot of work for vacuum.</p>
<p>The biggest strength DBMirror had going for it was that it was simple to setup and it was flexible.  People could install DBMirror and replicate their database after reading a three page README file.  The replication daemon was written in perl and was easy to understand.  Many people customized dbmirror.pl to perform site specific tasks like renaming tables or excluding rows that matched a particular regex.</p>
<p>I haven&#8217;t modified the dbmirror code in years and I would be surprised if there were many dbmirror installations still running.  I am truly grateful that I was given the opportunity to develop and release DBMirror.  I continue to be involved with PostgreSQL replication as a Slony developer. I also assist with built in replication where by skills and time allow.</p>
<p>In the past 10 years PostgreSQL replication has come a long way from the few thousand lines of C and perl code that made up dbmirror.  I look forward to the advances in replication we will see in the next 10 years.</p>
<p>It has been years since I have heard from the other people at Navtech who were involved in the development, testing and deployment of DBMirror.  If any of them are reading this they should send me a note.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scanningpages.wordpress.com/477/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scanningpages.wordpress.com/477/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=477&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scanningpages.wordpress.com/2012/02/06/10-years-of-postgresql-replication/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/42e7367ea86bb9c5fc44b02c814d9e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scanningpages</media:title>
		</media:content>
	</item>
		<item>
		<title>PostGIS Replication @ FOSS4G</title>
		<link>http://scanningpages.wordpress.com/2011/09/18/postgis-replication-foss4g/</link>
		<comments>http://scanningpages.wordpress.com/2011/09/18/postgis-replication-foss4g/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 21:42:23 +0000</pubDate>
		<dc:creator>scanningpages</dc:creator>
				<category><![CDATA[openstreetmap]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[disaster recovery]]></category>
		<category><![CDATA[foss4g]]></category>
		<category><![CDATA[gis]]></category>
		<category><![CDATA[postgis]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[slony]]></category>

		<guid isPermaLink="false">http://scanningpages.wordpress.com/?p=413</guid>
		<description><![CDATA[My talk on PostGIS replication at FOSS4G 2011 went well. It looked like there were about 150 people in the room. Most of them had not yet deployed a PostGIS replication solution. My talk covered Slony and streaming replication. It gave an overview of different replication patterns that can crop on in the GIS space. [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=413&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>My talk on PostGIS replication at FOSS4G 2011 went well.  It looked like there were about 150 people in the room.  Most of them had not yet deployed a PostGIS replication solution.</p>
<p>My talk covered Slony and streaming replication.  It gave an overview of different replication patterns that can crop on in the GIS space.  I then gave an overview of the key features and limitation of Slony and streaming replication.</p>
<p>A video of the talk is available at <a href="http://www.fosslc.org/drupal/content/postgresql-replication-0">FOSSLC</a></p>
<p>My slides are available <a href='http://scanningpages.files.wordpress.com/2011/09/postgis_replication_foss4g_2011.pdf'>here</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scanningpages.wordpress.com/413/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scanningpages.wordpress.com/413/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=413&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scanningpages.wordpress.com/2011/09/18/postgis-replication-foss4g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/42e7367ea86bb9c5fc44b02c814d9e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scanningpages</media:title>
		</media:content>
	</item>
		<item>
		<title>Big Tent Conferences</title>
		<link>http://scanningpages.wordpress.com/2011/09/17/big-tent-conferences/</link>
		<comments>http://scanningpages.wordpress.com/2011/09/17/big-tent-conferences/#comments</comments>
		<pubDate>Sat, 17 Sep 2011 22:49:50 +0000</pubDate>
		<dc:creator>scanningpages</dc:creator>
				<category><![CDATA[openstreetmap]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[foss4g]]></category>
		<category><![CDATA[postgis]]></category>
		<category><![CDATA[sotm]]></category>

		<guid isPermaLink="false">http://scanningpages.wordpress.com/?p=401</guid>
		<description><![CDATA[This past week I attended FOSS4G in Denver, a conference run by the open-source geospatial foundation (OSGEO) that also happened to be the largest PostgreSQL conference in North America. FOSS4G is a big tent conference that attracted about 900 attendees from all over the world with over 400 of them from the United States, over [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=401&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>This past week I attended <a href="http://2011.foss4g.org" target="_blank">FOSS4G</a> in Denver, a conference run by the open-source geospatial foundation (<a href="http://www.osgeo.org" target="_blank">OSGEO</a>) that also happened to be the largest PostgreSQL conference in North America.</p>
<p>FOSS4G is a big tent conference that attracted about 900 attendees from all over the world with over 400 of them from the United States, over 50 from Canada.<br />
A big tent conference is a conference is similar to a big-tent political party.  The idea is appeal to a broad base of people by catering to as many groups as possible while keeping true to some key common themes.  Out of the 900 people at the conference I&#8217;d say 75% raised their hands when asked if it was their first FOSS4G.   Last years FOSS4G was held in Europe and also had over 800 attendees.<br />
<span id="more-401"></span><br />
At FOSS4G the common theme is open source geo-spatial software.  This includes open-source desktop GIS systems like QGIS and GRASS.  It includes open source map rendering platforms like Mapserver and Mapnik.  It also includes open source spatial databases such as PostGIS and MongoDB.   The tent is also big enough to include commercial vendors such as ESRI, Safe(authors of FME) who produce commercial products that interface with some open-source geospartial software.   Many of the software packages (open-source and commercial) represented at the conference compete with each other but they are able to share the same tent.   At the opening reception one attendee (who I won&#8217;t name) said <em>&#8220;I&#8217;m need to find Chris Schmidt and tell him why OpenLayers sucks</em>&#8221;  conferences that get everyone under one roof for a week allow us to learn from each other so we can improve our software, our documentation and our communities.  It is much harder to have a flame-war on a mailing list with someone you have sat down and had a beer with than it is to have a flame-war with someone you have never met.</p>
<p>At FOSS4G almost everyone I spoke to used PostGIS in some fashion, some of them used couchDB or MongoDB for tasks, others had legacy Oracle Spatial or ESRI systems but everyone was aware of PostGIS and most had used it in some fashion.   If you are running PostGIS then you are running PostgreSQL. FOSS4G 2011 was the largest collection of PostgreSQL users under one roof in North America to date. As a member of the PostgreSQL community I feel we need to do a better job at making sure that geospatial types feel welcome in our community.   Excluding the core PostGIS developers I recognized less than 5 people from the PostgreSQL community at the conference and most of us were there because of our connections to other communities.  Having said that, most people I spoke to said that they loved PostGIS and PostgreSQL.</p>
<p>The flight home from FOSS4G is also a good time to reflect on what it means to be a community conference.</p>
<ul>
<li> Each year OSGEO asks for submissions/proposals from the community on groups that want to host the next FOSS4G.  An OSGEO committee examines these submissions and selects a host city for the next conference.</li>
<li> OSGEO moves the conference around the world each year.  They won&#8217;t hold the conference in the same continent two years in a row.  This makes it easier for people in different parts of the world too attend.  It also means that when the conference is in your backyard you make a special effort to attend because it probably isn&#8217;t coming back for at least three years.</li>
<li> FOSS4G has a call for papers, the papers are then voted on by the wider community as an input into the paper selection processes.  Anyone in the community can have input into which talks are selected.</li>
<li> After FOSS4G a financial report on the conference along with many other documents used in planning the conference are published in a subversion repository.  This acts as a resource for future groups considering hosting FOSS4G.  It also means that the revenues and expenses are public so people can can see where the money goes.</li>
<li> FOSS4G does not just appeal to developers.  In addition to developers and sysadmins there where many cartographers and geographers at the conference</li>
</ul>
<p>Next year FOSS4G will be held in Bejing.  Various political, cultural, logistical and financial reasons will make it hard for many of the American attendees to go to FOSS4G.  Some people in Denver were talking about how there should be a North American FOSS4G next year as well. My thoughts on this are</p>
<ul>
<li>It is important to not dilute the FOSS4G brand, FOSS4G is the big geo-spatial conference that travels around the world.  If you start splitting the FOSS4G brand you will soon end up with  a FOSS4G-EU, FOSS4G-US , FOSS4G-Asia instead of a FOSS4G.   Other communities do this (*BSD as an example).   Figure out the relationship between FOSS4G, OSGEO and regional conferences before someone announces FOSS4G-US, maybe these regional conferences should be called something other than FOSS4G</li>
<li> If you are thinking about creating another North American geo-spatial conference think about what other communities your conference can reach out to  (OSM, PostgreSQL, Python, etc&#8230;).  State of the Map was fun for a lot of the same reasons PGCon is fun.  You get to spend a few days meeting and hanging out with people that you regularly chat with online and everyone shares a deep passion of a very specific project.  A lot of the fun I had with FOSS4G was from the energy of being at such a large conference.</li>
<li> If you do hold some sort of regional conference, for god sakes don&#8217;t hold the conference two weeks before the Bejing conference.  Space the conferences out so that it is easier for speakers, attendees and sponsors to attend both.  I think the next year will turn out to be a great year for the struggling OpenStreetMap community in the US because of the interest and enthusiasm generated at  SOTM and FOSS4G.  I hope FOSS4G in Bejing brings a lot more great Asian contributors into the open source geospatial tent next year.</li>
</ul>
<p>It feels like the plane is descending.  I will try to send this off once I&#8217;m home.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scanningpages.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scanningpages.wordpress.com/401/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=401&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scanningpages.wordpress.com/2011/09/17/big-tent-conferences/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/42e7367ea86bb9c5fc44b02c814d9e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scanningpages</media:title>
		</media:content>
	</item>
		<item>
		<title>Denver Day 1, What&#8217;s new in PostgreSQL 9.1</title>
		<link>http://scanningpages.wordpress.com/2011/09/12/denver-day-1-whats-new-in-postgresql-9-1/</link>
		<comments>http://scanningpages.wordpress.com/2011/09/12/denver-day-1-whats-new-in-postgresql-9-1/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 06:09:43 +0000</pubDate>
		<dc:creator>scanningpages</dc:creator>
				<category><![CDATA[openstreetmap]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[fosslc]]></category>
		<category><![CDATA[osm]]></category>
		<category><![CDATA[sotm]]></category>
		<category><![CDATA[sotm11]]></category>

		<guid isPermaLink="false">http://scanningpages.wordpress.com/?p=381</guid>
		<description><![CDATA[Saturday was my first full day in Denver for the OpenStreetMap State Of The Map conference. A few years ago I presented a talk at PGCon on OpenStreetMap. I have now returned the favour and presented a PostgreSQL talk (What&#8217;s new in PostgreSQL 9.1) at an OpenStreetMap conference. The talk itself went well, the talk [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=381&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Saturday was my first full day in Denver for the OpenStreetMap<a href="http://www.stateofthemap.org"> State Of The Map</a> conference.  A few years ago I presented a talk at <a href="http://www.pgcon.org/2009/schedule/events/141.en.html">PGCon</a> on OpenStreetMap.  I have now returned the favour and presented a PostgreSQL talk (What&#8217;s new in PostgreSQL 9.1) at an OpenStreetMap conference.</p>
<p><span id="more-381"></span></p>
<p>The talk itself went well, the talk immediately before mine was on <em>Walking Papers</em> and had standing room only. Many people stayed on for my talk leaving me a room with a good crowd.  The audience for this talk was the largest of any talks I&#8217;ve presented so far (I&#8217;m hoping my PostGIS replication talk I present at FOSS4G later in the week will top that).  During the lunch break I spoke with a number of people who seemed excited about unlogged tables and KNN. </p>
<p>A video of the talk is available from FOSSLC <a href="http://www.fosslc.org/drupal/content/whats-new-postgresql-91" target="_blank">here</a>.</p>
<p>You can also download a  <a href='http://scanningpages.files.wordpress.com/2011/09/sotm_2011_pg91.pdf'>PDF of my slides</a> </p>
<p>I also want to mention the large number of people who have come up to me since the talk and told me how much they like PostgreSQL and PostGIS and how them and their customers are using PostgreSQL or in the process of moving to it from something like Oracle Spatial.  You tend to not meet these people at PostgreSQL specific conferences because for them PostgreSQL is just a tool that solves there problems, and just works.</p>
<p>I will try to post regularly while I&#8217;m in Denver this week, many of the posts won&#8217;t get picked up by the planet.postgresql.org aggregator so check the blog directly if you want to follow all of my Denver adventures.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scanningpages.wordpress.com/381/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scanningpages.wordpress.com/381/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=381&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scanningpages.wordpress.com/2011/09/12/denver-day-1-whats-new-in-postgresql-9-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/42e7367ea86bb9c5fc44b02c814d9e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scanningpages</media:title>
		</media:content>
	</item>
		<item>
		<title>PostgreSQL replication talk at FOSSLC SC2011</title>
		<link>http://scanningpages.wordpress.com/2011/08/27/postgresql-replication-talk-at-fosslc-sc2011/</link>
		<comments>http://scanningpages.wordpress.com/2011/08/27/postgresql-replication-talk-at-fosslc-sc2011/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 22:27:24 +0000</pubDate>
		<dc:creator>scanningpages</dc:creator>
				<category><![CDATA[postgresql]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[fosslc]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[slony]]></category>

		<guid isPermaLink="false">http://scanningpages.wordpress.com/?p=367</guid>
		<description><![CDATA[The slides from my PostgreSQL replication talk at FOSSLC are available here. The talk covers both Slony and Streaming replication. The key points covered in the talk are Why use replication Some common load balancing architectures 6 Simple steps to setting up Slony 5 Simple steps to setting up streaming replication I will update this [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=367&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The slides from my PostgreSQL replication talk at FOSSLC are available <a href='http://scanningpages.files.wordpress.com/2011/08/replication_aug20111.pdf'>here</a>.</p>
<p>The talk covers both Slony and Streaming replication.  The key points covered in the talk are</p>
<ul>
<li>Why use replication</li>
<li>Some common load balancing architectures</li>
<li>6 Simple steps to setting up Slony</li>
<li>5 Simple steps to setting up streaming replication</li>
</ul>
<p>I will update this post to link to a video of the talk when FOSSLC makes it available.</p>
<p>Updated: A video of the presentation is available at <a href="http://http://www.fosslc.org/drupal/content/postgresql-replication-0">here</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scanningpages.wordpress.com/367/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scanningpages.wordpress.com/367/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=367&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scanningpages.wordpress.com/2011/08/27/postgresql-replication-talk-at-fosslc-sc2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/42e7367ea86bb9c5fc44b02c814d9e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scanningpages</media:title>
		</media:content>
	</item>
		<item>
		<title>New Features in Slony 2.1</title>
		<link>http://scanningpages.wordpress.com/2011/07/21/new-features-in-slony-2-1/</link>
		<comments>http://scanningpages.wordpress.com/2011/07/21/new-features-in-slony-2-1/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 01:08:53 +0000</pubDate>
		<dc:creator>scanningpages</dc:creator>
				<category><![CDATA[postgresql]]></category>
		<category><![CDATA[slony]]></category>

		<guid isPermaLink="false">http://scanningpages.wordpress.com/?p=325</guid>
		<description><![CDATA[Last week the Slony team released beta3 of Slony 2.1.0. I thought it would be a good idea to blog about some of the changes we have made in Slony 2.1. My personal theme for this release has been usability. I have overheard people complaining about the usability of Slony and hope that this changes [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=325&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Last week the Slony team released beta3 of Slony 2.1.0.  I thought it would be a good idea to blog about some of the changes we have  made in Slony 2.1.   My personal theme for this release has been usability.  I have overheard people complaining about the usability of Slony and hope that this changes go towards improving it.<br />
<span id="more-325"></span></p>
<p><strong>Bulk Adding of Tables</strong><br />
In previous Slony versions you had to issue a &#8216;set add table&#8217; or &#8216;set add sequence&#8217; command for every table you wanted to replicate.  We have added the ability to use regular expressions to specify a set of tables (or sequences).  For example<br />
<code><br />
	set add table( set id=1, tables='public.*');<br />
	set add sequences(set id=1, tables='public.foo_.*seq');<br />
       set add tables(set id=1, tables='public.foo_[1234]',add sequences=true);<br />
</code></p>
<p><strong>Improved Monitoring</strong><br />
A new table sl_component has been added to Slony that can be used to get insight into the current activities of your slon process.<br />
On each node that a slon is running on sl_component will contain a row for each active thread.  As the components of slon do interesting things they will update sl_component.</p>
<p><strong>Implicit Wait For</strong><br />
Properly written slonik scripts are filled with this &#8216;<em>wait for event(&#8230;)</em>&#8216; commands.  The problem is that few people understand when you need them. As a result a lot of people leave out &#8216;<em>wait for event</em>&#8216; commands when they need them.  Slony 2.1.0 will implicitly perform a  <em>&#8216;wait for event&#8217;</em> in between other commands within a slonik script where they are required.  When using slonik you should keep a few things in mind</p>
<ul>
<li>Having multiple slonik scripts running at the same time is a bad idea and will confuse the implicit <em>wait for</em> behaviours</li>
<li> Slonik will perform an implicit <em>wait for</em> in between slonik commands whenever the event node changes</li>
<li> Before slonik submits a<em> SUBSCRIBE SET</em> command it will wait until the provider node is caught up with all other nodes in the cluster</li>
<li> Before slonik submits a <em>DROP NODE</em> event it will wait until all other nodes are caught up.</li>
<li> Before slonik submits a CLONE NODE command slonik will wait until the node being cloned is caught up</li>
<li> Before a CREATE SET command slonik will wait until any outstanding DROP SET commands have been confirmed by the entire cluster</li>
<li><em>wait for event</em> commands have never worked in a TRY block.  If you have commands inside of a try block that require an <em>wait for event</em> then slonik will now abort your script from inside the TRY block.  This means that some scripts that worked in previous versions of Slony will now abort.</li>
</ul>
<p>What this means is that in the above situations slonik will wait until your cluster is caught up before submitting commands.  For example if you have a node that is a few hours behind and want to drop a different node, that drop node command won&#8217;t happen until your behind node has caught up.    The implicit &#8216;wait for&#8217; behaviour can be disabled with a slonik command line switch but remember we made these changes to avoid configuration race conditions.</p>
<p><strong>TRUNCATE TABLE support</strong><br />
If your running against PostgreSQL 8.4 or higher Slony will now replicate TRUNCATE commands</p>
<p><strong>Better performance when Slony is behind</strong><br />
Many people have experienced situations where a node in their cluster gets behind.  When this happens the sl_log tables grow and pulling data from a provider to a subscriber to takes so long that the cluster can&#8217;t catch up.  The query to pull data from sl_log_1 or sl_log_2 was causing a  sequential scan of a large table. The queries used for pulling data from the sl_log tables have been modified, they should now use the index when backlogged resulting in better performance.</p>
<p>These are not the only changes in Slony 2.1.0 just some of my favourite picks.   Now is a great time to try the beta out and let us know what you think.   The more people that try 2.1.0 while it is a beta or release candidate means the less change there will be of bugs making into the 2.1.0 release.  </p>
<p>I look forward to reading reports of both successful tests and bugs found during testing.</p>
<p><em>Note: The regular expressions in my &#8216;set add table&#8217; examples don&#8217;t do exactly what most people intend. There is a &#8216;bug&#8217; in my example, fixing it might expose a bug in 2.1.0 beta3.  Can anyone spot it by testing?</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scanningpages.wordpress.com/325/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scanningpages.wordpress.com/325/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=325&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scanningpages.wordpress.com/2011/07/21/new-features-in-slony-2-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/42e7367ea86bb9c5fc44b02c814d9e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scanningpages</media:title>
		</media:content>
	</item>
		<item>
		<title>September Conferences</title>
		<link>http://scanningpages.wordpress.com/2011/06/24/september-conferences/</link>
		<comments>http://scanningpages.wordpress.com/2011/06/24/september-conferences/#comments</comments>
		<pubDate>Fri, 24 Jun 2011 03:20:31 +0000</pubDate>
		<dc:creator>scanningpages</dc:creator>
				<category><![CDATA[openstreetmap]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[denver]]></category>
		<category><![CDATA[foss4g]]></category>
		<category><![CDATA[osm]]></category>
		<category><![CDATA[replication]]></category>
		<category><![CDATA[slony]]></category>
		<category><![CDATA[sotm]]></category>

		<guid isPermaLink="false">http://scanningpages.wordpress.com/?p=297</guid>
		<description><![CDATA[I&#8217;m planning on attending two conferences this September in Denver. The first conference is the annual OpenStreetMap &#8216;State Of The Map&#8216; September 9-11. This year will mark the first time since I&#8217;ve been involved with OpenStreetMap that the main State Of The Map conference has been held in North America. I am looking forward to [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=297&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m planning on attending two conferences this September in Denver.  The first conference is the annual OpenStreetMap <a href="http://http://stateofthemap.org/">&#8216;<em>State Of The Map</em></a>&#8216; September 9-11.  This year will mark the first time since I&#8217;ve been involved with OpenStreetMap that the main <em>State Of The Map</em> conference has been held in North America.  I am looking forward to putting faces to names and meeting lots of awsome mappers.  I might be giving a talk on new features in PostgreSQL 9.1 at the conference but they haven&#8217;t yet accepted talks or announced the schedule.</p>
<p>Following State Of the Map I will be hanging around in Denver for<a href="http://2011.foss4g.org"> FOSS4G 2011</a> (September 12-16).  FOSS4G is the annual conference for  open source geo-spatial software.  I will be giving a talk on <em>&#8216;PostGIS replication</em>&#8216;  where I will give an overview of built in replication and Slony.   My blog <a href="http://scanningpages.wordpress.com/2010/10/09/9-0-streaming-replication-vs-slony/">post</a> comparing Slony and 9.0 replication is by far the most popular post on this blog, and the talk will expand on that material.</p>
<p>They are expecting about 1000 people to attend FOSS4G this year.  I am expecting there to be a lot of maps and talk about maps. In addition to my talk there are many other PostGIS/PostgreSQL talks on the <a href="http://2011.foss4g.org/program/session-schedule">schedule</a>.  If your going to be attending a conference related to databases this September what better place to be than Denver? The early registration discounts end on June 30&#8242;th so remember to register before the price goes up</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scanningpages.wordpress.com/297/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scanningpages.wordpress.com/297/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=297&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scanningpages.wordpress.com/2011/06/24/september-conferences/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/42e7367ea86bb9c5fc44b02c814d9e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scanningpages</media:title>
		</media:content>
	</item>
		<item>
		<title>Testing streaming replication with clustertest</title>
		<link>http://scanningpages.wordpress.com/2011/05/29/testing-streaming-replication-with-clustertest/</link>
		<comments>http://scanningpages.wordpress.com/2011/05/29/testing-streaming-replication-with-clustertest/#comments</comments>
		<pubDate>Sun, 29 May 2011 20:21:23 +0000</pubDate>
		<dc:creator>scanningpages</dc:creator>
				<category><![CDATA[postgresql]]></category>
		<category><![CDATA[clustertest]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[pgcon]]></category>
		<category><![CDATA[replication]]></category>

		<guid isPermaLink="false">http://scanningpages.wordpress.com/?p=262</guid>
		<description><![CDATA[clustertest is the distributed testing framework that we built for testing Slony. While in Ottawa for PGCon, I modified it such that clustertest can be used to test the streaming replication features built into PostgreSQL 9.1. A repository with the changes to clustertest including a sample test script can be found at https://github.com/ssinger/clustertest-framework/tree/sync_rep_tests The clustertest [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=262&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="https://github.com/clustertest/clustertest-framework">clustertest</a> is the distributed testing framework that we built for testing Slony.   While in Ottawa for PGCon, I modified it such that clustertest can be used to test the streaming replication features built into PostgreSQL 9.1.</p>
<p><span id="more-262"></span></p>
<p>A repository with the changes to clustertest including a sample test script can be found at<br />
<a href="http://https://github.com/ssinger/clustertest-framework">https://github.com/ssinger/clustertest-framework/tree/sync_rep_tests</a></p>
<p>The clustertest framework is a Java program that runs test scripts written in Javascript using the Rhino engine.  </p>
<p><strong>Test Framework</strong><br />
The framework is built with &#8216;ant jar-coordinator&#8217;.<br />
The framework consists of </p>
<ul>
<li>a test client engine (src/info/slony/clustertest/client) that can be deployed as a client worker on remote machines that checks in with the test coordinator for work. In the below example the client engine is running within the same JVM as the test coordinator.</li>
<li>
A test coordinator (src/info/slony/clustertest/coordinator) that provides classes for interfacing with PostgreSQL commands (createdb, initdb, psql, slonik, slon etc&#8230;) and a framework for launching, running and tracking the results of javascript tests.
</li>
<li> Some utility classes common to both components</li>
</ul>
<p><strong>The Example Test</strong><br />
The example test script src/info/slony/clustertest/example/sync_rep_test.js has a Javascript class <em>Example1</em> that extends the Javascript class StreamingRepBase.</p>
<p>Some of the more interesting methods of StreamingRepBase are:</p>
<ul>
<li>initCluster()  creates a new database cluster by calling initdb and then enables streaming replication by modifying the postgresql.conf and pb_hba.conf files</li>
<li>setupSlave() copies the data directory and creates a recovery.conf file.   This method assumes that postgres is not running when it is called (it does not call pg_start_backup).</li>
<li>seedData()  Populates the disorder tables.  This should be called after disorder-1.sql has been run but before disorder-2.sql</li>
<li>generateLoad() Will create a set of client workers that will perform database transactions.  These transactions run in the background until stop() is called on the <em>ClientScript</em> object.</li>
<li>sync() will grab the current WAL write_location from the master and then wait until the replay_location() is caught up to that point</li>
<p><strong>Configuring the example test</strong><br />
The file <em>src/info/slony/clustertest/example/sync_rep_example.properties</em> contains property settings used by the test.  Settings  such as, where to find the postgresql binary files, and what ports, users and passwords to use, are set in this file.</p>
<p>To run the sample test (after editing the properties file) you would run<br />
<code>java -jar clustertest-coordinator.jar src/info/slony/clustertest/examples/sync_rep_example.js src/info/slony/clustertest/examples/sync_rep_example.properties)</code></p>
<p><strong>A sample test script</strong><br />
<em>src/info/slony/clustertest/example/sync_rep_example.js</em><br />
contains an example test script.  This script will</p>
<ol>
<li>Perform an initdb to create a new database cluster</li>
<li>Modify the postgresql.conf to use the port specified in the properties file and configure synchronous streaming replication</li>
<li>Copy the data directory to so it can act as a base backup for a slave 	</li>
<li> Perform the required config changes on the slave data directory</li>
<li>Start up both instances of PostgreSQL</li>
</ol>
<p>Once both instances of PostgreSQL are running the test script will setup the disorder schema.  disorder is a simulated retail workload that was written to test Slony.   The schema consists of tables storing orders, items, inventory and customers along with stored procedures that populate the dataset.</p>
<p>The sample script will then</p>
<ol>
<li>
 Generate some load by launching a set of concurrent clients that execute scripts (see disorder.js) that perform business transactions on the store (buy items, add inventory etc&#8230;) .    </li>
<li>
The load will run for a minute then it is stopped. The test script will then wait until the slave database is caught up in applying the WAL for these transactions. </li>
<li>
  The testing framework compares the contents of the two databases to make sure all data is visible on the slave.</li>
<li>The testing framework then starts up a long running transaction on the slave. This transaction will read all rows in do_inventory and then sit idle with the transaction open. </li>
<li>While the transaction on the slave  is open,  the test script will generates more load on the master and verifies that the order count is  increasing.   The test script also periodically vacuums the do_inventory table</li>
<li>The transaction load will run for 5 minutes.  Then the test script will verify that the original slave transaction has in fact been aborted. We expect the vacuum to invoke the cancellation behaviour in PostgreSQL 9.1 for slaves.  If this does not happen the test records a failure.</li>
</ol>
<p>When the test run finishes the results can be viewed in the results/$testrun/testResult.test.txt file</p>
<p>This sample is intended to demonstrate how clustertest can be used to test PostgreSQL built-in replication. It is  not a comprehensive regression test for streaming replication.  The changes to the clustertest framework have not yet been merged into the main clusterteset git repository but are available on my github fork.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/scanningpages.wordpress.com/262/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/scanningpages.wordpress.com/262/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=scanningpages.wordpress.com&#038;blog=13081650&#038;post=262&#038;subd=scanningpages&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://scanningpages.wordpress.com/2011/05/29/testing-streaming-replication-with-clustertest/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/42e7367ea86bb9c5fc44b02c814d9e54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">scanningpages</media:title>
		</media:content>
	</item>
	</channel>
</rss>
