<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/atom10full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en" xml:base="http://www.depesz.com/wp-atom.php">
	<title type="text">select * from depesz;</title>
	<subtitle type="text" />

	<updated>2008-11-14T16:15:24Z</updated>
	<generator uri="http://wordpress.org/" version="2.6.3">WordPress</generator>

	<link rel="alternate" type="text/html" href="http://www.depesz.com" />
	<id>http://www.depesz.com/index.php/feed/atom/</id>
	

			<link rel="self" href="http://feeds.feedburner.com/depesz-atom" type="application/atom+xml" /><entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - array aggregate and array unpacker]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/453076236/" />
		<id>http://www.depesz.com/?p=1314</id>
		<updated>2008-11-14T16:15:24Z</updated>
		<published>2008-11-14T16:15:24Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="aggregate" /><category scheme="http://www.depesz.com" term="arrays" /><category scheme="http://www.depesz.com" term="array_agg" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="unnest" />		<summary type="html">Finally, we got very important addons to PostgreSQL, which help with dealing with arrays.
It solves a lot of problems, which were usually solved with standard cookbook code, which was in faqs, blog posts and number of examples on irc.

First, there is a function to build array as aggregate.
It was committed by Peter Eisentraut yesterday, with [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/453076236" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/11/14/waiting-for-84-array-aggregate-and-array-unpacker/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/11/14/waiting-for-84-array-aggregate-and-array-unpacker/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/11/14/waiting-for-84-array-aggregate-and-array-unpacker/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - suppress_redundant_updates_trigger]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/443581961/" />
		<id>http://www.depesz.com/?p=1311</id>
		<updated>2008-11-08T23:27:06Z</updated>
		<published>2008-11-05T19:49:38Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="performance" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="trigger" /><category scheme="http://www.depesz.com" term="update" />		<summary type="html">On 3rd of November Andrew Dunstan committed his patch which adds new function to PostgreSQL - suppress_redundant_updates_trigger().
This function is not for using in selects, but it can help you tremendously if your database access matches certain pattern.

To be more precise - if you have a lot of updates that don&amp;#8217;t really update anything (think: update [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/443581961" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/11/05/waiting-for-84-suppress_redundant_updates_trigger/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/11/05/waiting-for-84-suppress_redundant_updates_trigger/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/11/05/waiting-for-84-suppress_redundant_updates_trigger/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - sql-wrappable RETURNING]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/440925936/" />
		<id>http://www.depesz.com/?p=1307</id>
		<updated>2008-11-03T12:37:16Z</updated>
		<published>2008-11-03T12:37:16Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="functions" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="returning" /><category scheme="http://www.depesz.com" term="sql" />		<summary type="html">In PostgreSQL 8.2, we got &amp;#8220;RETURNING&amp;#8221; clause in INSERT/UPDATE/DELETE queries.
Unfortunately it could not be used as source of rows for anything in sql.
insert into table_backup delete from table where ... returning *;
Well, it&amp;#8217;s still not possible, but it is a one step closer, thanks to patch written and committed by Tom Lane on 31st of [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/440925936" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/11/03/waiting-for-84-sql-wrappable-returning/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/11/03/waiting-for-84-sql-wrappable-returning/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/11/03/waiting-for-84-sql-wrappable-returning/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - pl/* srf functions in selects]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/440902611/" />
		<id>http://www.depesz.com/?p=1305</id>
		<updated>2008-11-03T15:45:00Z</updated>
		<published>2008-11-03T12:03:01Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="functions" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="pl/*" /><category scheme="http://www.depesz.com" term="plpgsql" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="select" /><category scheme="http://www.depesz.com" term="srf" />		<summary type="html">On 28th of October Tom Lane committed his patch that changes some internals of functions, but it also adds interesting capability.

Commit message:
Extend ExecMakeFunctionResult() to support set-returning functions that return
via a tuplestore instead of value-per-call.  Refactor a few things to reduce
ensuing code duplication with nodeFunctionscan.c.  This represents the
reasonably noncontroversial part of my proposed patch [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/440902611" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/11/03/waiting-for-84-pl-srf-functions-in-selects/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/11/03/waiting-for-84-pl-srf-functions-in-selects/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/11/03/waiting-for-84-pl-srf-functions-in-selects/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Tips N’ Tricks - setting field based on order]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/437041980/" />
		<id>http://www.depesz.com/?p=1303</id>
		<updated>2008-10-30T15:50:25Z</updated>
		<published>2008-10-30T15:50:25Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="sequence" /><category scheme="http://www.depesz.com" term="tnt" /><category scheme="http://www.depesz.com" term="update" />		<summary type="html">Let&amp;#8217;s imagine following situation:
create table test (id int4 primary key, priority int4);
insert into test (id)
    select distinct (random() * 100000000)::int4 from generate_series(1,1000);
Table test will now contain some (up to 1000) records, with random ids.
Now, we want to update first 3 records (ordered by id) to have following values in priority:

10000
5000
1000


Now, I could [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/437041980" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/10/30/tips-n%e2%80%99-tricks-setting-field-based-on-order/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/10/30/tips-n%e2%80%99-tricks-setting-field-based-on-order/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/10/30/tips-n%e2%80%99-tricks-setting-field-based-on-order/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Is there any good versioning package for database schema and/or data?]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/429449134/" />
		<id>http://www.depesz.com/?p=1298</id>
		<updated>2008-10-23T12:02:03Z</updated>
		<published>2008-10-23T09:09:06Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="change" /><category scheme="http://www.depesz.com" term="patch" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="slony" /><category scheme="http://www.depesz.com" term="versioning" /><category scheme="http://www.depesz.com" term="wishlist" />		<summary type="html">Like practically any application, applications that I deal with evolve. They change their requirements when it comes to database storage - new tables, new columns, modified columns. Or perhaps - new base data - like new values in virtually static dictionaries.
For past years we&amp;#8217;ve been working with set of pl/plgsql functions which kept track of [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/429449134" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/10/23/is-there-any-good-versioning-package-for-database-schema-andor-data/#comments" thr:count="23" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/10/23/is-there-any-good-versioning-package-for-database-schema-andor-data/feed/atom/" thr:count="23" />
		<thr:total>23</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/10/23/is-there-any-good-versioning-package-for-database-schema-andor-data/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Text comparisons that does automatic trim()]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/421907646/" />
		<id>http://www.depesz.com/?p=1296</id>
		<updated>2008-10-15T20:04:20Z</updated>
		<published>2008-10-15T20:04:20Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="datatype" /><category scheme="http://www.depesz.com" term="domain" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="sql" /><category scheme="http://www.depesz.com" term="trim" />		<summary type="html">SoftNum asked on irc:
&amp;#60; SoftNum&amp;#62; does postgresql have a config option to automatically trim (both ' ' from blah) on string compares?
So, can you?
Of course there is no such option, but maybe there is a way to tell PostgreSQL to do this trim for given field? Sure there is  

To do it, we will [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/421907646" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/10/15/text-comparisons-that-does-automatic-trim/#comments" thr:count="5" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/10/15/text-comparisons-that-does-automatic-trim/feed/atom/" thr:count="5" />
		<thr:total>5</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/10/15/text-comparisons-that-does-automatic-trim/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Tips N&#8217; Tricks - count of all and just some]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/415029885/" />
		<id>http://www.depesz.com/?p=1293</id>
		<updated>2008-10-09T07:50:54Z</updated>
		<published>2008-10-08T18:10:17Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="count" /><category scheme="http://www.depesz.com" term="group by" /><category scheme="http://www.depesz.com" term="nullif" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="tnt" />		<summary type="html">Let&amp;#8217;s assume you have very simple table with users:
# \d users
                           Table "public.users"
  Column   &amp;#124;  Type   &amp;#124;       [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/415029885" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/10/08/tips-n-tricks-count-of-all-and-just-some/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/10/08/tips-n-tricks-count-of-all-and-just-some/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/10/08/tips-n-tricks-count-of-all-and-just-some/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - Common Table Expressions (WITH queries)]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/413197992/" />
		<id>http://www.depesz.com/?p=1287</id>
		<updated>2008-10-06T22:14:35Z</updated>
		<published>2008-10-06T22:14:35Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="cte" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="with" /><category scheme="http://www.depesz.com" term="with recursive" />		<summary type="html">On 4th of September Tom Lane committed another great patch. This one is very large, and even after applying - it&amp;#8217;s has some rough edges. There will be need for additional patches to make the functionality fully robust, but the fact that it got committed means that it will be available in final 8.4.
What does [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/413197992" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/10/07/waiting-for-84-common-table-expressions-with-queries/#comments" thr:count="5" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/10/07/waiting-for-84-common-table-expressions-with-queries/feed/atom/" thr:count="5" />
		<thr:total>5</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/10/07/waiting-for-84-common-table-expressions-with-queries/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Deserialization of hstore data structure in Perl]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/411074491/" />
		<id>http://www.depesz.com/?p=1285</id>
		<updated>2008-10-04T12:30:59Z</updated>
		<published>2008-10-04T12:30:59Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="eval" /><category scheme="http://www.depesz.com" term="hstore" /><category scheme="http://www.depesz.com" term="perl" /><category scheme="http://www.depesz.com" term="postgresql" />		<summary type="html">You might be familiar with hstore datatype in PostgreSQL - if you&amp;#8217;re not - check it out, as it is really cool.
Basically it&amp;#8217;s hash in database, which you can search in.

This is how it looks:
# \d x
      Table "public.x"
 Column &amp;#124;  Type  &amp;#124; Modifiers
--------+--------+-----------
 i    [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/411074491" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/10/04/deserialization-of-hstore-data-structure-in-perl/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/10/04/deserialization-of-hstore-data-structure-in-perl/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/10/04/deserialization-of-hstore-data-structure-in-perl/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - new FSM (Free Space Map)]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/411041935/" />
		<id>http://www.depesz.com/?p=1282</id>
		<updated>2008-10-04T11:25:22Z</updated>
		<published>2008-10-04T11:25:22Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="fsm" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="vacuum" />		<summary type="html">On 30th of September, Heikki Linnakangas committed his patch that changes FSM:
Rewrite the FSM. Instead of relying on a fixed-size shared memory segment, the
free space information is stored in a dedicated FSM relation fork, with each
relation (except for hash indexes; they don't use FSM).
&amp;#160;
This eliminates the max_fsm_relations and max_fsm_pages GUC options; remove any
trace of them [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/411041935" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/10/04/waiting-for-84-new-fsm-free-space-map/#comments" thr:count="5" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/10/04/waiting-for-84-new-fsm-free-space-map/feed/atom/" thr:count="5" />
		<thr:total>5</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/10/04/waiting-for-84-new-fsm-free-space-map/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[depesz vs. ubezpieczyciel (polish only)]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/405705938/" />
		<id>http://www.depesz.com/?p=1280</id>
		<updated>2008-09-28T21:45:23Z</updated>
		<published>2008-09-28T21:45:23Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="assistance" /><category scheme="http://www.depesz.com" term="hdi" /><category scheme="http://www.depesz.com" term="mitsubishi" /><category scheme="http://www.depesz.com" term="ubezpieczenie" /><category scheme="http://www.depesz.com" term="wypadek" />		<summary type="html">miałem urlop. to zdanie jest istotne, bo urlopy biorę rzadko. nie lubię. i jak się okazuje - są po etmu istotne powody.
w lipcu pojechałem z moją panią i dziećmi samochodem do bułgarii. razem z nami pojechali znajomi - ale już innym samochodem.

podróż jest relatywnie fajna - co prawda dwa dni w drodze (można pojechać bez [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/405705938" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/09/28/depesz-vs-ubezpieczyciel-polish-only/#comments" thr:count="10" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/09/28/depesz-vs-ubezpieczyciel-polish-only/feed/atom/" thr:count="10" />
		<thr:total>10</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/09/28/depesz-vs-ubezpieczyciel-polish-only/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - database-level lc_collation and lc_ctype]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/405658427/" />
		<id>http://www.depesz.com/?p=1278</id>
		<updated>2008-09-28T20:26:49Z</updated>
		<published>2008-09-28T20:26:49Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="collate" /><category scheme="http://www.depesz.com" term="ctype" /><category scheme="http://www.depesz.com" term="initdb" /><category scheme="http://www.depesz.com" term="locale" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" />		<summary type="html">On 23rd of September, Heikki Linnakangas committed patch that was written by Radek Strnad (actually committed patch is a stripped-down version of original).
What it does? It adds ability to have (finally!) different collation order and character categories for different databases.

Up until now, you had to set LC_COLLATE and LC_CTYPE when doing initdb, and then it [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/405658427" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/09/28/waiting-for-84-database-level-lc_collation-and-lc_ctype/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/09/28/waiting-for-84-database-level-lc_collation-and-lc_ctype/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/09/28/waiting-for-84-database-level-lc_collation-and-lc_ctype/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[CitiBank - frontem do klienta (polish only)]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/396076346/" />
		<id>http://www.depesz.com/?p=1275</id>
		<updated>2008-09-18T10:02:13Z</updated>
		<published>2008-09-18T10:02:13Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="bank" /><category scheme="http://www.depesz.com" term="bezpieczeństwo" /><category scheme="http://www.depesz.com" term="citi" /><category scheme="http://www.depesz.com" term="hacking" />		<summary type="html">Tak się złożyło, że jestem klientem CitiBanku.
Mam u nich konto biznesowe, i z tej okazji muszę co jakiś czas korzystać z ich systemu webowego.
Już parę razy do nich pisałem, że system jest wolny, nie zawsze wyświetla wszystkie informacje, ma problemy z transakcjami w niestandardowych walutach, ale to co zobaczyłem dziś mnie po prostu powaliło.

Wszedłem na [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/396076346" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/09/18/citibank-frontem-do-klienta-polish-only/#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/09/18/citibank-frontem-do-klienta-polish-only/feed/atom/" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/09/18/citibank-frontem-do-klienta-polish-only/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Getting record by 2 criteria, ordered by third - how to do it quickly?]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/391651677/" />
		<id>http://www.depesz.com/?p=1263</id>
		<updated>2008-09-13T16:30:34Z</updated>
		<published>2008-09-13T16:30:13Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="howto" /><category scheme="http://www.depesz.com" term="postgresql" />		<summary type="html">Let&amp;#8217;s assume we have a simple table:
CREATE TABLE objects (
    id          serial primary key,
    category    INT4        NOT NULL DEFAULT 0,
    object_type INT4      [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/391651677" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/09/13/getting-record-by-2-criteria-ordered-by-third-how-to-do-it-quickly/#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/09/13/getting-record-by-2-criteria-ordered-by-third-how-to-do-it-quickly/feed/atom/" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/09/13/getting-record-by-2-criteria-ordered-by-third-how-to-do-it-quickly/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - pgbench with timed execution]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/391540856/" />
		<id>http://www.depesz.com/?p=1261</id>
		<updated>2008-09-13T13:33:06Z</updated>
		<published>2008-09-13T13:33:06Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="pgbench" /><category scheme="http://www.depesz.com" term="postgresql" />		<summary type="html">Takahiro Itagaki wrote, and Tom Lane committed nice patch, which I personally find really helpful:
Add a duration option to pgbench, so that test length can be specified in seconds instead of by number of transactions to run.  Takahiro Itagaki

You might wonder what&amp;#8217;s so great nice about it. Well, during my years as dba I&amp;#8217;ve [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/391540856" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/09/13/waiting-for-84-pgbench-with-timed-execution/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/09/13/waiting-for-84-pgbench-with-timed-execution/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/09/13/waiting-for-84-pgbench-with-timed-execution/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[pgsql-tools/analyze.pgsql.logs.pl]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/391528877/" />
		<id>http://www.depesz.com/?p=1259</id>
		<updated>2008-09-13T13:06:47Z</updated>
		<published>2008-09-13T13:06:47Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="announcements" />		<summary type="html">Changes:

normalize BEGIN/START &amp;#8230; statements
normalize END/COMMIT &amp;#8230; statements
normalize ROLLBACK/ABORT &amp;#8230; statements

SVN repo at: http://svn.depesz.com/svn/pgsql-tools/trunk
&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/391528877" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/09/13/pgsql-toolsanalyzepgsqllogspl-11/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/09/13/pgsql-toolsanalyzepgsqllogspl-11/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/09/13/pgsql-toolsanalyzepgsqllogspl-11/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - ordered data loading in pg_dump]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/386922722/" />
		<id>http://www.depesz.com/?p=1255</id>
		<updated>2008-09-09T11:14:34Z</updated>
		<published>2008-09-08T18:55:45Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="pg_dump" /><category scheme="http://www.depesz.com" term="postgresql" />		<summary type="html">Great (and admittedly long overdue) patch by Tom Lane:
Make pg_dump --data-only try to order the table dumps so that foreign keys'
referenced tables are dumped before the referencing tables.  This avoids
failures when the data is loaded with the FK constraints already active.
If no such ordering is possible because of circular or self-referential
constraints, print a NOTICE [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/386922722" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/09/08/waiting-for-84-ordered-data-loading-in-pg_dump/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/09/08/waiting-for-84-ordered-data-loading-in-pg_dump/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/09/08/waiting-for-84-ordered-data-loading-in-pg_dump/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[pgsql-tools/analyze.pgsql.logs.pl]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/385623401/" />
		<id>http://www.depesz.com/?p=1253</id>
		<updated>2008-09-07T07:51:08Z</updated>
		<published>2008-09-07T07:51:08Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="announcements" />		<summary type="html">Changes:

fix regexps for header - now it will be possible to sensibly analyze logs with informations about log archiving.

SVN repo at: http://svn.depesz.com/svn/pgsql-tools/trunk
&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/385623401" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/09/07/pgsql-toolsanalyzepgsqllogspl-10/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/09/07/pgsql-toolsanalyzepgsqllogspl-10/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/09/07/pgsql-toolsanalyzepgsqllogspl-10/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - \ef in psql]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/385250352/" />
		<id>http://www.depesz.com/?p=1251</id>
		<updated>2008-09-06T19:45:46Z</updated>
		<published>2008-09-06T19:45:46Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="editor" /><category scheme="http://www.depesz.com" term="functions" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="psql" />		<summary type="html">Today, Tom Lane committed patch, written by Abhijit Menon-Sen, which adds interesting feature to psql. Namely - it simplifies changing definition of functions.

Commit message pretty much explains everything:
Implement a psql command "\ef" to edit the definition of a function.
In support of that, create a backend function pg_get_functiondef().
The psql command is functional but maybe a bit [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/385250352" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/09/06/waiting-for-84-ef-in-psql/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/09/06/waiting-for-84-ef-in-psql/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/09/06/waiting-for-84-ef-in-psql/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Hunting &#8220;idle in transactions&#8221;]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/377397124/" />
		<id>http://www.depesz.com/?p=1249</id>
		<updated>2008-08-28T19:33:08Z</updated>
		<published>2008-08-28T19:33:08Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="idle in transaction" /><category scheme="http://www.depesz.com" term="perl" /><category scheme="http://www.depesz.com" term="postgresql" />		<summary type="html">If you ever encountered &amp;#8220;idle in transaction&amp;#8221; connections, you most likely hate them. I know, I personally hate them. They interfere with most of &amp;#8220;cool toys&amp;#8221; like replication, vacuum, DDL queries.
So, when I saw them on a database I was looking on, I decided to act.
Easier to say, difficult to do. How to fix the [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/377397124" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/08/28/hunting-idle-in-transactions/#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/08/28/hunting-idle-in-transactions/feed/atom/" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/08/28/hunting-idle-in-transactions/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[NULLs vs. NOT IN()]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/363721759/" />
		<id>http://www.depesz.com/?p=1246</id>
		<updated>2008-08-13T09:03:26Z</updated>
		<published>2008-08-13T08:58:59Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="not in" /><category scheme="http://www.depesz.com" term="null" /><category scheme="http://www.depesz.com" term="postgresql" />		<summary type="html">Friend of mine found something that he thought looked like a bug in Pg.
Very simple query:
select * from table where id not in (select field from other_table)
was not returning any rows, despite the fact that there definitely are some &amp;#8220;ids&amp;#8221; that are not in other_table.field. Why is that?

First, let&amp;#8217;s build a test case:
CREATE TABLE objects [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/363721759" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/08/13/nulls-vs-not-in/#comments" thr:count="19" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/08/13/nulls-vs-not-in/feed/atom/" thr:count="19" />
		<thr:total>19</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/08/13/nulls-vs-not-in/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - case insensitive text ( citext )]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/361187213/" />
		<id>http://www.depesz.com/?p=1242</id>
		<updated>2008-08-10T16:40:48Z</updated>
		<published>2008-08-10T16:40:48Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="case" /><category scheme="http://www.depesz.com" term="citext" /><category scheme="http://www.depesz.com" term="email" /><category scheme="http://www.depesz.com" term="lower" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" />		<summary type="html">On 29th of July, Tom Lane committed patch written by David E. Wheeler, which added new contrib module: citext.

Log message is rather laconic:
Add a new, improved version of citext as a contrib module.
&amp;#160;
David E. Wheeler
So, let&amp;#8217;s look into details.
First, let&amp;#8217;s imagine a use case.
You have web system, which stores some information about users, but you [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/361187213" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/08/10/waiting-for-84-case-insensitive-text-citext/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/08/10/waiting-for-84-case-insensitive-text-citext/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/08/10/waiting-for-84-case-insensitive-text-citext/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - UNION / INTERSECT / EXCEPT]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/361136760/" />
		<id>http://www.depesz.com/?p=1236</id>
		<updated>2008-08-10T15:04:57Z</updated>
		<published>2008-08-10T15:04:57Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="except" /><category scheme="http://www.depesz.com" term="intersect" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="speedup" /><category scheme="http://www.depesz.com" term="union" />		<summary type="html">During last month or so, Tom Lane commited changes in PostgreSQL, which were foundations for adding hash-based versions of popular features.
I already described first such feature - DISTINCT.
Now, there were 3 more commits which were related to this:

All 3 were committed by Tom, on 7th of August. Commit messages:
Teach the system how to use hashing [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/361136760" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/08/10/waiting-for-84-union-intersect-except/#comments" thr:count="6" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/08/10/waiting-for-84-union-intersect-except/feed/atom/" thr:count="6" />
		<thr:total>6</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/08/10/waiting-for-84-union-intersect-except/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Removing elements from arrays]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/357618212/" />
		<id>http://www.depesz.com/?p=1233</id>
		<updated>2008-08-06T18:02:53Z</updated>
		<published>2008-08-06T18:02:42Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="arrays" /><category scheme="http://www.depesz.com" term="intarray" /><category scheme="http://www.depesz.com" term="plpgsql" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="sql" />		<summary type="html">Cezio wrote post about removing elements from arrays in PostgreSQL.
Unfortunately his blog engine requires registration before comment, which I don&amp;#8217;t like, so I decided to comment using my own blogspace.

The approach Cezio showed is pretty cool - having more functions to handle arrays is definitely cool, but it might be better to use sql functions [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/357618212" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/08/06/removing-elements-from-arrays/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/08/06/removing-elements-from-arrays/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/08/06/removing-elements-from-arrays/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - hash based DISTINCT]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/356188081/" />
		<id>http://www.depesz.com/?p=1231</id>
		<updated>2008-08-05T09:39:20Z</updated>
		<published>2008-08-05T09:39:20Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="distinct" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" />		<summary type="html">Today Tom Lane committed patch which gives DISTINCT ability to use hash aggregate - just like GROUP BY.

Log message:
Improve SELECT DISTINCT to consider hash aggregation, as well as sort/uniq,
as methods for implementing the DISTINCT step.  This eliminates the former
performance gap between DISTINCT and GROUP BY, and also makes it possible
to do SELECT DISTINCT on [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/356188081" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/08/05/waiting-for-84-hash-based-distinct/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/08/05/waiting-for-84-hash-based-distinct/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/08/05/waiting-for-84-hash-based-distinct/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - RETURNS TABLE]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/355279638/" />
		<id>http://www.depesz.com/?p=1229</id>
		<updated>2008-08-04T12:21:53Z</updated>
		<published>2008-08-04T12:21:53Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="functions" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="returns" /><category scheme="http://www.depesz.com" term="srf" /><category scheme="http://www.depesz.com" term="table" />		<summary type="html">Pavel Stehule wrote, and Tom Lane committed patch which ads new syntax for set-returning functions: &amp;#8220;RETURNS TABLE&amp;#8221;.

Commit was on 18th of July, and the message was:
Implement SQL-spec RETURNS TABLE syntax for functions.
&amp;#160;
(Unlike the original submission, this patch treats TABLE output parameters
as being entirely equivalent to OUT parameters -- tgl)
&amp;#160;
Pavel Stehule
As you can tell from commit-log, [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/355279638" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/08/04/waiting-for-84-returns-table/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/08/04/waiting-for-84-returns-table/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/08/04/waiting-for-84-returns-table/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Writing sprintf, and overcoming limitations in pl/perl]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/352505379/" />
		<id>http://www.depesz.com/?p=1225</id>
		<updated>2008-08-01T10:45:00Z</updated>
		<published>2008-08-01T10:44:17Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="%_shared" /><category scheme="http://www.depesz.com" term="plperl" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="sprintf" /><category scheme="http://www.depesz.com" term="variadic" />		<summary type="html">Having new VARIADIC functions, I decided it would be cool to be able to write sprintf() function.
Basically the idea is simple, plperl function, which takes &amp;#8220;format&amp;#8221;, and list of arguments and returns generated output.

Of course - I could have done it with array as second argument, but it just doesn&amp;#8217;t look good:
select sprintf('This is %s [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/352505379" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/08/01/writing-sprintf-and-overcoming-limitations-in-plperl/#comments" thr:count="4" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/08/01/writing-sprintf-and-overcoming-limitations-in-plperl/feed/atom/" thr:count="4" />
		<thr:total>4</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/08/01/writing-sprintf-and-overcoming-limitations-in-plperl/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - variadic functions]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/351528198/" />
		<id>http://www.depesz.com/?p=1223</id>
		<updated>2008-07-31T13:14:15Z</updated>
		<published>2008-07-31T13:14:15Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="functions" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="variadic" />		<summary type="html">Pavel Stehule wrote, and then Tom Lane committed (on 16th of July), patch which adds to PostgreSQL support for functions with variable number of arguments.

These function are called &amp;#8220;VARIADIC&amp;#8221;, and up until now writing such a function was impossible.
You could overcome this limitation by:

defining a lot of functions with the same name, but different sets
of [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/351528198" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/07/31/waiting-for-84-variadic-functions/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/07/31/waiting-for-84-variadic-functions/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/07/31/waiting-for-84-variadic-functions/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>depesz</name>
						<uri>http://www.depesz.com/</uri>
					</author>
		<title type="html"><![CDATA[Waiting for 8.4 - storage types for table columns]]></title>
		<link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/depesz-atom/~3/350496910/" />
		<id>http://www.depesz.com/?p=1222</id>
		<updated>2008-07-30T13:28:58Z</updated>
		<published>2008-07-30T13:28:58Z</published>
		<category scheme="http://www.depesz.com" term="Uncategorized" /><category scheme="http://www.depesz.com" term="compression" /><category scheme="http://www.depesz.com" term="pg84" /><category scheme="http://www.depesz.com" term="postgresql" /><category scheme="http://www.depesz.com" term="psql" /><category scheme="http://www.depesz.com" term="storage" /><category scheme="http://www.depesz.com" term="toast" />		<summary type="html">Gregory Stark wrote, and Bruce Momjian committed (on 14th of July) patch which shows storage type in psql.

Log Message:
-----------
Add column storage type to psql \d+ display.
&amp;#160;
Gregory Stark
How does it work? It&amp;#8217;s pretty simple. Let&amp;#8217;s create new table:
# create table testit (i int4, ts timestamp, t text, z varchar(10), z255 varchar(255));
CREATE TABLE
And see \d+ of it:
# [...]&lt;img src="http://feeds.feedburner.com/~r/depesz-atom/~4/350496910" height="1" width="1"/&gt;</summary>
		<link rel="replies" type="text/html" href="http://www.depesz.com/index.php/2008/07/30/waiting-for-84-storage-types-for-table-columns/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.depesz.com/index.php/2008/07/30/waiting-for-84-storage-types-for-table-columns/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.depesz.com/index.php/2008/07/30/waiting-for-84-storage-types-for-table-columns/</feedburner:origLink></entry>
	</feed>
