<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-36031440</id><updated>2012-01-10T17:03:08.272-08:00</updated><title type='text'>Merlin's stuff</title><subtitle type='html'>The writings of Merlin Moncure, professional database developer, about work, life, family, and everything else.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-36031440.post-1933715532310625290</id><published>2007-12-17T18:55:00.000-08:00</published><updated>2007-12-17T19:45:46.417-08:00</updated><title type='text'>Advisory Locks, an Update</title><summary type='text'>Update: more testing has shown this to not work as well as I thought...details will followUpdate 2: this doesn't work at all.  I need to give it some more thought...MI've made no secret that 'advisory locks' is one one of the coolest features in PostgreSQL (see my posts here and here).  As a general purpose database mutex, you can do all sorts of wonderful things with them...long term locks, </summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/1933715532310625290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=1933715532310625290' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/1933715532310625290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/1933715532310625290'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2007/12/advisory-locks-update.html' title='Advisory Locks, an Update'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36031440.post-7612492785860118911</id><published>2007-12-16T08:39:00.000-08:00</published><updated>2007-12-17T00:19:39.679-08:00</updated><title type='text'>12 Days of Christmas, PostgreSQL style</title><summary type='text'>In case you have trouble remembering the lyrics...select v || case  when v=1 then ' partridge in a pear tree'  when v=2 then ' turtle doves'  when v=3 then ' french hens'  when v=4 then ' calling birds'  when v=5 then ' GO-O-OLDEN RINGS!'  when v=6 then ' swans a swimming'  when v=7 then ' geese a laying'  when v=8 then ' maids a milking'  when v=9 then ' ladies dancing'  when v=10 then ' lords a</summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/7612492785860118911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=7612492785860118911' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/7612492785860118911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/7612492785860118911'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2007/12/12-days-of-christmas-postgresql-style.html' title='12 Days of Christmas, PostgreSQL style'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36031440.post-6403453405892515722</id><published>2007-12-16T07:31:00.000-08:00</published><updated>2007-12-16T15:50:34.397-08:00</updated><title type='text'>Managing Trees with Arrays, Part 2</title><summary type='text'>Einhverfr writes:Out of curiosity, have you looked at contrib/tablefunc and its connectby() function? We use it and the parent_id solution in LSMB and it works pretty well. It also allows for a cleaner semantics because we don't have to store the full path in the record (this and "level" are both generated by connectby!).Thanks for your interest.I have looked at connectby, and I have a lot of </summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/6403453405892515722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=6403453405892515722' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/6403453405892515722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/6403453405892515722'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2007/12/managing-trees-with-arrays-part-2.html' title='Managing Trees with Arrays, Part 2'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36031440.post-7253759781078548181</id><published>2007-10-19T09:55:00.000-07:00</published><updated>2007-10-19T12:27:06.421-07:00</updated><title type='text'>A better psql with less</title><summary type='text'>psql is a great tool, but not very good at browsing data.  Or is it?  The following settings will make psql much more usable.in your user profile:export PAGER=lessexport LESS="-iMSx4 -FX"in your .psqlrc (make it if it's not already there)\timing\pset pager alwaystry it!! now wide query results will paginate much better and searching is much easier.update: fixed quotes for LESS, thanks depesz</summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/7253759781078548181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=7253759781078548181' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/7253759781078548181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/7253759781078548181'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2007/10/better-psql-with-less.html' title='A better psql with less'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36031440.post-1927479695162576638</id><published>2007-09-06T21:19:00.000-07:00</published><updated>2007-09-06T21:20:12.011-07:00</updated><title type='text'>Managing Trees with Arrays</title><summary type='text'>One of my favorite problems in databases is working with recursive structures.  In particular, I've made it my quest to debunk the prevailing myth that recursive structures are not 'relational' and thus should be handled in application code or some alternative format.  One strategy in this war is demonstrating how easy it is to deal with recursive structures with a little thought and some clever </summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/1927479695162576638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=1927479695162576638' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/1927479695162576638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/1927479695162576638'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2007/09/one-of-my-favorite-problems-in.html' title='Managing Trees with Arrays'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36031440.post-7924793015114033004</id><published>2007-09-04T20:43:00.000-07:00</published><updated>2007-09-06T18:59:41.537-07:00</updated><title type='text'>PostgreSQL 8.3 Features: Plan Invalidation</title><summary type='text'>As previously stated, PostgreSQL 8.3 is shaping up to be a great release of the software.  One of the biggest beneficiaries of the new feature set are pl/pgsql developers.  8.3 stands to be the best thing to happen to pl/pgsql since 8.0 brought dollar quoting to the table...before which some might argue serious development with the language bordered on the impractical.  The major new features are</summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/7924793015114033004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=7924793015114033004' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/7924793015114033004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/7924793015114033004'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2007/09/as-previously-stated-postgresql-8.html' title='PostgreSQL 8.3 Features: Plan Invalidation'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36031440.post-4412840311269401295</id><published>2007-09-03T08:55:00.000-07:00</published><updated>2007-09-03T08:58:13.456-07:00</updated><title type='text'>PostgreSQL 8.3 Features: Arrays of Compound Types</title><summary type='text'>This will be the first in what hopefully be a series of entries describing the new and interesting features in PostgreSQL 8.3.  The database is entering in the final stages of the development cycle before going into beta with all the major patches having been submitted weeks ago (with one possible stunning exception, lazy xid assignment described here.  Thus, aside from the hard decisions that </summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/4412840311269401295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=4412840311269401295' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/4412840311269401295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/4412840311269401295'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2007/09/this-will-be-first-in-what-hopefully-be.html' title='PostgreSQL 8.3 Features: Arrays of Compound Types'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36031440.post-3720389990524770751</id><published>2007-08-31T13:13:00.000-07:00</published><updated>2007-09-08T14:37:51.557-07:00</updated><title type='text'>Dell md1000 bonnie++ benchmarks</title><summary type='text'>Following are the results of our testing of the Dell MD1000 with two raid controllers (Perc 5/e).  Server was dell 2950, 8gb ram.  Pay close attention to the seeks figure, as this important figure for databases (the sequential rates are not all that important).  We tried various combinations of software raid and hardware raid in both active/active and active passive configurations.scrolldown </summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/3720389990524770751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=3720389990524770751' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/3720389990524770751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/3720389990524770751'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2007/08/following-are-results-of-our-testing-of.html' title='Dell md1000 bonnie++ benchmarks'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36031440.post-4204718782322947767</id><published>2006-12-13T10:14:00.000-08:00</published><updated>2006-12-13T10:51:29.697-08:00</updated><title type='text'>Advisory Locks Part 2</title><summary type='text'>Previously, I wrote about PostgreSQL Advisory Locks and how important and useful they are.  One thing I forgot to mention is how in very specifc cases they can improve concurrency in your application.  This is because they are both long-term (lock duration can exceed a single transaction) and short-term (lock duration can be shorter than a single transaction).   This entry will describe the </summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/4204718782322947767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=4204718782322947767' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/4204718782322947767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/4204718782322947767'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2006/12/advisory-locks-part-2.html' title='Advisory Locks Part 2'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36031440.post-255145362645151788</id><published>2006-12-10T08:46:00.000-08:00</published><updated>2006-12-10T09:05:00.753-08:00</updated><title type='text'>About the author</title><summary type='text'>Who am I?My name is Merlin Moncure and I am a computer  programmer living in Florida.  I have a beautiful wife and two beautiful children and am pretty successful by most reasonable measures.  This blog is going to be moslty about things related to computer and technology but also about the various things I am concerned about.  Particular areas of focus will be the economy, PostgreSQL, a </summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/255145362645151788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=255145362645151788' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/255145362645151788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/255145362645151788'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2006/12/about-author.html' title='About the author'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36031440.post-116570412200407835</id><published>2006-12-09T14:42:00.000-08:00</published><updated>2007-09-05T05:25:54.996-07:00</updated><title type='text'>PostgreSQL 8.2 Advisory Locks</title><summary type='text'>Recently released PostgreSQL 8.2 is a treasure trove of helpful features for the database developer.  Dubbed a performance release by the advocacy team, the most powerful open source database engine has once again shown that it is greater than the sum of its parts, and the breadth and scope of the project is greater than its developers.  Many internal structural improvements were made, and </summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/116570412200407835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=116570412200407835' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/116570412200407835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/116570412200407835'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2006/12/postgresql-8.html' title='PostgreSQL 8.2 Advisory Locks'/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-36031440.post-116085483888436728</id><published>2006-10-14T12:40:00.000-07:00</published><updated>2006-10-14T12:40:41.046-07:00</updated><title type='text'></title><summary type='text'> OK, I'm testing posting to blogger from google docs.  If it works, it will be the first 'killer feature' of google office.  Spreadsheets has a long way to go, but I can see docs being a Word replacement with a few improvements.  Well, here goes!merlin</summary><link rel='replies' type='application/atom+xml' href='http://merlinmoncure.blogspot.com/feeds/116085483888436728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=36031440&amp;postID=116085483888436728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/116085483888436728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/36031440/posts/default/116085483888436728'/><link rel='alternate' type='text/html' href='http://merlinmoncure.blogspot.com/2006/10/ok-im-testing-posting-to-blogger-from.html' title=''/><author><name>Merlin Moncure</name><uri>http://www.blogger.com/profile/07784270014334369640</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
