<?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/"
	>

<channel>
	<title>Xaprb &#187; PostgreSQL</title>
	<atom:link href="http://www.xaprb.com/blog/category/postgresql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.xaprb.com/blog</link>
	<description>Stay curious!</description>
	<lastBuildDate>Mon, 06 Feb 2012 22:43:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>When systems scale better than linearly</title>
		<link>http://www.xaprb.com/blog/2011/10/06/when-systems-scale-better-than-linearly/</link>
		<comments>http://www.xaprb.com/blog/2011/10/06/when-systems-scale-better-than-linearly/#comments</comments>
		<pubDate>Fri, 07 Oct 2011 02:33:13 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=2493</guid>
		<description><![CDATA[I&#8217;ve been seeing a few occasions where Neil J. Gunther&#8217;s Universal Scalability Law doesn&#8217;t seem to model all of the important factors in a system as it scales. Models are only models, and they&#8217;re not the whole truth, so they never match reality perfectly. But there appear to be a small number of cases where [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2010/11/02/products-that-scale-linearly-to-hundreds-of-servers/' rel='bookmark' title='Permanent Link: Products that scale linearly to hundreds of servers'>Products that scale linearly to hundreds of servers</a></li>
<li><a href='http://www.xaprb.com/blog/2009/12/09/response-time-optimization-in-systems-that-are-queued/' rel='bookmark' title='Permanent Link: Response-time optimization in systems that are queued'>Response-time optimization in systems that are queued</a></li>
<li><a href='http://www.xaprb.com/blog/2008/08/06/how-to-scale-writes-with-master-master-replication-in-mysql/' rel='bookmark' title='Permanent Link: How to scale writes with master-master replication in MySQL'>How to scale writes with master-master replication in MySQL</a></li>
<li><a href='http://www.xaprb.com/blog/2011/04/16/subtleties-in-the-universal-scalability-law/' rel='bookmark' title='Permanent Link: Subtleties in the Universal Scalability Law'>Subtleties in the Universal Scalability Law</a></li>
<li><a href='http://www.xaprb.com/blog/2010/07/06/a-review-of-guerrilla-capacity-planning-by-neil-gunther/' rel='bookmark' title='Permanent Link: A review of Guerrilla Capacity Planning by Neil Gunther'>A review of Guerrilla Capacity Planning by Neil Gunther</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been seeing a few occasions where <a href="http://www.perfdynamics.com/">Neil J. Gunther&#8217;s</a> Universal Scalability Law doesn&#8217;t seem to model all of the important factors in a system as it scales.  Models are only models, and they&#8217;re not the whole truth, so they never match reality perfectly. But there appear to be a small number of cases where systems can actually scale a bit better than linearly over a portion of the domain, due to what I&#8217;ve been calling an &#8220;economy of scale.&#8221; I believe that the Universal Scalability Law might need a third factor (seriality, coherency, and the new factor, economy of scale).  I don&#8217;t think that the results I&#8217;m seeing can be modeled adequately with only two parameters.</p>

<p>Here are two publicly available cases that appear to demonstrate this phenomenon: Robert Haas&#8217;s recent blog post on PostgreSQL, titled <a href="http://rhaas.blogspot.com/2011/09/scalability-in-graphical-form-analyzed.html">Scalability, in Graphical Form, Analyzed</a> and Mikael Ronstrom&#8217;s post from May on MySQL (NDB) Cluster, titled <a href="http://mikaelronstrom.blogspot.com/2011/05/better-than-linear-scaling-is-possible.html">Better than Linear Scaling is Possible</a>.</p>

<p>Dr. Ronstrom&#8217;s post discusses the mechanics of the phenomenon, and speculates (I&#8217;m not sure it&#8217;s conclusive) that it is from a combination of partitioning and better use of CPU caches. Now someone needs to do the math to figure out how to include this factor into the equation.</p>

<p>The good thing about the Universal Scalability Law is how simple and applicable it is for many systems. It&#8217;s nice that this economy-of-scale factor seems to be unusual and the simpler model remains easy to apply for a large variety of tasks.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2010/11/02/products-that-scale-linearly-to-hundreds-of-servers/' rel='bookmark' title='Permanent Link: Products that scale linearly to hundreds of servers'>Products that scale linearly to hundreds of servers</a></li>
<li><a href='http://www.xaprb.com/blog/2009/12/09/response-time-optimization-in-systems-that-are-queued/' rel='bookmark' title='Permanent Link: Response-time optimization in systems that are queued'>Response-time optimization in systems that are queued</a></li>
<li><a href='http://www.xaprb.com/blog/2008/08/06/how-to-scale-writes-with-master-master-replication-in-mysql/' rel='bookmark' title='Permanent Link: How to scale writes with master-master replication in MySQL'>How to scale writes with master-master replication in MySQL</a></li>
<li><a href='http://www.xaprb.com/blog/2011/04/16/subtleties-in-the-universal-scalability-law/' rel='bookmark' title='Permanent Link: Subtleties in the Universal Scalability Law'>Subtleties in the Universal Scalability Law</a></li>
<li><a href='http://www.xaprb.com/blog/2010/07/06/a-review-of-guerrilla-capacity-planning-by-neil-gunther/' rel='bookmark' title='Permanent Link: A review of Guerrilla Capacity Planning by Neil Gunther'>A review of Guerrilla Capacity Planning by Neil Gunther</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2011/10/06/when-systems-scale-better-than-linearly/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Fundamental performance and scalability instrumentation</title>
		<link>http://www.xaprb.com/blog/2011/10/06/fundamental-performance-and-scalability-instrumentation/</link>
		<comments>http://www.xaprb.com/blog/2011/10/06/fundamental-performance-and-scalability-instrumentation/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 21:51:28 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[postgresopen]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=2490</guid>
		<description><![CDATA[This post is a followup to some promises I made at Postgres Open. Instrumentation can be a lot of work to add to a server, and it can add overhead to the server too. The bits of instrumentation I&#8217;ll advocate in this post are few and trivial, but disproportionately powerful. If all server software shipped [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2010/03/30/4-ways-that-instrumentation-is-like-sex/' rel='bookmark' title='Permanent Link: 4 ways that instrumentation is like sex'>4 ways that instrumentation is like sex</a></li>
<li><a href='http://www.xaprb.com/blog/2011/04/16/subtleties-in-the-universal-scalability-law/' rel='bookmark' title='Permanent Link: Subtleties in the Universal Scalability Law'>Subtleties in the Universal Scalability Law</a></li>
<li><a href='http://www.xaprb.com/blog/2008/07/23/using-base-instead-of-acid-for-scalability/' rel='bookmark' title='Permanent Link: Using BASE instead of ACID for scalability'>Using BASE instead of ACID for scalability</a></li>
<li><a href='http://www.xaprb.com/blog/2007/10/07/high-performance-mysql-second-edition-query-performance-optimization/' rel='bookmark' title='Permanent Link: High Performance MySQL, Second Edition: Query Performance Optimization'>High Performance MySQL, Second Edition: Query Performance Optimization</a></li>
<li><a href='http://www.xaprb.com/blog/2011/02/13/a-review-of-postgresql-9-0-high-performance-by-gregory-smith/' rel='bookmark' title='Permanent Link: A review of PostgreSQL 9.0 High Performance by Gregory Smith'>A review of PostgreSQL 9.0 High Performance by Gregory Smith</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>This post is a followup to some promises I made at Postgres Open.</p>

<p>Instrumentation can be a lot of work to add to a server, and it can add overhead to the server too.  The bits of instrumentation I&#8217;ll advocate in this post are few and trivial, but disproportionately powerful.</p>

<p>If all server software shipped with these metrics as the basic starting point, it would change the world forever:</p>

<ol>
<li>Time elapsed, in high resolution (preferably microseconds; milliseconds is okay; one-second is mostly useless).  When I ask for this counter, it simply tells me either the time of day, or the server&#8217;s uptime, or something like that.  It can be used to determine the boundaries of an observation interval, defined by two measurements. It needs to be consistent with the other metrics that I&#8217;ll explain next.</li>
<li>The number of queries (statements) that have completed.</li>
<li>The current number of queries being executed.</li>
<li>The total execution time of all queries, including the in-progress time of currently executing queries, in high resolution. That is, if two queries executed with 1 second of response time each, the result is 2 seconds, no matter whether the queries executed concurrently or serially. If one query started executing .5 seconds ago and is still executing, it should contribute .5 second to the counter.</li>
<li>The server&#8217;s total busy time, in high resolution. This is different from the previous point in that it only shows the portion of the observation interval during which queries were executing, regardless of whether they were concurrent or not.  If two queries with 1-second response time executed serially, the counter is 2. If they executed concurrently, the counter is something less than 2, because the overlapping time isn&#8217;t double-counted.</li>
</ol>

<p>In practice, these can be maintained as follows, in pseudo-code:</p>

<pre><code>
global timestamp;
global concurrency;
global busytime;
global totaltime;
global queries;

function run_query() {
  local now = time();
  if ( concurrency ) {
    busytime += now - timestamp;
    totaltime += (now - timestamp) * concurrency;
  }
  concurrency++;
  timestamp = now;

  // Execute the query, and when it completes...

  now = time();
  busytime += now - timestamp;
  totaltime += (now - timestamp) * concurrency;
  concurrency--;
  timestamp = now;
  queries++;
}
</code></pre>

<p>I may have missed something there; I&#8217;m writing this off the cuff.  If I&#8217;ve messed up, let me know and I&#8217;ll fix it. In any case, these metrics can be used to derive all sorts of powerful things through applications of Little&#8217;s Law and queueing theory, as well as providing the inputs to the Universal Scalability Law.  They should be reported by simply reading from the variables marked as &#8220;global&#8221; above, to provide a consistent view of the metrics.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2010/03/30/4-ways-that-instrumentation-is-like-sex/' rel='bookmark' title='Permanent Link: 4 ways that instrumentation is like sex'>4 ways that instrumentation is like sex</a></li>
<li><a href='http://www.xaprb.com/blog/2011/04/16/subtleties-in-the-universal-scalability-law/' rel='bookmark' title='Permanent Link: Subtleties in the Universal Scalability Law'>Subtleties in the Universal Scalability Law</a></li>
<li><a href='http://www.xaprb.com/blog/2008/07/23/using-base-instead-of-acid-for-scalability/' rel='bookmark' title='Permanent Link: Using BASE instead of ACID for scalability'>Using BASE instead of ACID for scalability</a></li>
<li><a href='http://www.xaprb.com/blog/2007/10/07/high-performance-mysql-second-edition-query-performance-optimization/' rel='bookmark' title='Permanent Link: High Performance MySQL, Second Edition: Query Performance Optimization'>High Performance MySQL, Second Edition: Query Performance Optimization</a></li>
<li><a href='http://www.xaprb.com/blog/2011/02/13/a-review-of-postgresql-9-0-high-performance-by-gregory-smith/' rel='bookmark' title='Permanent Link: A review of PostgreSQL 9.0 High Performance by Gregory Smith'>A review of PostgreSQL 9.0 High Performance by Gregory Smith</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2011/10/06/fundamental-performance-and-scalability-instrumentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Well done, Postgres Open</title>
		<link>http://www.xaprb.com/blog/2011/09/19/well-done-postgres-open/</link>
		<comments>http://www.xaprb.com/blog/2011/09/19/well-done-postgres-open/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 21:06:51 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[PostgreSQL]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=2477</guid>
		<description><![CDATA[I thought that Postgres Open 2011 was very well done. I liked the content, the location, and most especially the atmosphere, which felt much more welcoming than some PostgreSQL conferences I&#8217;ve attended. This last point bears repeating: I&#8217;d exceeded my tolerance for trash talk about MySQL at other conferences, and this event made me feel [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2011/07/19/ill-be-presenting-at-postgres-open-2011/' rel='bookmark' title='Permanent Link: I&#8217;ll be presenting at Postgres Open 2011'>I&#8217;ll be presenting at Postgres Open 2011</a></li>
<li><a href='http://www.xaprb.com/blog/2010/09/29/postgres-folks-consider-the-2011-mysql-conference/' rel='bookmark' title='Permanent Link: Postgres folks, consider the 2011 MySQL conference'>Postgres folks, consider the 2011 MySQL conference</a></li>
<li><a href='http://www.xaprb.com/blog/2010/12/06/awesome-postgresmysql-cross-pollination/' rel='bookmark' title='Permanent Link: Awesome Postgres/MySQL cross-pollination'>Awesome Postgres/MySQL cross-pollination</a></li>
<li><a href='http://www.xaprb.com/blog/2010/02/20/mk-query-digest-now-supports-postgres-logs/' rel='bookmark' title='Permanent Link: mk-query-digest now supports Postgres logs'>mk-query-digest now supports Postgres logs</a></li>
<li><a href='http://www.xaprb.com/blog/2009/03/19/open-source-database-developer-mailing-lists/' rel='bookmark' title='Permanent Link: Open-source database developer mailing lists'>Open-source database developer mailing lists</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>I thought that <a href="http://postgresopen.org/2011/">Postgres Open 2011</a> was very well done. I liked the content, the location, and most especially the atmosphere, which felt much more welcoming than some PostgreSQL conferences I&#8217;ve attended. This last point bears repeating: I&#8217;d exceeded my tolerance for trash talk about MySQL at other conferences, and this event made me feel valued again. I believe that the leaders and organizers set the tone, so I think that Selena and the committee deserve a lot of credit and thanks for the warm atmosphere.</p>

<p>I see that Selena has already announced that <a href="http://www.chesnok.com/daily/2011/09/19/postgres-open-next-year-resources-video/">there&#8217;ll be a 2012 event</a>, which is great.  I intend to support it, and I&#8217;ve already marked the date on my calendar.</p>

<p>A few people asked me what instrumentation to support scalability and performance analysis would be valuable inside PostgreSQL. The answer I gave in my talk was somewhat sidestepping the question, in hindsight, and I agreed afterwards to follow up with a blog post about it.  I&#8217;ll write that when I have a chance.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2011/07/19/ill-be-presenting-at-postgres-open-2011/' rel='bookmark' title='Permanent Link: I&#8217;ll be presenting at Postgres Open 2011'>I&#8217;ll be presenting at Postgres Open 2011</a></li>
<li><a href='http://www.xaprb.com/blog/2010/09/29/postgres-folks-consider-the-2011-mysql-conference/' rel='bookmark' title='Permanent Link: Postgres folks, consider the 2011 MySQL conference'>Postgres folks, consider the 2011 MySQL conference</a></li>
<li><a href='http://www.xaprb.com/blog/2010/12/06/awesome-postgresmysql-cross-pollination/' rel='bookmark' title='Permanent Link: Awesome Postgres/MySQL cross-pollination'>Awesome Postgres/MySQL cross-pollination</a></li>
<li><a href='http://www.xaprb.com/blog/2010/02/20/mk-query-digest-now-supports-postgres-logs/' rel='bookmark' title='Permanent Link: mk-query-digest now supports Postgres logs'>mk-query-digest now supports Postgres logs</a></li>
<li><a href='http://www.xaprb.com/blog/2009/03/19/open-source-database-developer-mailing-lists/' rel='bookmark' title='Permanent Link: Open-source database developer mailing lists'>Open-source database developer mailing lists</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2011/09/19/well-done-postgres-open/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I&#8217;ll be presenting at Postgres Open 2011</title>
		<link>http://www.xaprb.com/blog/2011/07/19/ill-be-presenting-at-postgres-open-2011/</link>
		<comments>http://www.xaprb.com/blog/2011/07/19/ill-be-presenting-at-postgres-open-2011/#comments</comments>
		<pubDate>Tue, 19 Jul 2011 20:04:03 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Scalability]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[postgresopen]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=2393</guid>
		<description><![CDATA[I&#8217;ve been accepted to present at the brand-new and very exciting Postgres Open 2011 about system scaling, TCP traffic, and mathematical modeling. I&#8217;m really looking forward to it &#8212; it will be my first PostgreSQL conference in a couple of years! See you there. Further Reading:Postgres folks, consider the 2011 MySQL conference Well done, Postgres [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2010/09/29/postgres-folks-consider-the-2011-mysql-conference/' rel='bookmark' title='Permanent Link: Postgres folks, consider the 2011 MySQL conference'>Postgres folks, consider the 2011 MySQL conference</a></li>
<li><a href='http://www.xaprb.com/blog/2011/09/19/well-done-postgres-open/' rel='bookmark' title='Permanent Link: Well done, Postgres Open'>Well done, Postgres Open</a></li>
<li><a href='http://www.xaprb.com/blog/2010/09/29/oreilly-mysql-2011-conference-cfp-is-open/' rel='bookmark' title='Permanent Link: O&#8217;Reilly MySQL 2011 conference CfP is open'>O&#8217;Reilly MySQL 2011 conference CfP is open</a></li>
<li><a href='http://www.xaprb.com/blog/2011/01/29/my-sessions-at-the-oreilly-mysql-conference-2011/' rel='bookmark' title='Permanent Link: My sessions at the O&#8217;Reilly MySQL Conference 2011'>My sessions at the O&#8217;Reilly MySQL Conference 2011</a></li>
<li><a href='http://www.xaprb.com/blog/2009/11/03/im-a-postgres-user-as-it-turns-out/' rel='bookmark' title='Permanent Link: I&#8217;m a Postgres user, as it turns out'>I&#8217;m a Postgres user, as it turns out</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been accepted to present at the brand-new and very exciting <a href="http://postgresopen.org/">Postgres Open 2011</a> about system scaling, TCP traffic, and mathematical modeling.  I&#8217;m really looking forward to it &#8212; it will be my first PostgreSQL conference in a couple of years!  See you there.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2010/09/29/postgres-folks-consider-the-2011-mysql-conference/' rel='bookmark' title='Permanent Link: Postgres folks, consider the 2011 MySQL conference'>Postgres folks, consider the 2011 MySQL conference</a></li>
<li><a href='http://www.xaprb.com/blog/2011/09/19/well-done-postgres-open/' rel='bookmark' title='Permanent Link: Well done, Postgres Open'>Well done, Postgres Open</a></li>
<li><a href='http://www.xaprb.com/blog/2010/09/29/oreilly-mysql-2011-conference-cfp-is-open/' rel='bookmark' title='Permanent Link: O&#8217;Reilly MySQL 2011 conference CfP is open'>O&#8217;Reilly MySQL 2011 conference CfP is open</a></li>
<li><a href='http://www.xaprb.com/blog/2011/01/29/my-sessions-at-the-oreilly-mysql-conference-2011/' rel='bookmark' title='Permanent Link: My sessions at the O&#8217;Reilly MySQL Conference 2011'>My sessions at the O&#8217;Reilly MySQL Conference 2011</a></li>
<li><a href='http://www.xaprb.com/blog/2009/11/03/im-a-postgres-user-as-it-turns-out/' rel='bookmark' title='Permanent Link: I&#8217;m a Postgres user, as it turns out'>I&#8217;m a Postgres user, as it turns out</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2011/07/19/ill-be-presenting-at-postgres-open-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A review of PostgreSQL 9 Administration Cookbook by Riggs and Krosing</title>
		<link>http://www.xaprb.com/blog/2011/06/08/a-review-of-postgresql-9-administration-cookbook-by-riggs-and-krosing/</link>
		<comments>http://www.xaprb.com/blog/2011/06/08/a-review-of-postgresql-9-administration-cookbook-by-riggs-and-krosing/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 15:32:27 +0000</pubDate>
		<dc:creator>Xaprb</dc:creator>
				<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://www.xaprb.com/blog/?p=2350</guid>
		<description><![CDATA[PostgreSQL 9 Administration Cookbook. By Simon Riggs and Hannu Krosing, Packt, 2010. Approximately 330 pages. (Link to publisher&#8217;s site.) This is a good book for PostgreSQL database administrators to pick up, especially if you&#8217;re new to PostgreSQL but familiar with another system such as Oracle, SQL Server, or MySQL. It has more than 80 &#8220;recipes&#8221; [...]


<strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2011/02/13/a-review-of-postgresql-9-0-high-performance-by-gregory-smith/' rel='bookmark' title='Permanent Link: A review of PostgreSQL 9.0 High Performance by Gregory Smith'>A review of PostgreSQL 9.0 High Performance by Gregory Smith</a></li>
<li><a href='http://www.xaprb.com/blog/2009/02/21/an-invitation-to-postgresql-community-members/' rel='bookmark' title='Permanent Link: An invitation to PostgreSQL community members'>An invitation to PostgreSQL community members</a></li>
<li><a href='http://www.xaprb.com/blog/2008/03/29/going-to-postgresql-conference-east/' rel='bookmark' title='Permanent Link: Going to PostgreSQL Conference East'>Going to PostgreSQL Conference East</a></li>
<li><a href='http://www.xaprb.com/blog/2008/12/13/what-are-your-favorite-postgresql-performance-resources/' rel='bookmark' title='Permanent Link: What are your favorite PostgreSQL performance resources?'>What are your favorite PostgreSQL performance resources?</a></li>
<li><a href='http://www.xaprb.com/blog/2009/04/04/postgresql-conference-east-2009-day-two/' rel='bookmark' title='Permanent Link: PostgreSQL Conference East 2009, Day Two'>PostgreSQL Conference East 2009, Day Two</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/PostgreSQL-Admin-Cookbook-Simon-Riggs/dp/1849510288?tag=xaprb-20"><img style="float:left; padding-right:10px" src="http://www.xaprb.com/blog/wp-content/uploads/2011/06/postgreql-administration-cookbook.jpg" alt="" title="postgreql-administration-cookbook" width="200" height="247" class="alignleft size-full wp-image-2351" /></a></p>

<p><a href="http://www.amazon.com/PostgreSQL-Admin-Cookbook-Simon-Riggs/dp/1849510288?tag=xaprb-20">PostgreSQL 9 Administration Cookbook</a>.  By Simon Riggs and Hannu Krosing, Packt, 2010.  Approximately 330 pages.  (<a href="http://www.packtpub.com/postgresql-9-admin-cookbook/book">Link to publisher&#8217;s site</a>.)</p>

<p>This is a good book for PostgreSQL database administrators to pick up, especially if you&#8217;re new to PostgreSQL but familiar with another system such as Oracle, SQL Server, or MySQL.  It has more than 80 &#8220;recipes&#8221; that range from quick tips to moderately detailed discussion of how to accomplish specific tasks.  The chapters and recipes are well organized, and you can either read the book from start to finish or jump to a specific recipe for quick help.</p>

<p>The major topics are introductory/overview, configuration, managing tables and data, security, managing the server itself, monitoring, maintenance, performance, backup and recovery, replication, and upgrades.  The chapter list mimics that list pretty well, though I lumped some chapters together in my topic list.</p>

<p>Some of the same topics are covered in much greater detail in Greg Smith&#8217;s excellent <em>PostgreSQL 9 High Performance</em>, <a href="http://www.xaprb.com/blog/2011/02/13/a-review-of-postgresql-9-0-high-performance-by-gregory-smith/">which I reviewed previously</a>.</p>

<p>On the negative side, I can only remark that the cookbook format in general isn&#8217;t my favorite; each &#8220;recipe&#8221; is quite formulaic, with little sub-headings titled &#8220;getting ready, how to do it, how it works, there&#8217;s more, see also.&#8221;  But it works pretty well nonetheless as a quick-reference guide.</p>

<p>Overall worth picking up, unless you&#8217;re quite knowledgeable about PostgreSQL already, in which case I wouldn&#8217;t expect you to learn much from this book.</p>

<p><strong>Further Reading:</strong><ul><li><a href='http://www.xaprb.com/blog/2011/02/13/a-review-of-postgresql-9-0-high-performance-by-gregory-smith/' rel='bookmark' title='Permanent Link: A review of PostgreSQL 9.0 High Performance by Gregory Smith'>A review of PostgreSQL 9.0 High Performance by Gregory Smith</a></li>
<li><a href='http://www.xaprb.com/blog/2009/02/21/an-invitation-to-postgresql-community-members/' rel='bookmark' title='Permanent Link: An invitation to PostgreSQL community members'>An invitation to PostgreSQL community members</a></li>
<li><a href='http://www.xaprb.com/blog/2008/03/29/going-to-postgresql-conference-east/' rel='bookmark' title='Permanent Link: Going to PostgreSQL Conference East'>Going to PostgreSQL Conference East</a></li>
<li><a href='http://www.xaprb.com/blog/2008/12/13/what-are-your-favorite-postgresql-performance-resources/' rel='bookmark' title='Permanent Link: What are your favorite PostgreSQL performance resources?'>What are your favorite PostgreSQL performance resources?</a></li>
<li><a href='http://www.xaprb.com/blog/2009/04/04/postgresql-conference-east-2009-day-two/' rel='bookmark' title='Permanent Link: PostgreSQL Conference East 2009, Day Two'>PostgreSQL Conference East 2009, Day Two</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.xaprb.com/blog/2011/06/08/a-review-of-postgresql-9-administration-cookbook-by-riggs-and-krosing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

