<?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-6901926225948375000</id><updated>2011-11-27T15:44:48.467-08:00</updated><title type='text'>PostgreSQL</title><subtitle type='html'>PostgreSQL: The world's most advanced open source database Discussion.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default?start-index=101&amp;max-results=100'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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>7180</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-5490578028530092645</id><published>2008-09-30T13:51:00.000-07:00</published><updated>2008-09-30T13:44:40.474-07:00</updated><title type='text'>Re: [GENERAL] Why Does UPDATE Take So Long?</title><content type='html'>Doesn&amp;#39;t look like that&amp;#39;s the problem. I moved my table over to another &lt;br&gt;Linux box running PG 8.3 and update performance was pretty bad there as &lt;br&gt;well. In the time that PG 8.3 was struggling with update there I created &lt;br&gt;a copy of my table on my PG 8.1 machine and inserted all columns with &lt;br&gt;one containing the altered values I wanted and that took less than two &lt;br&gt;minutes. Meanwhile, a half-hour later, my PG 8.3 machine was still &lt;br&gt;thrashing away trying to update that one column that&amp;#39;s not even part of &lt;br&gt;any index..&lt;p&gt;Something is really wrong with UPDATE in PostgreSQL I think.&lt;p&gt;&lt;br&gt;Scott Marlowe wrote:&lt;br&gt;&amp;gt; On Tue, Sep 30, 2008 at 1:00 PM, Bill Thoen &amp;lt;&lt;a href="mailto:bthoen@gisnet.com"&gt;bthoen@gisnet.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;   &lt;br&gt;&amp;gt;&amp;gt; Working with PG 8.1 I&amp;#39;m trying to update a char(4) column, and it&amp;#39;s taking a&lt;br&gt;&amp;gt;&amp;gt; very long time; 15 minutes so far and no end in sight. From the explain, it&lt;br&gt;&amp;gt;&amp;gt; doesn&amp;#39;t seem like it should take that long, and this column is not indexed.&lt;br&gt;&amp;gt;&amp;gt; Sure, there&amp;#39;s 2.7 million records but it only takes a few minutes to scan&lt;br&gt;&amp;gt;&amp;gt; the whole file. Is there some special overhead I should be aware of with an&lt;br&gt;&amp;gt;&amp;gt; UPDATE? I VACUUMed and ANALYZEd first, too.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Or am I just expecting too much?&lt;br&gt;&amp;gt;&amp;gt;     &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; The problem is that on older versions of pgsql, the db had to update&lt;br&gt;&amp;gt; each index for each row updated as well as the rows.  The latest&lt;br&gt;&amp;gt; version, with a low enough fill factor, can update non-indedexed&lt;br&gt;&amp;gt; fields by using the free space in each page and not have to hit the&lt;br&gt;&amp;gt; indexes.  But on 8.1 you don&amp;#39;t get that optimization.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;   &lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-5490578028530092645?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/5490578028530092645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=5490578028530092645' title='32 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5490578028530092645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5490578028530092645'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-why-does-update-take-so-long_920.html' title='Re: [GENERAL] Why Does UPDATE Take So Long?'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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>32</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-3518830739442178571</id><published>2008-09-30T13:43:00.001-07:00</published><updated>2008-09-30T13:43:43.908-07:00</updated><title type='text'>[lapug] Attn:LAPUGers - Greenplum requesting Topics For Discussion</title><content type='html'>On Tue, Sep 30, 2008 at 1:21 PM, Rui Maximo &amp;lt;&lt;a href="mailto:rmaximo@greenplum.com"&gt;rmaximo@greenplum.com&lt;/a&gt;&amp;gt; wrote:&lt;p&gt;&amp;gt;  As we get closer to that date, could you share logistics (address&lt;br&gt;&amp;gt; and time)?&lt;p&gt;Rui,&lt;p&gt;A reservation was created for 11/19/08 at 7pm, in:&lt;p&gt;Steele 214 in Caltech.&lt;br&gt;370 South Holliston Avenue,&lt;br&gt;Pasadena, CA 91106&lt;p&gt;Google map:&lt;br&gt;&lt;a href="http://maps.google.com/maps/ms?ie=UTF8&amp;amp;t=h&amp;amp;hl=en&amp;amp;msa=0&amp;amp;ll=34.139186,-118.123265&amp;amp;spn=0.001592,0.002403&amp;amp;z=19&amp;amp;msid=114588631836793408373.00045822d679f33626b04"&gt;http://maps.google.com/maps/ms?ie=UTF8&amp;amp;t=h&amp;amp;hl=en&amp;amp;msa=0&amp;amp;ll=34.139186,-118.123265&amp;amp;spn=0.001592,0.002403&amp;amp;z=19&amp;amp;msid=114588631836793408373.00045822d679f33626b04&lt;/a&gt;&lt;p&gt;&lt;br&gt;Caltech map:&lt;br&gt;&lt;a href="http://www.caltech.edu/map/Caltech-map-2007-11-14.pdf"&gt;http://www.caltech.edu/map/Caltech-map-2007-11-14.pdf&lt;/a&gt;&lt;p&gt;&lt;p&gt;LAPUGers,&lt;p&gt;&amp;gt; Since I have a rare opportunity to be able to connect directly with your&lt;br&gt;&amp;gt; audience beforehand, I would encourage you to please voice what you would&lt;br&gt;&amp;gt; like to hear about Greenplum.  This will help me come as prepared to answer&lt;br&gt;&amp;gt; your questions.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Thank you,&lt;br&gt;&amp;gt; Rui Maximo&lt;br&gt;&amp;gt; Senior Product Manager&lt;br&gt;&amp;gt; Greenplum Inc.&lt;p&gt;&lt;br&gt;Please reply to Rui regarding any Data warehouse, greenplum, OLAP&lt;br&gt;question that you might like him to address.&lt;p&gt;-- &lt;br&gt;Regards,&lt;br&gt;Richard Broersma Jr.&lt;p&gt;Visit the Los Angeles PostgreSQL Users Group (LAPUG)&lt;br&gt;&lt;a href="http://pugs.postgresql.org/lapug"&gt;http://pugs.postgresql.org/lapug&lt;/a&gt;&lt;p&gt;-- &lt;br&gt;Sent via lapug mailing list (&lt;a href="mailto:lapug@postgresql.org"&gt;lapug@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/lapug"&gt;http://www.postgresql.org/mailpref/lapug&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-3518830739442178571?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/3518830739442178571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=3518830739442178571' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3518830739442178571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3518830739442178571'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/lapug-attnlapugers-greenplum-requesting.html' title='[lapug] Attn:LAPUGers - Greenplum requesting Topics For Discussion'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-3787701418837840828</id><published>2008-09-30T13:41:00.000-07:00</published><updated>2008-09-30T13:42:39.386-07:00</updated><title type='text'>Re: [HACKERS] Block-level CRC checks</title><content type='html'>Alvaro Herrera wrote:&lt;br&gt;&amp;gt; A customer of ours has been having trouble with corrupted data for some&lt;br&gt;&amp;gt; time.  Of course, we&amp;#39;ve almost always blamed hardware (and we&amp;#39;ve seen&lt;br&gt;&amp;gt; RAID controllers have their firmware upgraded, among other actions), but&lt;br&gt;&amp;gt; the useful thing to know is when corruption has happened, and where.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; So we&amp;#39;ve been tasked with adding CRCs to data files.&lt;p&gt;Maybe a stupid question, but what I/O subsystems corrupt data and fail&lt;br&gt;to report it?&lt;p&gt;-- &lt;br&gt;  Bruce Momjian  &amp;lt;&lt;a href="mailto:bruce@momjian.us"&gt;bruce@momjian.us&lt;/a&gt;&amp;gt;        &lt;a href="http://momjian.us"&gt;http://momjian.us&lt;/a&gt;&lt;br&gt;  EnterpriseDB                             &lt;a href="http://enterprisedb.com"&gt;http://enterprisedb.com&lt;/a&gt;&lt;p&gt;  + If your life is a hard drive, Christ can be your backup. +&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-3787701418837840828?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/3787701418837840828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=3787701418837840828' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3787701418837840828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3787701418837840828'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-block-level-crc-checks_8013.html' title='Re: [HACKERS] Block-level CRC checks'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-47652170503673690</id><published>2008-09-30T13:36:00.001-07:00</published><updated>2008-09-30T13:37:29.790-07:00</updated><title type='text'>Re: [pgsql-www] Finding some bug statistics..</title><content type='html'>Chander Ganesan wrote:&lt;br&gt;&amp;gt; Magnus Hagander wrote:&lt;br&gt;&amp;gt; &amp;gt;&lt;br&gt;&amp;gt; &amp;gt; We don&amp;#39;t have a bug tracker, thus there is nothing to gather statistics&lt;br&gt;&amp;gt; &amp;gt; from. We have a web form that is really just a sequence in a database&lt;br&gt;&amp;gt; &amp;gt; that generates a bug id, and then remails the whole form to pgsql-bugs.&lt;br&gt;&amp;gt; &amp;gt;&lt;br&gt;&amp;gt; &amp;gt; For discussions of why we don&amp;#39;t have one, see about a billion mails in&lt;br&gt;&amp;gt; &amp;gt; the archives over the past 10 years or so :-(&lt;br&gt;&amp;gt; &amp;gt;   &lt;br&gt;&amp;gt; The general policy is a 72 hour bug fix, right?  Do we have any &lt;br&gt;&amp;gt; ideas/numbers as to the currently &amp;quot;open&amp;quot; number of bugs (identified but &lt;br&gt;&amp;gt; not fixed yet)?  That would be just as useful in some regard.&lt;p&gt;As far as I am concerned, the TODO list has every known bug against CVS&lt;br&gt;HEAD, with lots of feature requests in there too.&lt;p&gt;-- &lt;br&gt;  Bruce Momjian  &amp;lt;&lt;a href="mailto:bruce@momjian.us"&gt;bruce@momjian.us&lt;/a&gt;&amp;gt;        &lt;a href="http://momjian.us"&gt;http://momjian.us&lt;/a&gt;&lt;br&gt;  EnterpriseDB                             &lt;a href="http://enterprisedb.com"&gt;http://enterprisedb.com&lt;/a&gt;&lt;p&gt;  + If your life is a hard drive, Christ can be your backup. +&lt;p&gt;-- &lt;br&gt;Sent via pgsql-www mailing list (&lt;a href="mailto:pgsql-www@postgresql.org"&gt;pgsql-www@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-www"&gt;http://www.postgresql.org/mailpref/pgsql-www&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-47652170503673690?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/47652170503673690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=47652170503673690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/47652170503673690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/47652170503673690'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-www-finding-some-bug.html' title='Re: [pgsql-www] Finding some bug statistics..'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-4568112400180569102</id><published>2008-09-30T13:36:00.000-07:00</published><updated>2008-09-30T13:37:11.430-07:00</updated><title type='text'>[pgsql-es-ayuda] RE: [pgsql-es-ayuda] Validación de CUIT - Argentina</title><content type='html'>Bueno gente he encontrado un c&amp;#243;digo hecho en Oracle y lo adapte a plpsql&lt;p&gt;Les dejo el codigo de ejemplo:&lt;br&gt;----------------------------------------------------------------------------&lt;br&gt;--------------------&lt;br&gt;CREATE OR REPLACE FUNCTION &amp;quot;public&amp;quot;.&amp;quot;validar_cuit&amp;quot; (bigint) RETURNS varchar&lt;br&gt;AS&lt;br&gt;$body$&lt;br&gt;DECLARE&lt;br&gt;	RES BIGINT;&lt;br&gt;	DIG BIGINT;&lt;br&gt;	NUM BIGINT;&lt;br&gt;    CUIT ALIAS FOR $1;&lt;br&gt;	&lt;br&gt;BEGIN&lt;br&gt;	IF LENGTH(CUIT) != 11 OR SUBSTR(CUIT, 1, 2) = &amp;#39;00&amp;#39; THEN&lt;br&gt;		RETURN 0;&lt;br&gt;	END IF;&lt;br&gt;	RES = 0;&lt;br&gt;	FOR I IN 1..10 LOOP&lt;br&gt;		NUM := (SUBSTR(CUIT, I, 1));&lt;br&gt;		IF (I = 1 OR I = 7) THEN RES := RES + NUM * 5;&lt;br&gt;		ELSIF (I = 2 OR I = 8) THEN RES := RES + NUM * 4;&lt;br&gt;		ELSIF (I = 3 OR I = 9) THEN RES := RES + NUM * 3;&lt;br&gt;		ELSIF (I = 4 OR I = 10) THEN RES := RES + NUM * 2;&lt;br&gt;		ELSIF (I = 5) THEN RES := RES + NUM * 7;&lt;br&gt;		ELSIF (I = 6) THEN RES := RES + NUM * 6;&lt;br&gt;		END IF;&lt;br&gt;	END LOOP;&lt;br&gt;	DIG := 11 - MOD(RES,11);&lt;br&gt;	IF DIG = 11 THEN &lt;br&gt;		DIG := 0;&lt;br&gt;	END IF;&lt;br&gt;    &lt;br&gt;	IF DIG = (SUBSTR(CUIT,11,1)) THEN&lt;br&gt;		RETURN 1;&lt;br&gt;	ELSE&lt;br&gt;		RETURN 0;&lt;br&gt;	END IF;&lt;br&gt;END;&lt;br&gt;$body$&lt;br&gt;LANGUAGE &amp;#39;plpgsql&amp;#39;&lt;br&gt;VOLATILE&lt;br&gt;CALLED ON NULL INPUT&lt;br&gt;SECURITY INVOKER;&lt;p&gt;COMMENT ON FUNCTION &amp;quot;public&amp;quot;.&amp;quot;validar_cuit&amp;quot;(bigint)&lt;br&gt;IS &amp;#39;Valida el CUIT segun formato 99999999999&lt;br&gt;Devuelve 0 para los CUIT No V&amp;#225;lidos&lt;br&gt;Devuelve 1 para los CUIT V&amp;#225;lidos&amp;#39;;&lt;br&gt;----------------------------------------------------------------------------&lt;br&gt;--------------------&lt;p&gt;-----Mensaje original-----&lt;br&gt;De: &lt;a href="mailto:pgsql-es-ayuda-owner@postgresql.org"&gt;pgsql-es-ayuda-owner@postgresql.org&lt;/a&gt;&lt;br&gt;[mailto:&lt;a href="mailto:pgsql-es-ayuda-owner@postgresql.org"&gt;pgsql-es-ayuda-owner@postgresql.org&lt;/a&gt;] En nombre de Damian Culotta&lt;br&gt;Enviado el: Martes, 30 de Septiembre de 2008 05:28 p.m.&lt;br&gt;Para: &lt;a href="mailto:pgsql-es-ayuda@postgresql.org"&gt;pgsql-es-ayuda@postgresql.org&lt;/a&gt;&lt;br&gt;Asunto: Re: [pgsql-es-ayuda] Validaci&amp;#243;n de CUIT - Argentina&lt;p&gt;2008/9/30 Daniel Ferrer &amp;lt;&lt;a href="mailto:daniel.ferrer@ctd.com.ar"&gt;daniel.ferrer@ctd.com.ar&lt;/a&gt;&amp;gt;:&lt;br&gt;&amp;gt; Buenas Tardes a todos:&lt;br&gt;&amp;gt;                        Alguien tiene armada alguna funci&amp;#243;n para validar el&lt;br&gt;&amp;gt; CUIT (Clave &amp;#218;nica de Identificaci&amp;#243;n Tributaria) de Argentina.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Desde ya les agradezco.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Atte.&lt;br&gt;&amp;gt; ___________________________&lt;br&gt;&amp;gt; ASC Daniel Ferrer&lt;br&gt;&amp;gt; Gerente de Sistemas - CTD SRL&lt;br&gt;&amp;gt; Rosario - Argentina&lt;br&gt;&amp;gt; mailto:&lt;a href="mailto:daniel.ferrer@ctd.com.ar"&gt;daniel.ferrer@ctd.com.ar&lt;/a&gt;&lt;br&gt;&amp;gt; ___________________________&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; TIP 7: no olvides aumentar la configuraci&amp;#243;n del &amp;quot;free space map&amp;quot;&lt;br&gt;&amp;gt;&lt;p&gt;Salvo que se haya actualizado el asunto, hasta donde recuerdo, no est&amp;#225;&lt;br&gt;definida formalmente la funci&amp;#243;n para calcular la validez de un CUIT.&lt;br&gt;Si bien hay funciones dando vueltas (yo no tengo encima ninguna en&lt;br&gt;este momento) que servir&amp;#237;an para hacerlo, no son &amp;quot;oficiles&amp;quot;.&lt;br&gt;Ojal&amp;#225; me est&amp;#233; equivocando y alquien pueda darte la referncia a un&lt;br&gt;instructivo de la AFIP.&lt;br&gt;Saludos.&lt;br&gt;--&lt;br&gt;TIP 6: &amp;#191;Has buscado en los archivos de nuestra lista de correo?&lt;br&gt;               &lt;a href="http://archives.postgresql.org/pgsql-es-ayuda"&gt;http://archives.postgresql.org/pgsql-es-ayuda&lt;/a&gt;&lt;p&gt;--&lt;br&gt;TIP 9: visita nuestro canal de IRC #postgresql-es en &lt;a href="http://irc.freenode.net"&gt;irc.freenode.net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-4568112400180569102?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/4568112400180569102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=4568112400180569102' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4568112400180569102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4568112400180569102'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/pgsql-es-ayuda-re-pgsql-es-ayuda.html' title='[pgsql-es-ayuda] RE: [pgsql-es-ayuda] Validación de CUIT - Argentina'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1267745083338903430</id><published>2008-09-30T13:27:00.000-07:00</published><updated>2008-09-30T13:29:09.028-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] Validación de CUIT - Argentina</title><content type='html'>2008/9/30 Daniel Ferrer &amp;lt;&lt;a href="mailto:daniel.ferrer@ctd.com.ar"&gt;daniel.ferrer@ctd.com.ar&lt;/a&gt;&amp;gt;:&lt;br&gt;&amp;gt; Buenas Tardes a todos:&lt;br&gt;&amp;gt;                        Alguien tiene armada alguna funci&amp;#243;n para validar el&lt;br&gt;&amp;gt; CUIT (Clave &amp;#218;nica de Identificaci&amp;#243;n Tributaria) de Argentina.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Desde ya les agradezco.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Atte.&lt;br&gt;&amp;gt; ___________________________&lt;br&gt;&amp;gt; ASC Daniel Ferrer&lt;br&gt;&amp;gt; Gerente de Sistemas - CTD SRL&lt;br&gt;&amp;gt; Rosario - Argentina&lt;br&gt;&amp;gt; mailto:&lt;a href="mailto:daniel.ferrer@ctd.com.ar"&gt;daniel.ferrer@ctd.com.ar&lt;/a&gt;&lt;br&gt;&amp;gt; ___________________________&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; TIP 7: no olvides aumentar la configuraci&amp;#243;n del &amp;quot;free space map&amp;quot;&lt;br&gt;&amp;gt;&lt;p&gt;Salvo que se haya actualizado el asunto, hasta donde recuerdo, no est&amp;#225;&lt;br&gt;definida formalmente la funci&amp;#243;n para calcular la validez de un CUIT.&lt;br&gt;Si bien hay funciones dando vueltas (yo no tengo encima ninguna en&lt;br&gt;este momento) que servir&amp;#237;an para hacerlo, no son &amp;quot;oficiles&amp;quot;.&lt;br&gt;Ojal&amp;#225; me est&amp;#233; equivocando y alquien pueda darte la referncia a un&lt;br&gt;instructivo de la AFIP.&lt;br&gt;Saludos.&lt;br&gt;--&lt;br&gt;TIP 6: &amp;#191;Has buscado en los archivos de nuestra lista de correo?&lt;br&gt;               &lt;a href="http://archives.postgresql.org/pgsql-es-ayuda"&gt;http://archives.postgresql.org/pgsql-es-ayuda&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1267745083338903430?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1267745083338903430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1267745083338903430' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1267745083338903430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1267745083338903430'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-validacin-de-cuit.html' title='Re: [pgsql-es-ayuda] Validación de CUIT - Argentina'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-8304383937770913945</id><published>2008-09-30T13:25:00.000-07:00</published><updated>2008-09-30T13:26:35.860-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] wxwidgets libpq error de codificacion de caracteres</title><content type='html'>Podrias pegar la salida del error o el log?&lt;br&gt;Fijate el enconding de la base tambi&amp;#233;n, en especial si compilaste el codigo.&lt;p&gt;El d&amp;#237;a 30 de septiembre de 2008 17:21, Pedro Mateo&lt;br&gt;&amp;lt;&lt;a href="mailto:pedromateoa@gmail.com"&gt;pedromateoa@gmail.com&lt;/a&gt;&amp;gt; escribi&amp;#243;:&lt;br&gt;&amp;gt; hola a todos&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; en DEBIAN&lt;br&gt;&amp;gt; estoy haciendo un programa en c++ con wxwidgets y con librerias  de C para&lt;br&gt;&amp;gt; conectarse a postgres (libpq )&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; en vez de tomar como std::string estoy usando wxString en todo el programa&lt;br&gt;&amp;gt; pues tiene mas funcionalidades y es la clase que maneja las cadenas en las&lt;br&gt;&amp;gt; wxwidgets&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; hay una funcion de libpq que se llama PQprepared que en uno de sus&lt;br&gt;&amp;gt; parametros recibe un arreglo de cadenas, con un arreglo int que contiene los&lt;br&gt;&amp;gt; diferentes tamanos de cada cadena&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; yo creo el arreglo de cadenas y voy copiando de instancias de wxstring para&lt;br&gt;&amp;gt; llenarlos, cosa que me esta saliendo bien&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; el programa compila correctamente, pero cuando lo ejecuto me da un error de&lt;br&gt;&amp;gt; codificacion de caracteres&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; parece que wxstring no maneja el misma codificacion que trabaja postgres que&lt;br&gt;&amp;gt; usa uft8&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; no se mucho de esos asuntos pero imaginaba que al instalar las librerias C&lt;br&gt;&amp;gt; para conectase a postgres y las librerias wxwidgets asi como el posgres&lt;br&gt;&amp;gt; estas utilizarian los locales de DEBIAN que son uno do_es.utf8 (para&lt;br&gt;&amp;gt; republica dominicana ) o algo asi&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; en fin&lt;br&gt;&amp;gt; agradeceria la ayuda, pues estoy trancado&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;--&lt;br&gt;TIP 8: explain analyze es tu amigo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-8304383937770913945?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/8304383937770913945/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=8304383937770913945' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8304383937770913945'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8304383937770913945'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-wxwidgets-libpq-error.html' title='Re: [pgsql-es-ayuda] wxwidgets libpq error de codificacion de caracteres'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-3000482795167473798</id><published>2008-09-30T13:21:00.000-07:00</published><updated>2008-09-30T13:22:43.396-07:00</updated><title type='text'>[pgsql-es-ayuda] wxwidgets libpq error de codificacion de caracteres</title><content type='html'>&lt;span class="gmail_quote"&gt;&lt;/span&gt; &lt;div&gt;hola a todos&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;en DEBIAN&lt;/div&gt; &lt;div&gt;estoy haciendo un programa en c++ con wxwidgets y&amp;nbsp;con librerias&amp;nbsp; de C para conectarse a postgres (libpq )&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;en vez de tomar como std::string estoy usando wxString en todo el programa pues tiene mas funcionalidades y es la clase que maneja las cadenas en las wxwidgets&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;hay una funcion de libpq que se llama PQprepared que en uno de sus parametros recibe un arreglo de cadenas, con un arreglo int que contiene los diferentes tamanos de cada cadena&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;yo creo el arreglo de cadenas y voy copiando de instancias de wxstring para llenarlos, cosa que me esta saliendo bien&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;el programa compila correctamente, pero cuando lo ejecuto me da un error de codificacion de caracteres&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;parece que wxstring no maneja el misma codificacion que trabaja postgres que usa uft8&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;no se mucho de esos asuntos pero imaginaba que al instalar las librerias C para conectase a postgres y las librerias wxwidgets asi como el posgres estas utilizarian los locales de DEBIAN que son uno do_es.utf8 (para republica dominicana ) o algo asi&lt;/div&gt;  &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;en fin&lt;/div&gt; &lt;div&gt;agradeceria la ayuda, pues estoy trancado&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-3000482795167473798?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/3000482795167473798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=3000482795167473798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3000482795167473798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3000482795167473798'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/pgsql-es-ayuda-wxwidgets-libpq-error-de.html' title='[pgsql-es-ayuda] wxwidgets libpq error de codificacion de caracteres'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-5727511646000197316</id><published>2008-09-30T13:17:00.000-07:00</published><updated>2008-09-30T13:18:30.221-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] Insertar imagen tipo bytea</title><content type='html'>Claro como el agua! Gracias Alvaro!&lt;p&gt;&lt;br&gt;El d&amp;#237;a 30 de septiembre de 2008 17:03, Alvaro Herrera&lt;br&gt;&amp;lt;&lt;a href="mailto:alvherre@alvh.no-ip.org"&gt;alvherre@alvh.no-ip.org&lt;/a&gt;&amp;gt; escribi&amp;#243;:&lt;br&gt;&amp;gt; postgres Emanuel CALVO FRANCO escribi&amp;#243;:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; entonces ... cual seria la funcion que inserta la imagen directamente&lt;br&gt;&amp;gt;&amp;gt; en la tabla?&lt;br&gt;&amp;gt;&amp;gt; o mejor dicho, que me permita leer una imagen y acoplarla la la query&lt;br&gt;&amp;gt;&amp;gt; de inserci&amp;#243;n.&lt;br&gt;&amp;gt;&amp;gt; o la respuesta es: &amp;#39;tenes que insertarlo desde la aplicacion, parseas&lt;br&gt;&amp;gt;&amp;gt; la instrucci&amp;#243;n y listo&amp;#39;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Efectivamente :-)&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Algunos lenguajes tienen soporte para expandir &amp;quot;placeholders&amp;quot; en la&lt;br&gt;&amp;gt; consulta, como mostraba el amigo que hizo la pregunta.  En PHP (!) se ve&lt;br&gt;&amp;gt; algo as&amp;#237;:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; $imagen = file_get_contents(&amp;quot;/home/john/sarah_palin.png&amp;quot;);&lt;br&gt;&amp;gt; pg_query(&amp;quot;insert into friends (photo) values (?)&amp;quot;, $imagen)&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; (En realidad no s&amp;#233; si pg_query admite hacer eso; s&amp;#233; que PDO puede, pero&lt;br&gt;&amp;gt; espero que se entienda la idea).&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; Alvaro Herrera       Valdivia, Chile   ICBM: S 39&amp;#186; 48&amp;#39; 55.3&amp;quot;, W 73&amp;#186; 15&amp;#39; 24.7&amp;quot;&lt;br&gt;&amp;gt; &amp;quot;La conclusi&amp;#243;n que podemos sacar de esos estudios es que&lt;br&gt;&amp;gt; no podemos sacar ninguna conclusi&amp;#243;n de ellos&amp;quot; (Tanenbaum)&lt;br&gt;&amp;gt;&lt;br&gt;--&lt;br&gt;TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podr&amp;#225; leerlo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-5727511646000197316?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/5727511646000197316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=5727511646000197316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5727511646000197316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5727511646000197316'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-insertar-imagen-tipo_4442.html' title='Re: [pgsql-es-ayuda] Insertar imagen tipo bytea'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1398417821491644160</id><published>2008-09-30T13:03:00.000-07:00</published><updated>2008-09-30T13:04:03.001-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] Insertar imagen tipo bytea</title><content type='html'>postgres Emanuel CALVO FRANCO escribi&amp;#243;:&lt;p&gt;&amp;gt; entonces ... cual seria la funcion que inserta la imagen directamente&lt;br&gt;&amp;gt; en la tabla?&lt;br&gt;&amp;gt; o mejor dicho, que me permita leer una imagen y acoplarla la la query&lt;br&gt;&amp;gt; de inserci&amp;#243;n.&lt;br&gt;&amp;gt; o la respuesta es: &amp;#39;tenes que insertarlo desde la aplicacion, parseas&lt;br&gt;&amp;gt; la instrucci&amp;#243;n y listo&amp;#39;&lt;p&gt;Efectivamente :-)&lt;p&gt;Algunos lenguajes tienen soporte para expandir &amp;quot;placeholders&amp;quot; en la&lt;br&gt;consulta, como mostraba el amigo que hizo la pregunta.  En PHP (!) se ve&lt;br&gt;algo as&amp;#237;:&lt;p&gt;$imagen = file_get_contents(&amp;quot;/home/john/sarah_palin.png&amp;quot;);&lt;br&gt;pg_query(&amp;quot;insert into friends (photo) values (?)&amp;quot;, $imagen)&lt;p&gt;(En realidad no s&amp;#233; si pg_query admite hacer eso; s&amp;#233; que PDO puede, pero&lt;br&gt;espero que se entienda la idea).&lt;p&gt;-- &lt;br&gt;Alvaro Herrera       Valdivia, Chile   ICBM: S 39&amp;#186; 48&amp;#39; 55.3&amp;quot;, W 73&amp;#186; 15&amp;#39; 24.7&amp;quot;&lt;br&gt;&amp;quot;La conclusi&amp;#243;n que podemos sacar de esos estudios es que&lt;br&gt;no podemos sacar ninguna conclusi&amp;#243;n de ellos&amp;quot; (Tanenbaum)&lt;br&gt;--&lt;br&gt;TIP 6: &amp;#191;Has buscado en los archivos de nuestra lista de correo?&lt;br&gt;               &lt;a href="http://archives.postgresql.org/pgsql-es-ayuda"&gt;http://archives.postgresql.org/pgsql-es-ayuda&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1398417821491644160?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1398417821491644160/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1398417821491644160' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1398417821491644160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1398417821491644160'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-insertar-imagen-tipo_6415.html' title='Re: [pgsql-es-ayuda] Insertar imagen tipo bytea'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-987938088198358550</id><published>2008-09-30T12:53:00.000-07:00</published><updated>2008-09-30T12:54:39.804-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] Insertar imagen tipo bytea</title><content type='html'>copio a la lista porque le err&amp;#233; a la direccion....&lt;p&gt;&lt;br&gt;entonces ... cual seria la funcion que inserta la imagen directamente&lt;br&gt;en la tabla?&lt;br&gt;o mejor dicho, que me permita leer una imagen y acoplarla la la query&lt;br&gt;de inserci&amp;#243;n.&lt;br&gt;o la respuesta es: &amp;#39;tenes que insertarlo desde la aplicacion, parseas&lt;br&gt;la instrucci&amp;#243;n y listo&amp;#39;&lt;br&gt;perd&amp;#243;n si le estoy pifiando peor todavia... ;P&lt;p&gt;El d&amp;#237;a 30 de septiembre de 2008 16:52, postgres Emanuel CALVO FRANCO&lt;br&gt;&amp;lt;&lt;a href="mailto:postgres.arg@gmail.com"&gt;postgres.arg@gmail.com&lt;/a&gt;&amp;gt; escribi&amp;#243;:&lt;br&gt;&amp;gt; enteonces ... cual seria la funcion que inserta la imagen directamente&lt;br&gt;&amp;gt; en la tabla?&lt;br&gt;&amp;gt; o mejor dicho, que me permita leer una imagen y acoplarla la la query&lt;br&gt;&amp;gt; de inserci&amp;#243;n.&lt;br&gt;&amp;gt; o la respuesta es: &amp;#39;tenes que insertarlo desde la aplicacion, parseas&lt;br&gt;&amp;gt; la instrucci&amp;#243;n y listo&amp;#39;&lt;br&gt;&amp;gt; perd&amp;#243;n si le estoy pifiando peor todavia... ;P&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; 2008/9/30 Alvaro Herrera &amp;lt;&lt;a href="mailto:alvherre@alvh.no-ip.org"&gt;alvherre@alvh.no-ip.org&lt;/a&gt;&amp;gt;:&lt;br&gt;&amp;gt;&amp;gt; postgres Emanuel CALVO FRANCO escribi&amp;#243;:&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Entonces le quedaria usar&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; lo_read(PGconn *conn, int fd, char *buf, size_t len);&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; y lo_open ?&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; por lo que si bien import lo que hace es devolver un oid, las funciones&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; que levantan los large objects utilizan estas funciones. o le estoy&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; pifiando fiero?&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Le estas pifiando, porque las funciones lo_* funcionan con large&lt;br&gt;&amp;gt;&amp;gt; objects (crean, abren, cierran, escriben).  La clave de mi mensaje&lt;br&gt;&amp;gt;&amp;gt; anterior es que bytea no es &amp;quot;large objects&amp;quot;.  No necesitas abrir y&lt;br&gt;&amp;gt;&amp;gt; cerrar un bytea, por ejemplo.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; --&lt;br&gt;&amp;gt;&amp;gt; Alvaro Herrera                &lt;a href="http://www.amazon.com/gp/registry/3BP7BYG9PUGI8"&gt;http://www.amazon.com/gp/registry/3BP7BYG9PUGI8&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;Escucha y olvidar&amp;#225;s; ve y recordar&amp;#225;s; haz y entender&amp;#225;s&amp;quot; (Confucio)&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;--&lt;br&gt;TIP 3: Si encontraste la respuesta a tu problema, publ&amp;#237;cala, otros te lo agradecer&amp;#225;n&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-987938088198358550?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/987938088198358550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=987938088198358550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/987938088198358550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/987938088198358550'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-insertar-imagen-tipo_8383.html' title='Re: [pgsql-es-ayuda] Insertar imagen tipo bytea'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2926930821403905367</id><published>2008-09-30T12:42:00.000-07:00</published><updated>2008-09-30T12:43:51.445-07:00</updated><title type='text'>Re: [GENERAL] Why Does UPDATE Take So Long?</title><content type='html'>On Tue, Sep 30, 2008 at 1:00 PM, Bill Thoen &amp;lt;&lt;a href="mailto:bthoen@gisnet.com"&gt;bthoen@gisnet.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; Working with PG 8.1 I&amp;#39;m trying to update a char(4) column, and it&amp;#39;s taking a&lt;br&gt;&amp;gt; very long time; 15 minutes so far and no end in sight. From the explain, it&lt;br&gt;&amp;gt; doesn&amp;#39;t seem like it should take that long, and this column is not indexed.&lt;br&gt;&amp;gt; Sure, there&amp;#39;s 2.7 million records but it only takes a few minutes to scan&lt;br&gt;&amp;gt; the whole file. Is there some special overhead I should be aware of with an&lt;br&gt;&amp;gt; UPDATE? I VACUUMed and ANALYZEd first, too.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Or am I just expecting too much?&lt;p&gt;The problem is that on older versions of pgsql, the db had to update&lt;br&gt;each index for each row updated as well as the rows.  The latest&lt;br&gt;version, with a low enough fill factor, can update non-indedexed&lt;br&gt;fields by using the free space in each page and not have to hit the&lt;br&gt;indexes.  But on 8.1 you don&amp;#39;t get that optimization.&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2926930821403905367?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2926930821403905367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2926930821403905367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2926930821403905367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2926930821403905367'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-why-does-update-take-so-long_4236.html' title='Re: [GENERAL] Why Does UPDATE Take So Long?'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-5423014901251952764</id><published>2008-09-30T12:39:00.000-07:00</published><updated>2008-09-30T12:40:04.331-07:00</updated><title type='text'>Re: [HACKERS] Common Table Expressions (WITH RECURSIVE) patch </title><content type='html'>-----BEGIN PGP SIGNED MESSAGE-----&lt;br&gt;Hash: SHA1&lt;p&gt;Hi,&lt;p&gt;Le 30 sept. 08 &amp;#224; 20:03, Tom Lane a &amp;#233;crit :&lt;br&gt;&amp;gt; 	set_read_position(tupstore, &amp;amp;local_read_position);&lt;br&gt;&amp;gt; 	tuple = tuplestore_gettuple(tupstore, ...);&lt;br&gt;&amp;gt; 	get_read_position(tupstore, &amp;amp;local_read_position);&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; rather than just tuplestore_gettuple.  The set/get functions will be&lt;br&gt;&amp;gt; cheap enough that this is no big deal.  (Or maybe we should just&lt;br&gt;&amp;gt; provide a wrapper function that does this sequence?)&lt;p&gt;It seems to me to share some ideas with the MemoryContext concept:  &lt;br&gt;what about a TupstoreContext associated with tuplestore, you get a  &lt;br&gt;common default one if you don&amp;#39;t register your own, and use&lt;br&gt;	tuplestore_gettuple(MyTupstoreContext, ...);&lt;p&gt;Maybe some other API would benefit from the idea?&lt;p&gt;Regards,&lt;br&gt;- --&lt;br&gt;dim&lt;p&gt;&lt;br&gt;-----BEGIN PGP SIGNATURE-----&lt;br&gt;Version: GnuPG v1.4.9 (Darwin)&lt;p&gt;iEYEARECAAYFAkjigF4ACgkQlBXRlnbh1bkycQCgqs/+JBOd0SiN4xvKwLgEgi9F&lt;br&gt;BOYAoLm0Se6zs8cEAnoTlH6de7pLLh/l&lt;br&gt;=kzm1&lt;br&gt;-----END PGP SIGNATURE-----&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-5423014901251952764?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/5423014901251952764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=5423014901251952764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5423014901251952764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5423014901251952764'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-common-table-expressions_8091.html' title='Re: [HACKERS] Common Table Expressions (WITH RECURSIVE) patch '/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-3974274924766484879</id><published>2008-09-30T12:38:00.000-07:00</published><updated>2008-09-30T12:39:41.467-07:00</updated><title type='text'>Re: [GENERAL] Alias name from subquery</title><content type='html'>Thanks to Scott and Taras for pointing me to the crosstab functions. I &lt;br&gt;only had a quick look but they seem very helpful!&lt;p&gt;Kind regards,&lt;p&gt;Felix&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-3974274924766484879?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/3974274924766484879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=3974274924766484879' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3974274924766484879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3974274924766484879'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-alias-name-from-subquery_3021.html' title='Re: [GENERAL] Alias name from subquery'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-9059799204069182424</id><published>2008-09-30T12:36:00.001-07:00</published><updated>2008-09-30T12:42:38.394-07:00</updated><title type='text'>Re: [GENERAL] Why Does UPDATE Take So Long?</title><content type='html'>On Tue, 2008-09-30 at 13:00 -0600, Bill Thoen wrote:&lt;br&gt;&amp;gt; Working with PG 8.1 I&amp;#39;m trying to update a char(4) column, and it&amp;#39;s &lt;br&gt;&amp;gt; taking a very long time; 15 minutes so far and no end in sight. From the &lt;br&gt;&amp;gt; explain, it doesn&amp;#39;t seem like it should take that long, and this column &lt;br&gt;&amp;gt; is not indexed. Sure, there&amp;#39;s 2.7 million records but it only takes a &lt;br&gt;&amp;gt; few minutes to scan the whole file. Is there some special overhead I &lt;br&gt;&amp;gt; should be aware of with an UPDATE? I VACUUMed and ANALYZEd first, too.&lt;br&gt;&amp;gt; &lt;p&gt;In PostgreSQL, think of an UPDATE as an INSERT+DELETE. It&amp;#39;s got to write&lt;br&gt;the new versions of the tuples, and it has to keep the old versions&lt;br&gt;until there are no more transactions that might reference those old&lt;br&gt;versions. Imagine if you canceled the query halfway through, for&lt;br&gt;example. Also, it has to create new index entries for the same reason,&lt;br&gt;which is expensive.&lt;p&gt;There are some optimizations in 8.3 for when the same tuple gets updated&lt;br&gt;many times, but that won&amp;#39;t help you in this case. &lt;p&gt;Regards,&lt;br&gt;	Jeff Davis&lt;p&gt;&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-9059799204069182424?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/9059799204069182424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=9059799204069182424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/9059799204069182424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/9059799204069182424'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-why-does-update-take-so-long_7003.html' title='Re: [GENERAL] Why Does UPDATE Take So Long?'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2098054009462738420</id><published>2008-09-30T12:36:00.000-07:00</published><updated>2008-09-30T12:37:13.112-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] Insertar imagen tipo bytea</title><content type='html'>postgres Emanuel CALVO FRANCO escribi&amp;#243;:&lt;br&gt;&amp;gt; Entonces le quedaria usar&lt;br&gt;&amp;gt; lo_read(PGconn *conn, int fd, char *buf, size_t len);&lt;br&gt;&amp;gt; y lo_open ?&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; por lo que si bien import lo que hace es devolver un oid, las funciones&lt;br&gt;&amp;gt; que levantan los large objects utilizan estas funciones. o le estoy&lt;br&gt;&amp;gt; pifiando fiero?&lt;p&gt;Le estas pifiando, porque las funciones lo_* funcionan con large&lt;br&gt;objects (crean, abren, cierran, escriben).  La clave de mi mensaje&lt;br&gt;anterior es que bytea no es &amp;quot;large objects&amp;quot;.  No necesitas abrir y&lt;br&gt;cerrar un bytea, por ejemplo.&lt;p&gt;-- &lt;br&gt;Alvaro Herrera                &lt;a href="http://www.amazon.com/gp/registry/3BP7BYG9PUGI8"&gt;http://www.amazon.com/gp/registry/3BP7BYG9PUGI8&lt;/a&gt;&lt;br&gt;&amp;quot;Escucha y olvidar&amp;#225;s; ve y recordar&amp;#225;s; haz y entender&amp;#225;s&amp;quot; (Confucio)&lt;br&gt;--&lt;br&gt;TIP 7: no olvides aumentar la configuraci&amp;#243;n del &amp;quot;free space map&amp;quot;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2098054009462738420?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2098054009462738420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2098054009462738420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2098054009462738420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2098054009462738420'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-insertar-imagen-tipo_30.html' title='Re: [pgsql-es-ayuda] Insertar imagen tipo bytea'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-4426608683496672540</id><published>2008-09-30T12:29:00.001-07:00</published><updated>2008-09-30T12:29:47.425-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] Insertar imagen tipo bytea</title><content type='html'>Entonces le quedaria usar&lt;br&gt;lo_read(PGconn *conn, int fd, char *buf, size_t len);&lt;br&gt;y lo_open ?&lt;p&gt;por lo que si bien import lo que hace es devolver un oid, las funciones&lt;br&gt;que levantan los large objects utilizan estas funciones. o le estoy&lt;br&gt;pifiando fiero?&lt;p&gt;&lt;br&gt;El d&amp;#237;a 30 de septiembre de 2008 12:18, Alvaro Herrera&lt;br&gt;&amp;lt;&lt;a href="mailto:alvherre@alvh.no-ip.org"&gt;alvherre@alvh.no-ip.org&lt;/a&gt;&amp;gt; escribi&amp;#243;:&lt;br&gt;&amp;gt; Linder Poclaba Lazaro escribi&amp;#243;:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Hola!&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; [TopLink Warning]: 2008.09.30 02:23:41.962--UnitOfWork(11595950)--Exception&lt;br&gt;&amp;gt;&amp;gt; [TOPLINK-4002] (Oracle TopLink Essentials - 2.0.1 (Build b09d-fcs&lt;br&gt;&amp;gt;&amp;gt; (12/06/2007))): oracle.toplink.essentials.exceptions.DatabaseException&lt;br&gt;&amp;gt;&amp;gt; Internal Exception: org.postgresql.util.PSQLException: ERROR: column&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;imagen&amp;quot; is of type bytea but expression is of type oid&lt;br&gt;&amp;gt;&amp;gt; Error Code: 0&lt;br&gt;&amp;gt;&amp;gt; Call: INSERT INTO public.joya (estado, cliente_idcliente, cantidad,&lt;br&gt;&amp;gt;&amp;gt; peso_otros, imagen, descripcion, peso_bruto, inscripciones, tasacion,&lt;br&gt;&amp;gt;&amp;gt; idpreforma_joya, kilataje_idkilataje, tipo_joya_idtipo_joya) VALUES (?, ?,&lt;br&gt;&amp;gt;&amp;gt; ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)&lt;br&gt;&amp;gt;&amp;gt;         bind =&amp;gt; [muy bueno, 0, 1, 1.3, null, anillo de oro, 44.0, regalo,&lt;br&gt;&amp;gt;&amp;gt; 4.0, 13, 1, 1]&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Est&amp;#225;s mezclando las cosas.  No debes confundir el concepto de un large&lt;br&gt;&amp;gt; object con una columna de tipo bytea.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Una columna de tipo bytea lleva la imagen misma, es decir la secuencia&lt;br&gt;&amp;gt; bytes que la componen.  Una columna de tipo oid lleva un OID (es decir&lt;br&gt;&amp;gt; un identificador num&amp;#233;rico), que es una referencia a un &amp;quot;large object&amp;quot;.&lt;br&gt;&amp;gt; En este &amp;#250;ltimo caso los bytes que forman la imagen se guardan en otra&lt;br&gt;&amp;gt; tabla (pg_largeobject), y debes importarlos usando lo_import.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; B&amp;#225;sicamente, ese &amp;quot;null&amp;quot; que tienes ah&amp;#237; debe ir declarado como tipo&lt;br&gt;&amp;gt; bytea, no como oid.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; Alvaro Herrera                  &lt;a href="http://www.amazon.com/gp/registry/5ZYLFMCVHXC"&gt;http://www.amazon.com/gp/registry/5ZYLFMCVHXC&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;quot;La realidad se compone de muchos sue&amp;#241;os, todos ellos diferentes,&lt;br&gt;&amp;gt; pero en cierto aspecto, parecidos...&amp;quot; (Yo, hablando de sue&amp;#241;os er&amp;#243;ticos)&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; TIP 6: &amp;#191;Has buscado en los archivos de nuestra lista de correo?&lt;br&gt;&amp;gt;               &lt;a href="http://archives.postgresql.org/pgsql-es-ayuda"&gt;http://archives.postgresql.org/pgsql-es-ayuda&lt;/a&gt;&lt;br&gt;&amp;gt;&lt;br&gt;--&lt;br&gt;TIP 6: &amp;#191;Has buscado en los archivos de nuestra lista de correo?&lt;br&gt;               &lt;a href="http://archives.postgresql.org/pgsql-es-ayuda"&gt;http://archives.postgresql.org/pgsql-es-ayuda&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-4426608683496672540?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/4426608683496672540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=4426608683496672540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4426608683496672540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4426608683496672540'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-insertar-imagen-tipo.html' title='Re: [pgsql-es-ayuda] Insertar imagen tipo bytea'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-4066164562664381766</id><published>2008-09-30T12:26:00.000-07:00</published><updated>2008-09-30T12:27:27.655-07:00</updated><title type='text'>Re: [ADMIN] What process clears the logs?</title><content type='html'>Carol Walter wrote:&lt;br&gt;&amp;gt; Greetings,&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; As you may be aware, we experienced a problem last week with pg_clogs &lt;br&gt;&amp;gt; that had been deleted, through human error it appears.  What process &lt;br&gt;&amp;gt; will clear or delete the pg_clogs?  I&amp;#39;ve been all over the &lt;br&gt;&amp;gt; documentation and I&amp;#39;m not finding a reference to this.&lt;br&gt;&amp;gt;&lt;br&gt;PostgreSQL takes care of this itself. I don&amp;#39;t know where it is &lt;br&gt;documented but IIRC from old messages, the number of files in pg_xlog &lt;br&gt;should level out at about two-times your checkpoint_settings value.&lt;p&gt;I&amp;#39;d have to do some digging as I don&amp;#39;t recall for sure, but I think that &lt;br&gt;if you are using archive_command setting to archive WAL files  the &lt;br&gt;archive command does not return &amp;quot;success&amp;quot;, then the WAL file will not be &lt;br&gt;removed/reused.&lt;p&gt;Cheers,&lt;br&gt;Steve&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-admin mailing list (&lt;a href="mailto:pgsql-admin@postgresql.org"&gt;pgsql-admin@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-admin"&gt;http://www.postgresql.org/mailpref/pgsql-admin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-4066164562664381766?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/4066164562664381766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=4066164562664381766' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4066164562664381766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4066164562664381766'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-admin-what-process-clears-logs.html' title='Re: [ADMIN] What process clears the logs?'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2110467534336896700</id><published>2008-09-30T12:23:00.000-07:00</published><updated>2008-09-30T12:25:01.770-07:00</updated><title type='text'>Re: [HACKERS] Block-level CRC checks</title><content type='html'>On Tue, 30 Sep 2008, Heikki Linnakangas wrote:&lt;p&gt;&amp;gt; Doesn&amp;#39;t some filesystems include a per-block CRC, which would achieve the &lt;br&gt;&amp;gt; same thing? ZFS?&lt;p&gt;Yes, there is a popular advoacy piece for ZFS with a high-level view of &lt;br&gt;why and how they implement that at &lt;br&gt;&lt;a href="http://blogs.sun.com/bonwick/entry/zfs_end_to_end_data"&gt;http://blogs.sun.com/bonwick/entry/zfs_end_to_end_data&lt;/a&gt; The guarantees are &lt;br&gt;stronger than what you can get if you just put a CRC in the block itself. &lt;br&gt;I&amp;#39;d never really thought too hard about putting this in the database &lt;br&gt;knowing that ZFS is available for environments where this is a concern, &lt;br&gt;but it certainly would be a nice addition.&lt;p&gt;The best analysis I&amp;#39;ve ever seen that makes a case for OS or higher level &lt;br&gt;disk checksums of some sort, by looking at the myriad ways that disks and &lt;br&gt;disk arrays fail in the real world, is in &lt;br&gt;&lt;a href="http://www.usenix.org/event/fast08/tech/full_papers/bairavasundaram/bairavasundaram.pdf"&gt;http://www.usenix.org/event/fast08/tech/full_papers/bairavasundaram/bairavasundaram.pdf&lt;/a&gt; &lt;br&gt;(there is a shorter version that hits the high points of that at &lt;br&gt;&lt;a href="http://www.usenix.org/publications/login/2008-06/openpdfs/bairavasundaram.pdf"&gt;http://www.usenix.org/publications/login/2008-06/openpdfs/bairavasundaram.pdf&lt;/a&gt; &lt;br&gt;)&lt;p&gt;One really interesting bit in there I&amp;#39;d never seen before is that they &lt;br&gt;find real data that supports the stand that enterprise drives are &lt;br&gt;significantly more reliable than consumer ones.  While general failure &lt;br&gt;rates aren&amp;#39;t that different, &amp;quot;SATA disks have an order of magnitude higher &lt;br&gt;probability of developing checksum mismatches than Fibre Channel disks. We &lt;br&gt;find that 0.66% of SATA disks develop at least one mismatch during the &lt;br&gt;first 17 months in the field, whereas only 0.06% of Fibre Channel disks &lt;br&gt;develop a mismatch during that time.&amp;quot;&lt;p&gt;--&lt;br&gt;* Greg Smith &lt;a href="mailto:gsmith@gregsmith.com"&gt;gsmith@gregsmith.com&lt;/a&gt; &lt;a href="http://www.gregsmith.com"&gt;http://www.gregsmith.com&lt;/a&gt; Baltimore, MD&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2110467534336896700?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2110467534336896700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2110467534336896700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2110467534336896700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2110467534336896700'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-block-level-crc-checks_231.html' title='Re: [HACKERS] Block-level CRC checks'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-266681665334029977</id><published>2008-09-30T12:20:00.000-07:00</published><updated>2008-09-30T12:22:07.890-07:00</updated><title type='text'>Re: [GENERAL] Why Does UPDATE Take So Long?</title><content type='html'>Bill Thoen &amp;lt;&lt;a href="mailto:bthoen@gisnet.com"&gt;bthoen@gisnet.com&lt;/a&gt;&amp;gt; schrieb:&lt;p&gt;&amp;gt; Working with PG 8.1 I&amp;#39;m trying to update a char(4) column, and it&amp;#39;s  &lt;br&gt;&amp;gt; taking a very long time; 15 minutes so far and no end in sight. From the  &lt;br&gt;&amp;gt; explain, it doesn&amp;#39;t seem like it should take that long, and this column  &lt;br&gt;&amp;gt; is not indexed. Sure, there&amp;#39;s 2.7 million records but it only takes a  &lt;br&gt;&amp;gt; few minutes to scan the whole file. Is there some special overhead I  &lt;br&gt;&amp;gt; should be aware of with an UPDATE? I VACUUMed and ANALYZEd first, too.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Or am I just expecting too much?&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Here&amp;#39;s the explain:&lt;br&gt;&amp;gt; explain UPDATE farms SET prog_year=&amp;#39;2007&amp;#39;;&lt;br&gt;&amp;gt;                           QUERY PLAN&lt;br&gt;&amp;gt; ----------------------------------------------------------------&lt;br&gt;&amp;gt; Seq Scan on farms  (cost=0.00..59144.07 rows=2772207 width=54)&lt;br&gt;&amp;gt; (1 row)&lt;p&gt;Please provide us an EXPLAIN ANALYSE. But without a WHERE-condition a&lt;br&gt;seq-scan are logical, and PG has to rewrite the whole table and the&lt;br&gt;transaction-log.&lt;p&gt;&lt;br&gt;Andreas&lt;br&gt;-- &lt;br&gt;Really, I&amp;#39;m not out to destroy Microsoft. That will just be a completely&lt;br&gt;unintentional side effect.                              (Linus Torvalds)&lt;br&gt;&amp;quot;If I was god, I would recompile penguin with --enable-fly.&amp;quot;   (unknown)&lt;br&gt;Kaufbach, Saxony, Germany, Europe.              N 51.05082&amp;#176;, E 13.56889&amp;#176;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-266681665334029977?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/266681665334029977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=266681665334029977' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/266681665334029977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/266681665334029977'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-why-does-update-take-so-long_30.html' title='Re: [GENERAL] Why Does UPDATE Take So Long?'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-8824148475392240964</id><published>2008-09-30T12:17:00.000-07:00</published><updated>2008-09-30T12:44:36.066-07:00</updated><title type='text'>Re: [HACKERS] Block-level CRC checks</title><content type='html'>&amp;gt; A customer of ours has been having trouble with corrupted data for some&lt;br&gt;&amp;gt; time.  Of course, we&amp;#39;ve almost always blamed hardware (and we&amp;#39;ve seen&lt;br&gt;&amp;gt; RAID controllers have their firmware upgraded, among other actions), but&lt;br&gt;&amp;gt; the useful thing to know is when corruption has happened, and where.&lt;p&gt;That is an important statement, to know when it happens not necessarily to&lt;br&gt;be able to recover the block or where in the block it is corrupt. Is that&lt;br&gt;correct?&lt;p&gt;&amp;gt;&lt;br&gt;&amp;gt; So we&amp;#39;ve been tasked with adding CRCs to data files.&lt;p&gt;CRC or checksum? If the objective is merely general &amp;quot;detection&amp;quot; there&lt;br&gt;should be some latitude in choosing the methodology for performance.&lt;p&gt;&amp;gt;&lt;br&gt;&amp;gt; The idea is that these CRCs are going to be checked just after reading&lt;br&gt;&amp;gt; files from disk, and calculated just before writing it.  They are&lt;br&gt;&amp;gt; just a protection against the storage layer going mad; they are not&lt;br&gt;&amp;gt; intended to protect against faulty RAM, CPU or kernel.&lt;p&gt;It will actually find faults in all if it. If the CPU can&amp;#39;t add and/or a&lt;br&gt;RAM location lost a bit, this will blow up just as easily as a bad block.&lt;br&gt;It may cause &amp;quot;false identification&amp;quot; of an error, but it will keep a bad&lt;br&gt;system from hiding.&lt;p&gt;&amp;gt;&lt;br&gt;&amp;gt; This code would be run-time or compile-time configurable.  I&amp;#39;m not&lt;br&gt;&amp;gt; absolutely sure which yet; the problem with run-time is what to do if&lt;br&gt;&amp;gt; the user restarts the server with the setting flipped.  It would have&lt;br&gt;&amp;gt; almost no impact on users who don&amp;#39;t enable it.&lt;p&gt;CPU capacity on modern hardware within a small area of RAM is practically&lt;br&gt;infinite when compared to any sort of I/O.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; The implementation I&amp;#39;m envisioning requires the use of a new relation&lt;br&gt;&amp;gt; fork to store the per-block CRCs.  Initially I&amp;#39;m aiming at a CRC32 sum&lt;br&gt;&amp;gt; for each block.  FlushBuffer would calculate the checksum and store it&lt;br&gt;&amp;gt; in the CRC fork; ReadBuffer_common would read the page, calculate the&lt;br&gt;&amp;gt; checksum, and compare it to the one stored in the CRC fork.&lt;p&gt;Hell, all that is needed is a long or a short checksum value in the block.&lt;br&gt;I mean, if you just want a sanity test, it doesn&amp;#39;t take much. Using a&lt;br&gt;second relation creates confusion. If there is a CRC discrepancy between&lt;br&gt;two different blocks, who&amp;#39;s wrong? You need a third &amp;quot;control&amp;quot; to know. If&lt;br&gt;the block knows its CRC or checksum and that is in error, the block is&lt;br&gt;bad.&lt;p&gt;&amp;gt;&lt;br&gt;&amp;gt; A buffer&amp;#39;s io_in_progress lock protects the buffer&amp;#39;s CRC.  We read and&lt;br&gt;&amp;gt; pin the CRC page before acquiring the lock, to avoid having two buffer&lt;br&gt;&amp;gt; IO operations in flight.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; I&amp;#39;d like to submit this for 8.4, but I want to ensure that -hackers at&lt;br&gt;&amp;gt; large approve of this feature before starting serious coding.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Opinions?&lt;p&gt;If its fast enough, its a good idea. It could be very helpful in&lt;br&gt;protecting users data.&lt;p&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; Alvaro Herrera&lt;br&gt;&amp;gt; &lt;a href="http://www.CommandPrompt.com/"&gt;http://www.CommandPrompt.com/&lt;/a&gt;&lt;br&gt;&amp;gt; PostgreSQL Replication, Consulting, Custom Development, 24x7 support&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;&amp;gt; To make changes to your subscription:&lt;br&gt;&amp;gt; &lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;br&gt;&amp;gt;&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-8824148475392240964?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/8824148475392240964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=8824148475392240964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8824148475392240964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8824148475392240964'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-block-level-crc-checks_5473.html' title='Re: [HACKERS] Block-level CRC checks'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2983376019506314580</id><published>2008-09-30T12:14:00.000-07:00</published><updated>2008-09-30T12:21:45.446-07:00</updated><title type='text'>Re: [GENERAL] Why Does UPDATE Take So Long?</title><content type='html'>On Tuesday 30 September 2008, Bill Thoen &amp;lt;&lt;a href="mailto:bthoen@gisnet.com"&gt;bthoen@gisnet.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; Working with PG 8.1 I&amp;#39;m trying to update a char(4) column, and it&amp;#39;s&lt;br&gt;&amp;gt; taking a very long time; 15 minutes so far and no end in sight. From the&lt;br&gt;&amp;gt; explain, it doesn&amp;#39;t seem like it should take that long, and this column&lt;br&gt;&amp;gt; is not indexed. Sure, there&amp;#39;s 2.7 million records but it only takes a&lt;br&gt;&amp;gt; few minutes to scan the whole file. Is there some special overhead I&lt;br&gt;&amp;gt; should be aware of with an UPDATE? I VACUUMed and ANALYZEd first, too.&lt;p&gt;update creates new rows for all affected rows. If the table is indexed, it &lt;br&gt;creates new index rows for all affected rows in every index. Slow updates &lt;br&gt;is a common PostgreSQL complaint.&lt;p&gt;-- &lt;br&gt;Alan&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2983376019506314580?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2983376019506314580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2983376019506314580' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2983376019506314580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2983376019506314580'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-why-does-update-take-so-long.html' title='Re: [GENERAL] Why Does UPDATE Take So Long?'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-7206537009163301663</id><published>2008-09-30T12:00:00.001-07:00</published><updated>2008-09-30T12:01:54.903-07:00</updated><title type='text'>Re: [HACKERS] Block-level CRC checks</title><content type='html'>Alvaro Herrera wrote:&lt;br&gt;&amp;gt; Initially I&amp;#39;m aiming at a CRC32 sum&lt;br&gt;&amp;gt; for each block.  FlushBuffer would calculate the checksum and store it&lt;br&gt;&amp;gt; in the CRC fork; ReadBuffer_common would read the page, calculate the&lt;br&gt;&amp;gt; checksum, and compare it to the one stored in the CRC fork.&lt;p&gt;There&amp;#39;s one fundamental problem with that, related to the way our hint &lt;br&gt;bits are written.&lt;p&gt;Currently, hint bit updates are not WAL-logged, and thus no full page &lt;br&gt;write is done when only hint bits are changed. Imagine what happens if &lt;br&gt;hint bits are updated on a page, but there&amp;#39;s no other changes, and we &lt;br&gt;crash so that only one half of the new page version makes it to disk (= &lt;br&gt;torn page). The CRC would not match, even though the page is actually valid.&lt;p&gt;-- &lt;br&gt;   Heikki Linnakangas&lt;br&gt;   EnterpriseDB   &lt;a href="http://www.enterprisedb.com"&gt;http://www.enterprisedb.com&lt;/a&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-7206537009163301663?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/7206537009163301663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=7206537009163301663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7206537009163301663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7206537009163301663'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-block-level-crc-checks_3680.html' title='Re: [HACKERS] Block-level CRC checks'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-8524289259457186830</id><published>2008-09-30T12:00:00.000-07:00</published><updated>2008-09-30T11:54:46.819-07:00</updated><title type='text'>[GENERAL] Why Does UPDATE Take So Long?</title><content type='html'>Working with PG 8.1 I&amp;#39;m trying to update a char(4) column, and it&amp;#39;s &lt;br&gt;taking a very long time; 15 minutes so far and no end in sight. From the &lt;br&gt;explain, it doesn&amp;#39;t seem like it should take that long, and this column &lt;br&gt;is not indexed. Sure, there&amp;#39;s 2.7 million records but it only takes a &lt;br&gt;few minutes to scan the whole file. Is there some special overhead I &lt;br&gt;should be aware of with an UPDATE? I VACUUMed and ANALYZEd first, too.&lt;p&gt;Or am I just expecting too much?&lt;p&gt;Here&amp;#39;s the explain:&lt;br&gt;explain UPDATE farms SET prog_year=&amp;#39;2007&amp;#39;;&lt;br&gt;                           QUERY PLAN&lt;br&gt;----------------------------------------------------------------&lt;br&gt; Seq Scan on farms  (cost=0.00..59144.07 rows=2772207 width=54)&lt;br&gt;(1 row)&lt;p&gt;&lt;br&gt;TIA,&lt;br&gt;- Bill Thoen&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-8524289259457186830?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/8524289259457186830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=8524289259457186830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8524289259457186830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8524289259457186830'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/general-why-does-update-take-so-long.html' title='[GENERAL] Why Does UPDATE Take So Long?'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-5401435104211958429</id><published>2008-09-30T11:56:00.000-07:00</published><updated>2008-09-30T11:58:51.527-07:00</updated><title type='text'>Re: [HACKERS] Block-level CRC checks</title><content type='html'>Hello Alvaro,&lt;p&gt;some random thoughts while reading your proposal follow...&lt;p&gt;Alvaro Herrera wrote:&lt;br&gt;&amp;gt; So we&amp;#39;ve been tasked with adding CRCs to data files.&lt;p&gt;Disks get larger and relative reliability shrinks, it seems. So I agree&lt;br&gt;that this is a worthwhile thing to have. But shouldn&amp;#39;t that be the job&lt;br&gt;of the filesystem? Think of ZFS or the upcoming BTRFS.&lt;p&gt;&amp;gt; The idea is that these CRCs are going to be checked just after reading&lt;br&gt;&amp;gt; files from disk, and calculated just before writing it.  They are&lt;br&gt;&amp;gt; just a protection against the storage layer going mad; they are not&lt;br&gt;&amp;gt; intended to protect against faulty RAM, CPU or kernel.&lt;p&gt;That sounds reasonable if we do it from Postgres.&lt;p&gt;&amp;gt; This code would be run-time or compile-time configurable.  I&amp;#39;m not&lt;br&gt;&amp;gt; absolutely sure which yet; the problem with run-time is what to do if&lt;br&gt;&amp;gt; the user restarts the server with the setting flipped.  It would have&lt;br&gt;&amp;gt; almost no impact on users who don&amp;#39;t enable it.&lt;p&gt;I&amp;#39;d say calculating a CRC is close enough to be considered &amp;quot;no impact&amp;quot;.&lt;br&gt;A single core of a modern CPU easily reaches way above 200 MiB/s&lt;br&gt;throughput for CRC32 today. See [1].&lt;p&gt;Maybe consider Adler-32 which is 3-4x faster [2], also part of zlib and&lt;br&gt;AFAIK about equally safe for 8k blocks and above.&lt;p&gt;&amp;gt; The implementation I&amp;#39;m envisioning requires the use of a new relation&lt;br&gt;&amp;gt; fork to store the per-block CRCs.  Initially I&amp;#39;m aiming at a CRC32 sum&lt;br&gt;&amp;gt; for each block.  FlushBuffer would calculate the checksum and store it&lt;br&gt;&amp;gt; in the CRC fork; ReadBuffer_common would read the page, calculate the&lt;br&gt;&amp;gt; checksum, and compare it to the one stored in the CRC fork.&lt;p&gt;Huh? Aren&amp;#39;t CRCs normally stored as part of the block they are supposed&lt;br&gt;to protect? Or how do you expect to ensure the data from the CRC&lt;br&gt;relation fork is correct? How about crash safety (a data block written,&lt;br&gt;but not its CRC block or vice versa)?&lt;p&gt;Wouldn&amp;#39;t that double the amount of seeking required for writes?&lt;p&gt;&amp;gt; I&amp;#39;d like to submit this for 8.4, but I want to ensure that -hackers at&lt;br&gt;&amp;gt; large approve of this feature before starting serious coding.&lt;p&gt;Very cool!&lt;p&gt;Regards&lt;p&gt;Markus Wanner&lt;p&gt;[1]: Crypto++ benchmarks:&lt;br&gt;&lt;a href="http://www.cryptopp.com/benchmarks.html"&gt;http://www.cryptopp.com/benchmarks.html&lt;/a&gt;&lt;p&gt;[2]: Wikipedia about hash functions:&lt;br&gt;&lt;a href="http://en.wikipedia.org/wiki/List_of_hash_functions#Computational_costs_of_CRCs_vs_Hashes"&gt;http://en.wikipedia.org/wiki/List_of_hash_functions#Computational_costs_of_CRCs_vs_Hashes&lt;/a&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-5401435104211958429?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/5401435104211958429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=5401435104211958429' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5401435104211958429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5401435104211958429'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-block-level-crc-checks_5946.html' title='Re: [HACKERS] Block-level CRC checks'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-994891654144801616</id><published>2008-09-30T11:55:00.000-07:00</published><updated>2008-09-30T11:56:35.365-07:00</updated><title type='text'>Re: [ADMIN] turning of pg_xlog</title><content type='html'>Tom Lane wrote:&lt;br&gt;&amp;gt; Chander Ganesan &amp;lt;&lt;a href="mailto:chander@otg-nc.com"&gt;chander@otg-nc.com&lt;/a&gt;&amp;gt; writes:&lt;br&gt;&amp;gt;   &lt;br&gt;&amp;gt;&amp;gt; You should also understand that if you set checkpoint_segments to a &lt;br&gt;&amp;gt;&amp;gt; small number, its still possible that PostgreSQL might use more than &lt;br&gt;&amp;gt;&amp;gt; that number for a large transaction.&lt;br&gt;&amp;gt;&amp;gt;     &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; &amp;quot;Large transactions&amp;quot; have nothing to do with this.  You are confusing&lt;br&gt;&amp;gt; Postgres&amp;#39; implementation with Oracle&amp;#39;s.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; 			regards, tom lane&lt;br&gt;Okay.  I guess my use of the word &amp;quot;transaction&amp;quot; here was erroneous - &lt;br&gt;probably comes from my oracle background :-( .  However, the fact &lt;br&gt;remains that its possible to exceed checkpoint_segments in certain &lt;br&gt;scenarios (I think the docs refer to it as a peak in log creation or &lt;br&gt;something like that), which - if it fills up the disk that the WALs are &lt;br&gt;on, can result in issues...  And one should be wary of that when trying &lt;br&gt;to limit the number of WALs in order to meet limited disk space &lt;br&gt;requirements.&lt;p&gt;-- &lt;br&gt;Chander Ganesan&lt;br&gt;Open Technology Group, Inc.&lt;br&gt;One Copley Parkway, Suite 210&lt;br&gt;Morrisville, NC  27560&lt;br&gt;919-463-0999/877-258-8987&lt;br&gt;&lt;a href="http://www.otg-nc.com"&gt;http://www.otg-nc.com&lt;/a&gt;&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-admin mailing list (&lt;a href="mailto:pgsql-admin@postgresql.org"&gt;pgsql-admin@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-admin"&gt;http://www.postgresql.org/mailpref/pgsql-admin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-994891654144801616?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/994891654144801616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=994891654144801616' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/994891654144801616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/994891654144801616'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-admin-turning-of-pgxlog_6382.html' title='Re: [ADMIN] turning of pg_xlog'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-314553908840404860</id><published>2008-09-30T11:51:00.000-07:00</published><updated>2008-09-30T11:52:41.114-07:00</updated><title type='text'>Re: [HACKERS] Block-level CRC checks</title><content type='html'>On Tue, Sep 30, 2008 at 2:49 PM, Joshua Drake &amp;lt;&lt;a href="mailto:jd@commandprompt.com"&gt;jd@commandprompt.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; On Tue, 30 Sep 2008 14:33:04 -0400&lt;br&gt;&amp;gt; &amp;quot;Jonah H. Harris&amp;quot; &amp;lt;&lt;a href="mailto:jonah.harris@gmail.com"&gt;jonah.harris@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; I&amp;#39;d like to submit this for 8.4, but I want to ensure that -hackers&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; at large approve of this feature before starting serious coding.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; IMHO, this is a functionality that should be enabled by default (as it&lt;br&gt;&amp;gt;&amp;gt; is on most other RDBMS).  It would&amp;#39;ve prevented severe corruption in&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; What other RDMS have it enabled by default?&lt;p&gt;Oracle and (I belive) SQL Server &amp;gt;= 2005&lt;p&gt;-- &lt;br&gt;Jonah H. Harris, Senior DBA&lt;br&gt;myYearbook.com&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-314553908840404860?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/314553908840404860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=314553908840404860' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/314553908840404860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/314553908840404860'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-block-level-crc-checks_2306.html' title='Re: [HACKERS] Block-level CRC checks'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-5673107081186587446</id><published>2008-09-30T11:49:00.001-07:00</published><updated>2008-09-30T11:58:55.927-07:00</updated><title type='text'>Re: [ADMIN] turning of pg_xlog </title><content type='html'>I might have to disagree here.  I personally experienced a scenario&lt;br&gt;where I had 500 MB of file space defined for my WAL log files and then&lt;br&gt;attempted (not thinking it through thoroughly) to perform a COPY of a&lt;br&gt;very large (1.8 GB) dataset and kept adding WAL files until my file&lt;br&gt;system filled up and then the instance crashed. &lt;p&gt;-----Original Message-----&lt;br&gt;From: &lt;a href="mailto:pgsql-admin-owner@postgresql.org"&gt;pgsql-admin-owner@postgresql.org&lt;/a&gt;&lt;br&gt;[mailto:&lt;a href="mailto:pgsql-admin-owner@postgresql.org"&gt;pgsql-admin-owner@postgresql.org&lt;/a&gt;] On Behalf Of Tom Lane&lt;br&gt;Sent: Tuesday, September 30, 2008 1:45 PM&lt;br&gt;To: Chander Ganesan&lt;br&gt;Cc: Jonny; &lt;a href="mailto:pgsql-admin@postgresql.org"&gt;pgsql-admin@postgresql.org&lt;/a&gt;&lt;br&gt;Subject: Re: [ADMIN] turning of pg_xlog &lt;p&gt;Chander Ganesan &amp;lt;&lt;a href="mailto:chander@otg-nc.com"&gt;chander@otg-nc.com&lt;/a&gt;&amp;gt; writes:&lt;br&gt;&amp;gt; You should also understand that if you set checkpoint_segments to a &lt;br&gt;&amp;gt; small number, its still possible that PostgreSQL might use more than &lt;br&gt;&amp;gt; that number for a large transaction.&lt;p&gt;&amp;quot;Large transactions&amp;quot; have nothing to do with this.  You are confusing&lt;br&gt;Postgres&amp;#39; implementation with Oracle&amp;#39;s.&lt;p&gt;			regards, tom lane&lt;p&gt;-- &lt;br&gt;Sent via pgsql-admin mailing list (&lt;a href="mailto:pgsql-admin@postgresql.org"&gt;pgsql-admin@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-admin"&gt;http://www.postgresql.org/mailpref/pgsql-admin&lt;/a&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-admin mailing list (&lt;a href="mailto:pgsql-admin@postgresql.org"&gt;pgsql-admin@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-admin"&gt;http://www.postgresql.org/mailpref/pgsql-admin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-5673107081186587446?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/5673107081186587446/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=5673107081186587446' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5673107081186587446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5673107081186587446'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-admin-turning-of-pgxlog_4189.html' title='Re: [ADMIN] turning of pg_xlog '/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-5049166437956564798</id><published>2008-09-30T11:49:00.000-07:00</published><updated>2008-09-30T11:51:16.761-07:00</updated><title type='text'>Re: [HACKERS] Block-level CRC checks</title><content type='html'>On Tue, 30 Sep 2008 14:33:04 -0400&lt;br&gt;&amp;quot;Jonah H. Harris&amp;quot; &amp;lt;&lt;a href="mailto:jonah.harris@gmail.com"&gt;jonah.harris@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;p&gt;&amp;gt; &amp;gt; I&amp;#39;d like to submit this for 8.4, but I want to ensure that -hackers&lt;br&gt;&amp;gt; &amp;gt; at large approve of this feature before starting serious coding.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; IMHO, this is a functionality that should be enabled by default (as it&lt;br&gt;&amp;gt; is on most other RDBMS).  It would&amp;#39;ve prevented severe corruption in&lt;p&gt;What other RDMS have it enabled by default?&lt;p&gt;Sincerely,&lt;p&gt;Joshua D. Drake&lt;p&gt; &lt;p&gt;&lt;br&gt;-- &lt;br&gt;The PostgreSQL Company since 1997: &lt;a href="http://www.commandprompt.com/"&gt;http://www.commandprompt.com/&lt;/a&gt; &lt;br&gt;PostgreSQL Community Conference: &lt;a href="http://www.postgresqlconference.org/"&gt;http://www.postgresqlconference.org/&lt;/a&gt;&lt;br&gt;United States PostgreSQL Association: &lt;a href="http://www.postgresql.us/"&gt;http://www.postgresql.us/&lt;/a&gt;&lt;p&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-5049166437956564798?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/5049166437956564798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=5049166437956564798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5049166437956564798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5049166437956564798'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-block-level-crc-checks_9568.html' title='Re: [HACKERS] Block-level CRC checks'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2013993440715951515</id><published>2008-09-30T11:48:00.000-07:00</published><updated>2008-09-30T11:50:19.292-07:00</updated><title type='text'>Re: [HACKERS] Block-level CRC checks</title><content type='html'>Alvaro Herrera wrote:&lt;br&gt;&amp;gt; A customer of ours has been having trouble with corrupted data for some&lt;br&gt;&amp;gt; time.  Of course, we&amp;#39;ve almost always blamed hardware (and we&amp;#39;ve seen&lt;br&gt;&amp;gt; RAID controllers have their firmware upgraded, among other actions), but&lt;br&gt;&amp;gt; the useful thing to know is when corruption has happened, and where.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; So we&amp;#39;ve been tasked with adding CRCs to data files.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; The idea is that these CRCs are going to be checked just after reading&lt;br&gt;&amp;gt; files from disk, and calculated just before writing it.  They are&lt;br&gt;&amp;gt; just a protection against the storage layer going mad; they are not&lt;br&gt;&amp;gt; intended to protect against faulty RAM, CPU or kernel.&lt;p&gt;This has been suggested before, and the usual objection is precisely &lt;br&gt;that it only protects from errors in the storage layer, giving a false &lt;br&gt;sense of security.&lt;p&gt;Doesn&amp;#39;t some filesystems include a per-block CRC, which would achieve &lt;br&gt;the same thing? ZFS?&lt;p&gt;&amp;gt; This code would be run-time or compile-time configurable.  I&amp;#39;m not&lt;br&gt;&amp;gt; absolutely sure which yet; the problem with run-time is what to do if&lt;br&gt;&amp;gt; the user restarts the server with the setting flipped.  It would have&lt;br&gt;&amp;gt; almost no impact on users who don&amp;#39;t enable it.&lt;p&gt;Yeah, seems like it would need to be compile-time or initdb-time &lt;br&gt;configurable.&lt;p&gt;&amp;gt; The implementation I&amp;#39;m envisioning requires the use of a new relation&lt;br&gt;&amp;gt; fork to store the per-block CRCs.  Initially I&amp;#39;m aiming at a CRC32 sum&lt;br&gt;&amp;gt; for each block.  FlushBuffer would calculate the checksum and store it&lt;br&gt;&amp;gt; in the CRC fork; ReadBuffer_common would read the page, calculate the&lt;br&gt;&amp;gt; checksum, and compare it to the one stored in the CRC fork.&lt;p&gt;Surely it would be much simpler to just add a field to the page header.&lt;p&gt;-- &lt;br&gt;   Heikki Linnakangas&lt;br&gt;   EnterpriseDB   &lt;a href="http://www.enterprisedb.com"&gt;http://www.enterprisedb.com&lt;/a&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2013993440715951515?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2013993440715951515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2013993440715951515' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2013993440715951515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2013993440715951515'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-block-level-crc-checks_8011.html' title='Re: [HACKERS] Block-level CRC checks'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-9045807680849260088</id><published>2008-09-30T11:44:00.000-07:00</published><updated>2008-09-30T11:48:38.936-07:00</updated><title type='text'>Re: [ADMIN] turning of pg_xlog </title><content type='html'>Chander Ganesan &amp;lt;&lt;a href="mailto:chander@otg-nc.com"&gt;chander@otg-nc.com&lt;/a&gt;&amp;gt; writes:&lt;br&gt;&amp;gt; You should also understand that if you set checkpoint_segments to a &lt;br&gt;&amp;gt; small number, its still possible that PostgreSQL might use more than &lt;br&gt;&amp;gt; that number for a large transaction.&lt;p&gt;&amp;quot;Large transactions&amp;quot; have nothing to do with this.  You are confusing&lt;br&gt;Postgres&amp;#39; implementation with Oracle&amp;#39;s.&lt;p&gt;			regards, tom lane&lt;p&gt;-- &lt;br&gt;Sent via pgsql-admin mailing list (&lt;a href="mailto:pgsql-admin@postgresql.org"&gt;pgsql-admin@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-admin"&gt;http://www.postgresql.org/mailpref/pgsql-admin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-9045807680849260088?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/9045807680849260088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=9045807680849260088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/9045807680849260088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/9045807680849260088'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-admin-turning-of-pgxlog_30.html' title='Re: [ADMIN] turning of pg_xlog '/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-715629121639889930</id><published>2008-09-30T11:43:00.000-07:00</published><updated>2008-09-30T11:48:21.197-07:00</updated><title type='text'>Re: [HACKERS] Block-level CRC checks </title><content type='html'>Alvaro Herrera &amp;lt;&lt;a href="mailto:alvherre@commandprompt.com"&gt;alvherre@commandprompt.com&lt;/a&gt;&amp;gt; writes:&lt;br&gt;&amp;gt; The implementation I&amp;#39;m envisioning requires the use of a new relation&lt;br&gt;&amp;gt; fork to store the per-block CRCs.&lt;p&gt;That seems bizarre, and expensive, and if you lose one block of the CRC&lt;br&gt;fork you lose confidence in a LOT of data.  Why not keep the CRCs in the&lt;br&gt;page headers?&lt;p&gt;&amp;gt; A buffer&amp;#39;s io_in_progress lock protects the buffer&amp;#39;s CRC.&lt;p&gt;Unfortunately, it doesn&amp;#39;t.  See hint bits.&lt;p&gt;			regards, tom lane&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-715629121639889930?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/715629121639889930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=715629121639889930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/715629121639889930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/715629121639889930'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-block-level-crc-checks_30.html' title='Re: [HACKERS] Block-level CRC checks '/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-6394220110308585378</id><published>2008-09-30T11:41:00.000-07:00</published><updated>2008-09-30T12:03:28.371-07:00</updated><title type='text'>[pgsql-es-ayuda] Validación de CUIT - Argentina</title><content type='html'>Buenas Tardes a todos:&lt;br&gt;			Alguien tiene armada alguna funci&amp;#243;n para validar el&lt;br&gt;CUIT (Clave &amp;#218;nica de Identificaci&amp;#243;n Tributaria) de Argentina.&lt;p&gt;Desde ya les agradezco.&lt;p&gt;Atte.&lt;br&gt;___________________________&lt;br&gt;ASC Daniel Ferrer&lt;br&gt;Gerente de Sistemas - CTD SRL &lt;br&gt;Rosario - Argentina&lt;br&gt;mailto:&lt;a href="mailto:daniel.ferrer@ctd.com.ar"&gt;daniel.ferrer@ctd.com.ar&lt;/a&gt;&lt;br&gt;___________________________&lt;p&gt;--&lt;br&gt;TIP 7: no olvides aumentar la configuraci&amp;#243;n del &amp;quot;free space map&amp;quot;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-6394220110308585378?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/6394220110308585378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=6394220110308585378' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6394220110308585378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6394220110308585378'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/pgsql-es-ayuda-validacin-de-cuit.html' title='[pgsql-es-ayuda] Validación de CUIT - Argentina'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-4394110648492293815</id><published>2008-09-30T11:36:00.000-07:00</published><updated>2008-09-30T11:38:57.968-07:00</updated><title type='text'>[HACKERS] pg_hba options parsing</title><content type='html'>*** a/src/backend/libpq/auth.c&lt;br&gt;--- b/src/backend/libpq/auth.c&lt;br&gt;***************&lt;br&gt;*** 126,134 **** char	   *pg_krb_realm = NULL;&lt;br&gt;   * MIT Kerberos authentication system - protocol version 5&lt;br&gt;   *----------------------------------------------------------------&lt;br&gt;   */&lt;br&gt;- static int pg_krb5_recvauth(Port *port);&lt;br&gt;- &lt;br&gt;  #ifdef KRB5&lt;br&gt;  &lt;br&gt;  #include &amp;lt;krb5.h&amp;gt;&lt;br&gt;  /* Some old versions of Kerberos do not include &amp;lt;com_err.h&amp;gt; in &amp;lt;krb5.h&amp;gt; */&lt;br&gt;--- 126,133 ----&lt;br&gt;   * MIT Kerberos authentication system - protocol version 5&lt;br&gt;   *----------------------------------------------------------------&lt;br&gt;   */&lt;br&gt;  #ifdef KRB5&lt;br&gt;+ static int pg_krb5_recvauth(Port *port);&lt;br&gt;  &lt;br&gt;  #include &amp;lt;krb5.h&amp;gt;&lt;br&gt;  /* Some old versions of Kerberos do not include &amp;lt;com_err.h&amp;gt; in &amp;lt;krb5.h&amp;gt; */&lt;br&gt;***************&lt;br&gt;*** 150,163 **** static krb5_principal pg_krb5_server;&lt;br&gt;   * GSSAPI Authentication&lt;br&gt;   *----------------------------------------------------------------&lt;br&gt;   */&lt;br&gt;- static int pg_GSS_recvauth(Port *port);&lt;br&gt;- &lt;br&gt;  #ifdef ENABLE_GSS&lt;br&gt;  #if defined(HAVE_GSSAPI_H)&lt;br&gt;  #include &amp;lt;gssapi.h&amp;gt;&lt;br&gt;  #else&lt;br&gt;  #include &amp;lt;gssapi/gssapi.h&amp;gt;&lt;br&gt;  #endif&lt;br&gt;  #endif /* ENABLE_GSS */&lt;br&gt;  &lt;br&gt;  &lt;br&gt;--- 149,162 ----&lt;br&gt;   * GSSAPI Authentication&lt;br&gt;   *----------------------------------------------------------------&lt;br&gt;   */&lt;br&gt;  #ifdef ENABLE_GSS&lt;br&gt;  #if defined(HAVE_GSSAPI_H)&lt;br&gt;  #include &amp;lt;gssapi.h&amp;gt;&lt;br&gt;  #else&lt;br&gt;  #include &amp;lt;gssapi/gssapi.h&amp;gt;&lt;br&gt;  #endif&lt;br&gt;+ &lt;br&gt;+ static int pg_GSS_recvauth(Port *port);&lt;br&gt;  #endif /* ENABLE_GSS */&lt;br&gt;  &lt;br&gt;  &lt;br&gt;***************&lt;br&gt;*** 165,176 **** static int pg_GSS_recvauth(Port *port);&lt;br&gt;   * SSPI Authentication&lt;br&gt;   *----------------------------------------------------------------&lt;br&gt;   */&lt;br&gt;- static int pg_SSPI_recvauth(Port *port);&lt;br&gt;- &lt;br&gt;  #ifdef ENABLE_SSPI&lt;br&gt;  typedef		SECURITY_STATUS&lt;br&gt;  			(WINAPI * QUERY_SECURITY_CONTEXT_TOKEN_FN) (&lt;br&gt;  													   PCtxtHandle, void **);&lt;br&gt;  #endif&lt;br&gt;  &lt;br&gt;  &lt;br&gt;--- 164,174 ----&lt;br&gt;   * SSPI Authentication&lt;br&gt;   *----------------------------------------------------------------&lt;br&gt;   */&lt;br&gt;  #ifdef ENABLE_SSPI&lt;br&gt;  typedef		SECURITY_STATUS&lt;br&gt;  			(WINAPI * QUERY_SECURITY_CONTEXT_TOKEN_FN) (&lt;br&gt;  													   PCtxtHandle, void **);&lt;br&gt;+ static int pg_SSPI_recvauth(Port *port);&lt;br&gt;  #endif&lt;br&gt;  &lt;br&gt;  &lt;br&gt;***************&lt;br&gt;*** 236,251 **** auth_failed(Port *port, int status)&lt;br&gt;  		case uaPassword:&lt;br&gt;  			errstr = gettext_noop(&amp;quot;password authentication failed for user \&amp;quot;%s\&amp;quot;&amp;quot;);&lt;br&gt;  			break;&lt;br&gt;- #ifdef USE_PAM&lt;br&gt;  		case uaPAM:&lt;br&gt;  			errstr = gettext_noop(&amp;quot;PAM authentication failed for user \&amp;quot;%s\&amp;quot;&amp;quot;);&lt;br&gt;  			break;&lt;br&gt;- #endif   /* USE_PAM */&lt;br&gt;- #ifdef USE_LDAP&lt;br&gt;  		case uaLDAP:&lt;br&gt;  			errstr = gettext_noop(&amp;quot;LDAP authentication failed for user \&amp;quot;%s\&amp;quot;&amp;quot;);&lt;br&gt;  			break;&lt;br&gt;- #endif   /* USE_LDAP */&lt;br&gt;  		default:&lt;br&gt;  			errstr = gettext_noop(&amp;quot;authentication failed for user \&amp;quot;%s\&amp;quot;: invalid authentication method&amp;quot;);&lt;br&gt;  			break;&lt;br&gt;--- 234,245 ----&lt;br&gt;***************&lt;br&gt;*** 316,333 **** ClientAuthentication(Port *port)&lt;br&gt;--- 310,339 ----&lt;br&gt;  			}&lt;br&gt;  &lt;br&gt;  		case uaKrb5:&lt;br&gt;+ #ifdef KRB5&lt;br&gt;  			sendAuthRequest(port, AUTH_REQ_KRB5);&lt;br&gt;  			status = pg_krb5_recvauth(port);&lt;br&gt;+ #else&lt;br&gt;+ 			Assert(false);&lt;br&gt;+ #endif&lt;br&gt;  			break;&lt;br&gt;  &lt;br&gt;  		case uaGSS:&lt;br&gt;+ #ifdef ENABLE_GSS&lt;br&gt;  			sendAuthRequest(port, AUTH_REQ_GSS);&lt;br&gt;  			status = pg_GSS_recvauth(port);&lt;br&gt;+ #else&lt;br&gt;+ 			Assert(false);&lt;br&gt;+ #endif&lt;br&gt;  			break;&lt;br&gt;  &lt;br&gt;  		case uaSSPI:&lt;br&gt;+ #ifdef ENABLE_SSPI&lt;br&gt;  			sendAuthRequest(port, AUTH_REQ_SSPI);&lt;br&gt;  			status = pg_SSPI_recvauth(port);&lt;br&gt;+ #else&lt;br&gt;+ 			Assert(false);&lt;br&gt;+ #endif&lt;br&gt;  			break;&lt;br&gt;  &lt;br&gt;  		case uaIdent:&lt;br&gt;***************&lt;br&gt;*** 377,393 **** ClientAuthentication(Port *port)&lt;br&gt;  			status = recv_and_check_password_packet(port);&lt;br&gt;  			break;&lt;br&gt;  &lt;br&gt;- #ifdef USE_PAM&lt;br&gt;  		case uaPAM:&lt;br&gt;  			pam_port_cludge = port;&lt;br&gt;  			status = CheckPAMAuth(port, port-&amp;gt;user_name, &amp;quot;&amp;quot;);&lt;br&gt;  			break;&lt;br&gt;  #endif   /* USE_PAM */&lt;br&gt;  &lt;br&gt;- #ifdef USE_LDAP&lt;br&gt;  		case uaLDAP:&lt;br&gt;  			status = CheckLDAPAuth(port);&lt;br&gt;  			break;&lt;br&gt;  #endif&lt;br&gt;  &lt;br&gt;  		case uaTrust:&lt;br&gt;--- 383,403 ----&lt;br&gt;  			status = recv_and_check_password_packet(port);&lt;br&gt;  			break;&lt;br&gt;  &lt;br&gt;  		case uaPAM:&lt;br&gt;+ #ifdef USE_PAM&lt;br&gt;  			pam_port_cludge = port;&lt;br&gt;  			status = CheckPAMAuth(port, port-&amp;gt;user_name, &amp;quot;&amp;quot;);&lt;br&gt;+ #else&lt;br&gt;+ 			Assert(false);&lt;br&gt;  			break;&lt;br&gt;  #endif   /* USE_PAM */&lt;br&gt;  &lt;br&gt;  		case uaLDAP:&lt;br&gt;+ #ifdef USE_LDAP&lt;br&gt;  			status = CheckLDAPAuth(port);&lt;br&gt;  			break;&lt;br&gt;+ #else&lt;br&gt;+ 			Assert(false);&lt;br&gt;  #endif&lt;br&gt;  &lt;br&gt;  		case uaTrust:&lt;br&gt;***************&lt;br&gt;*** 713,731 **** pg_krb5_recvauth(Port *port)&lt;br&gt;  		return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	if (pg_krb_caseins_users)&lt;br&gt;! 		ret = pg_strncasecmp(port-&amp;gt;user_name, kusername, SM_DATABASE_USER);&lt;br&gt;! 	else&lt;br&gt;! 		ret = strncmp(port-&amp;gt;user_name, kusername, SM_DATABASE_USER);&lt;br&gt;! 	if (ret)&lt;br&gt;! 	{&lt;br&gt;! 		ereport(LOG,&lt;br&gt;! 				(errmsg(&amp;quot;unexpected Kerberos user name received from client (received \&amp;quot;%s\&amp;quot;, expected \&amp;quot;%s\&amp;quot;)&amp;quot;,&lt;br&gt;! 						port-&amp;gt;user_name, kusername)));&lt;br&gt;! 		ret = STATUS_ERROR;&lt;br&gt;! 	}&lt;br&gt;! 	else&lt;br&gt;! 		ret = STATUS_OK;&lt;br&gt;  &lt;br&gt;  	krb5_free_ticket(pg_krb5_context, ticket);&lt;br&gt;  	krb5_auth_con_free(pg_krb5_context, auth_context);&lt;br&gt;--- 723,730 ----&lt;br&gt;  		return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	ret = check_usermap(port-&amp;gt;hba-&amp;gt;usermap, port-&amp;gt;user_name, kusername,&lt;br&gt;! 						pg_krb_caseins_users);&lt;br&gt;  &lt;br&gt;  	krb5_free_ticket(pg_krb5_context, ticket);&lt;br&gt;  	krb5_auth_con_free(pg_krb5_context, auth_context);&lt;br&gt;***************&lt;br&gt;*** 733,748 **** pg_krb5_recvauth(Port *port)&lt;br&gt;  &lt;br&gt;  	return ret;&lt;br&gt;  }&lt;br&gt;- #else&lt;br&gt;- &lt;br&gt;- static int&lt;br&gt;- pg_krb5_recvauth(Port *port)&lt;br&gt;- {&lt;br&gt;- 	ereport(LOG,&lt;br&gt;- 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),&lt;br&gt;- 			 errmsg(&amp;quot;Kerberos 5 not implemented on this server&amp;quot;)));&lt;br&gt;- 	return STATUS_ERROR;&lt;br&gt;- }&lt;br&gt;  #endif   /* KRB5 */&lt;br&gt;  &lt;br&gt;  &lt;br&gt;--- 732,737 ----&lt;br&gt;***************&lt;br&gt;*** 1020,1057 **** pg_GSS_recvauth(Port *port)&lt;br&gt;  		return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	if (pg_krb_caseins_users)&lt;br&gt;! 		ret = pg_strcasecmp(port-&amp;gt;user_name, gbuf.value);&lt;br&gt;! 	else&lt;br&gt;! 		ret = strcmp(port-&amp;gt;user_name, gbuf.value);&lt;br&gt;! &lt;br&gt;! 	if (ret)&lt;br&gt;! 	{&lt;br&gt;! 		/* GSS name and PGUSER are not equivalent */&lt;br&gt;! 		elog(DEBUG2,&lt;br&gt;! 			 &amp;quot;provided username (%s) and GSSAPI username (%s) don&amp;#39;t match&amp;quot;,&lt;br&gt;! 			 port-&amp;gt;user_name, (char *) gbuf.value);&lt;br&gt;! &lt;br&gt;! 		gss_release_buffer(&amp;amp;lmin_s, &amp;amp;gbuf);&lt;br&gt;! 		return STATUS_ERROR;&lt;br&gt;! 	}&lt;br&gt;  &lt;br&gt;  	gss_release_buffer(&amp;amp;lmin_s, &amp;amp;gbuf);&lt;br&gt;  &lt;br&gt;  	return STATUS_OK;&lt;br&gt;  }&lt;br&gt;- &lt;br&gt;- #else							/* no ENABLE_GSS */&lt;br&gt;- &lt;br&gt;- static int&lt;br&gt;- pg_GSS_recvauth(Port *port)&lt;br&gt;- {&lt;br&gt;- 	ereport(LOG,&lt;br&gt;- 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),&lt;br&gt;- 			 errmsg(&amp;quot;GSSAPI not implemented on this server&amp;quot;)));&lt;br&gt;- 	return STATUS_ERROR;&lt;br&gt;- }&lt;br&gt;- &lt;br&gt;  #endif   /* ENABLE_GSS */&lt;br&gt;  &lt;br&gt;  &lt;br&gt;--- 1009,1021 ----&lt;br&gt;  		return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	ret = check_usermap(port-&amp;gt;hba-&amp;gt;usermap, port-&amp;gt;user_name, gbuf.value,&lt;br&gt;! 						pg_krb_caseins_users);&lt;br&gt;  &lt;br&gt;  	gss_release_buffer(&amp;amp;lmin_s, &amp;amp;gbuf);&lt;br&gt;  &lt;br&gt;  	return STATUS_OK;&lt;br&gt;  }&lt;br&gt;  #endif   /* ENABLE_GSS */&lt;br&gt;  &lt;br&gt;  &lt;br&gt;***************&lt;br&gt;*** 1328,1357 **** pg_SSPI_recvauth(Port *port)&lt;br&gt;  	 * We have the username (without domain/realm) in accountname, compare to&lt;br&gt;  	 * the supplied value. In SSPI, always compare case insensitive.&lt;br&gt;  	 */&lt;br&gt;! 	if (pg_strcasecmp(port-&amp;gt;user_name, accountname))&lt;br&gt;! 	{&lt;br&gt;! 		/* GSS name and PGUSER are not equivalent */&lt;br&gt;! 		elog(DEBUG2,&lt;br&gt;! 			 &amp;quot;provided username (%s) and SSPI username (%s) don&amp;#39;t match&amp;quot;,&lt;br&gt;! 			 port-&amp;gt;user_name, accountname);&lt;br&gt;! &lt;br&gt;! 		return STATUS_ERROR;&lt;br&gt;! 	}&lt;br&gt;! &lt;br&gt;! 	return STATUS_OK;&lt;br&gt;  }&lt;br&gt;- &lt;br&gt;- #else							/* no ENABLE_SSPI */&lt;br&gt;- &lt;br&gt;- static int&lt;br&gt;- pg_SSPI_recvauth(Port *port)&lt;br&gt;- {&lt;br&gt;- 	ereport(LOG,&lt;br&gt;- 			(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),&lt;br&gt;- 			 errmsg(&amp;quot;SSPI not implemented on this server&amp;quot;)));&lt;br&gt;- 	return STATUS_ERROR;&lt;br&gt;- }&lt;br&gt;- &lt;br&gt;  #endif   /* ENABLE_SSPI */&lt;br&gt;  &lt;br&gt;  &lt;br&gt;--- 1292,1299 ----&lt;br&gt;  	 * We have the username (without domain/realm) in accountname, compare to&lt;br&gt;  	 * the supplied value. In SSPI, always compare case insensitive.&lt;br&gt;  	 */&lt;br&gt;! 	return check_usermap(port-&amp;gt;hba-&amp;gt;usermap, port-&amp;gt;user_name, accountname, true);&lt;br&gt;  }&lt;br&gt;  #endif   /* ENABLE_SSPI */&lt;br&gt;  &lt;br&gt;  &lt;br&gt;***************&lt;br&gt;*** 1795,1808 **** authident(hbaPort *port)&lt;br&gt;  			return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	ereport(DEBUG2,&lt;br&gt;! 			(errmsg(&amp;quot;Ident protocol identifies remote user as \&amp;quot;%s\&amp;quot;&amp;quot;,&lt;br&gt;! 					ident_user)));&lt;br&gt;! &lt;br&gt;! 	if (check_ident_usermap(port-&amp;gt;hba-&amp;gt;usermap, port-&amp;gt;user_name, ident_user))&lt;br&gt;! 		return STATUS_OK;&lt;br&gt;! 	else&lt;br&gt;! 		return STATUS_ERROR;&lt;br&gt;  }&lt;br&gt;  &lt;br&gt;  &lt;br&gt;--- 1737,1743 ----&lt;br&gt;  			return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	return check_usermap(port-&amp;gt;hba-&amp;gt;usermap, port-&amp;gt;user_name, ident_user, false);&lt;br&gt;  }&lt;br&gt;  &lt;br&gt;  &lt;br&gt;***************&lt;br&gt;*** 1913,1920 **** CheckPAMAuth(Port *port, char *user, char *password)&lt;br&gt;  														 * not allocated */&lt;br&gt;  &lt;br&gt;  	/* Optionally, one can set the service name in pg_hba.conf */&lt;br&gt;! 	if (port-&amp;gt;hba-&amp;gt;auth_arg &amp;amp;&amp;amp; port-&amp;gt;hba-&amp;gt;auth_arg[0] != &amp;#39;\0&amp;#39;)&lt;br&gt;! 		retval = pam_start(port-&amp;gt;hba-&amp;gt;auth_arg, &amp;quot;pgsql@&amp;quot;,&lt;br&gt;  						   &amp;amp;pam_passw_conv, &amp;amp;pamh);&lt;br&gt;  	else&lt;br&gt;  		retval = pam_start(PGSQL_PAM_SERVICE, &amp;quot;pgsql@&amp;quot;,&lt;br&gt;--- 1848,1855 ----&lt;br&gt;  														 * not allocated */&lt;br&gt;  &lt;br&gt;  	/* Optionally, one can set the service name in pg_hba.conf */&lt;br&gt;! 	if (port-&amp;gt;hba-&amp;gt;pamservice &amp;amp;&amp;amp; port-&amp;gt;hba-&amp;gt;pamservice[0] != &amp;#39;\0&amp;#39;)&lt;br&gt;! 		retval = pam_start(port-&amp;gt;hba-&amp;gt;pamservice, &amp;quot;pgsql@&amp;quot;,&lt;br&gt;  						   &amp;amp;pam_passw_conv, &amp;amp;pamh);&lt;br&gt;  	else&lt;br&gt;  		retval = pam_start(PGSQL_PAM_SERVICE, &amp;quot;pgsql@&amp;quot;,&lt;br&gt;***************&lt;br&gt;*** 2000,2075 **** static int&lt;br&gt;  CheckLDAPAuth(Port *port)&lt;br&gt;  {&lt;br&gt;  	char	   *passwd;&lt;br&gt;- 	char		server[128];&lt;br&gt;- 	char		basedn[128];&lt;br&gt;- 	char		prefix[128];&lt;br&gt;- 	char		suffix[128];&lt;br&gt;  	LDAP	   *ldap;&lt;br&gt;- 	bool		ssl = false;&lt;br&gt;  	int			r;&lt;br&gt;  	int			ldapversion = LDAP_VERSION3;&lt;br&gt;- 	int			ldapport = LDAP_PORT;&lt;br&gt;  	char		fulluser[NAMEDATALEN + 256 + 1];&lt;br&gt;  &lt;br&gt;! 	if (!port-&amp;gt;hba-&amp;gt;auth_arg || port-&amp;gt;hba-&amp;gt;auth_arg[0] == &amp;#39;\0&amp;#39;)&lt;br&gt;  	{&lt;br&gt;  		ereport(LOG,&lt;br&gt;! 				(errmsg(&amp;quot;LDAP configuration URL not specified&amp;quot;)));&lt;br&gt;  		return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	/*&lt;br&gt;! 	 * Crack the LDAP url. We do a very trivial parse:&lt;br&gt;! 	 *&lt;br&gt;! 	 * ldap[s]://&amp;lt;server&amp;gt;[:&amp;lt;port&amp;gt;]/&amp;lt;basedn&amp;gt;[;prefix[;suffix]]&lt;br&gt;! 	 *&lt;br&gt;! 	 * This code originally used &amp;quot;%127s&amp;quot; for the suffix, but that doesn&amp;#39;t&lt;br&gt;! 	 * work for embedded whitespace.  We know that tokens formed by&lt;br&gt;! 	 * hba.c won&amp;#39;t include newlines, so we can use a &amp;quot;not newline&amp;quot; scanset&lt;br&gt;! 	 * instead.&lt;br&gt;! 	 */&lt;br&gt;! &lt;br&gt;! 	server[0] = &amp;#39;\0&amp;#39;;&lt;br&gt;! 	basedn[0] = &amp;#39;\0&amp;#39;;&lt;br&gt;! 	prefix[0] = &amp;#39;\0&amp;#39;;&lt;br&gt;! 	suffix[0] = &amp;#39;\0&amp;#39;;&lt;br&gt;! &lt;br&gt;! 	/* ldap, including port number */&lt;br&gt;! 	r = sscanf(port-&amp;gt;hba-&amp;gt;auth_arg,&lt;br&gt;! 			   &amp;quot;ldap://%127[^:]:%d/%127[^;];%127[^;];%127[^\n]&amp;quot;,&lt;br&gt;! 			   server, &amp;amp;ldapport, basedn, prefix, suffix);&lt;br&gt;! 	if (r &amp;lt; 3)&lt;br&gt;! 	{&lt;br&gt;! 		/* ldaps, including port number */&lt;br&gt;! 		r = sscanf(port-&amp;gt;hba-&amp;gt;auth_arg,&lt;br&gt;! 				   &amp;quot;ldaps://%127[^:]:%d/%127[^;];%127[^;];%127[^\n]&amp;quot;,&lt;br&gt;! 				   server, &amp;amp;ldapport, basedn, prefix, suffix);&lt;br&gt;! 		if (r &amp;gt;= 3)&lt;br&gt;! 			ssl = true;&lt;br&gt;! 	}&lt;br&gt;! 	if (r &amp;lt; 3)&lt;br&gt;! 	{&lt;br&gt;! 		/* ldap, no port number */&lt;br&gt;! 		r = sscanf(port-&amp;gt;hba-&amp;gt;auth_arg,&lt;br&gt;! 				   &amp;quot;ldap://%127[^/]/%127[^;];%127[^;];%127[^\n]&amp;quot;,&lt;br&gt;! 				   server, basedn, prefix, suffix);&lt;br&gt;! 	}&lt;br&gt;! 	if (r &amp;lt; 2)&lt;br&gt;! 	{&lt;br&gt;! 		/* ldaps, no port number */&lt;br&gt;! 		r = sscanf(port-&amp;gt;hba-&amp;gt;auth_arg,&lt;br&gt;! 				   &amp;quot;ldaps://%127[^/]/%127[^;];%127[^;];%127[^\n]&amp;quot;,&lt;br&gt;! 				   server, basedn, prefix, suffix);&lt;br&gt;! 		if (r &amp;gt;= 2)&lt;br&gt;! 			ssl = true;&lt;br&gt;! 	}&lt;br&gt;! 	if (r &amp;lt; 2)&lt;br&gt;! 	{&lt;br&gt;! 		ereport(LOG,&lt;br&gt;! 				(errmsg(&amp;quot;invalid LDAP URL: \&amp;quot;%s\&amp;quot;&amp;quot;,&lt;br&gt;! 						port-&amp;gt;hba-&amp;gt;auth_arg)));&lt;br&gt;! 		return STATUS_ERROR;&lt;br&gt;! 	}&lt;br&gt;  &lt;br&gt;  	sendAuthRequest(port, AUTH_REQ_PASSWORD);&lt;br&gt;  &lt;br&gt;--- 1935,1954 ----&lt;br&gt;  CheckLDAPAuth(Port *port)&lt;br&gt;  {&lt;br&gt;  	char	   *passwd;&lt;br&gt;  	LDAP	   *ldap;&lt;br&gt;  	int			r;&lt;br&gt;  	int			ldapversion = LDAP_VERSION3;&lt;br&gt;  	char		fulluser[NAMEDATALEN + 256 + 1];&lt;br&gt;  &lt;br&gt;! 	if (!port-&amp;gt;hba-&amp;gt;ldapserver|| port-&amp;gt;hba-&amp;gt;ldapserver[0] == &amp;#39;\0&amp;#39;)&lt;br&gt;  	{&lt;br&gt;  		ereport(LOG,&lt;br&gt;! 				(errmsg(&amp;quot;LDAP server not specified&amp;quot;)));&lt;br&gt;  		return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	if (port-&amp;gt;hba-&amp;gt;ldapport == 0)&lt;br&gt;! 		port-&amp;gt;hba-&amp;gt;ldapport = LDAP_PORT;&lt;br&gt;  &lt;br&gt;  	sendAuthRequest(port, AUTH_REQ_PASSWORD);&lt;br&gt;  &lt;br&gt;***************&lt;br&gt;*** 2077,2083 **** CheckLDAPAuth(Port *port)&lt;br&gt;  	if (passwd == NULL)&lt;br&gt;  		return STATUS_EOF;		/* client wouldn&amp;#39;t send password */&lt;br&gt;  &lt;br&gt;! 	ldap = ldap_init(server, ldapport);&lt;br&gt;  	if (!ldap)&lt;br&gt;  	{&lt;br&gt;  #ifndef WIN32&lt;br&gt;--- 1956,1962 ----&lt;br&gt;  	if (passwd == NULL)&lt;br&gt;  		return STATUS_EOF;		/* client wouldn&amp;#39;t send password */&lt;br&gt;  &lt;br&gt;! 	ldap = ldap_init(port-&amp;gt;hba-&amp;gt;ldapserver, port-&amp;gt;hba-&amp;gt;ldapport);&lt;br&gt;  	if (!ldap)&lt;br&gt;  	{&lt;br&gt;  #ifndef WIN32&lt;br&gt;***************&lt;br&gt;*** 2100,2106 **** CheckLDAPAuth(Port *port)&lt;br&gt;  		return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	if (ssl)&lt;br&gt;  	{&lt;br&gt;  #ifndef WIN32&lt;br&gt;  		if ((r = ldap_start_tls_s(ldap, NULL, NULL)) != LDAP_SUCCESS)&lt;br&gt;--- 1979,1985 ----&lt;br&gt;  		return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	if (port-&amp;gt;hba-&amp;gt;ldaptls)&lt;br&gt;  	{&lt;br&gt;  #ifndef WIN32&lt;br&gt;  		if ((r = ldap_start_tls_s(ldap, NULL, NULL)) != LDAP_SUCCESS)&lt;br&gt;***************&lt;br&gt;*** 2155,2161 **** CheckLDAPAuth(Port *port)&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;  	snprintf(fulluser, sizeof(fulluser), &amp;quot;%s%s%s&amp;quot;,&lt;br&gt;! 			 prefix, port-&amp;gt;user_name, suffix);&lt;br&gt;  	fulluser[sizeof(fulluser) - 1] = &amp;#39;\0&amp;#39;;&lt;br&gt;  &lt;br&gt;  	r = ldap_simple_bind_s(ldap, fulluser, passwd);&lt;br&gt;--- 2034,2042 ----&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;  	snprintf(fulluser, sizeof(fulluser), &amp;quot;%s%s%s&amp;quot;,&lt;br&gt;! 			 port-&amp;gt;hba-&amp;gt;ldapprefix?port-&amp;gt;hba-&amp;gt;ldapprefix:&amp;quot;&amp;quot;,&lt;br&gt;! 			 port-&amp;gt;user_name,&lt;br&gt;! 			 port-&amp;gt;hba-&amp;gt;ldapsuffix?port-&amp;gt;hba-&amp;gt;ldapsuffix:&amp;quot;&amp;quot;);&lt;br&gt;  	fulluser[sizeof(fulluser) - 1] = &amp;#39;\0&amp;#39;;&lt;br&gt;  &lt;br&gt;  	r = ldap_simple_bind_s(ldap, fulluser, passwd);&lt;br&gt;***************&lt;br&gt;*** 2165,2171 **** CheckLDAPAuth(Port *port)&lt;br&gt;  	{&lt;br&gt;  		ereport(LOG,&lt;br&gt;  				(errmsg(&amp;quot;LDAP login failed for user \&amp;quot;%s\&amp;quot; on server \&amp;quot;%s\&amp;quot;: error code %d&amp;quot;,&lt;br&gt;! 						fulluser, server, r)));&lt;br&gt;  		return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;--- 2046,2052 ----&lt;br&gt;  	{&lt;br&gt;  		ereport(LOG,&lt;br&gt;  				(errmsg(&amp;quot;LDAP login failed for user \&amp;quot;%s\&amp;quot; on server \&amp;quot;%s\&amp;quot;: error code %d&amp;quot;,&lt;br&gt;! 						fulluser, port-&amp;gt;hba-&amp;gt;ldapserver, r)));&lt;br&gt;  		return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;*** a/src/backend/libpq/hba.c&lt;br&gt;--- b/src/backend/libpq/hba.c&lt;br&gt;***************&lt;br&gt;*** 565,570 **** check_db(const char *dbname, const char *role, char *param_str)&lt;br&gt;--- 565,606 ----&lt;br&gt;  &lt;br&gt;  &lt;br&gt;  /*&lt;br&gt;+  * Macros used to check and report on invalid configuration options.&lt;br&gt;+  * INVALID_AUTH_OPTION = reports when an option is specified for a method where it&amp;#39;s&lt;br&gt;+  *                       not supported.&lt;br&gt;+  * REQUIRE_AUTH_OPTION = same as INVALID_AUTH_OPTION, except it also checks if the&lt;br&gt;+  *                       method is actually the one specified. Used as a shortcut when&lt;br&gt;+  *                       the option is only valid for one authentication method.&lt;br&gt;+  * MANDATORY_AUTH_ARG  = check if a required option is set for an authentication method,&lt;br&gt;+  *                       reporting error if it&amp;#39;s not.&lt;br&gt;+  */&lt;br&gt;+ #define INVALID_AUTH_OPTION(optname, validmethods) do {\&lt;br&gt;+ 	ereport(LOG, \&lt;br&gt;+ 			(errcode(ERRCODE_CONFIG_FILE_ERROR), \&lt;br&gt;+ 			 errmsg(&amp;quot;authentication option &amp;#39;%s&amp;#39; is only valid for authentication methods &amp;#39;%s&amp;#39;&amp;quot;, \&lt;br&gt;+ 					optname, validmethods), \&lt;br&gt;+ 			 errcontext(&amp;quot;line %d of configuration file \&amp;quot;%s\&amp;quot;&amp;quot;, \&lt;br&gt;+ 					line_num, HbaFileName))); \&lt;br&gt;+ 	goto hba_other_error; \&lt;br&gt;+ } while (0)&lt;br&gt;+ &lt;br&gt;+ #define REQUIRE_AUTH_OPTION(methodval, optname, validmethods) \&lt;br&gt;+ 	if (parsedline-&amp;gt;auth_method != methodval) \&lt;br&gt;+ 		INVALID_AUTH_OPTION(&amp;quot;ldaptls&amp;quot;, &amp;quot;ldap&amp;quot;)&lt;br&gt;+ &lt;br&gt;+ #define MANDATORY_AUTH_ARG(argvar, argname, authname) \&lt;br&gt;+ if (argvar == NULL) {\&lt;br&gt;+ 	ereport(LOG, \&lt;br&gt;+ 			(errcode(ERRCODE_CONFIG_FILE_ERROR), \&lt;br&gt;+ 			 errmsg(&amp;quot;authentication method &amp;#39;%s&amp;#39; requires argument &amp;#39;%s&amp;#39; to be set&amp;quot;, \&lt;br&gt;+ 					authname, argname), \&lt;br&gt;+ 			 errcontext(&amp;quot;line %d of configuration file \&amp;quot;%s\&amp;quot;&amp;quot;, \&lt;br&gt;+ 					line_num, HbaFileName))); \&lt;br&gt;+ 	goto hba_other_error; \&lt;br&gt;+ } while (0);&lt;br&gt;+ &lt;br&gt;+ &lt;br&gt;+ /*&lt;br&gt;   * Parse one line in the hba config file and store the result in&lt;br&gt;   * a HbaLine structure.&lt;br&gt;   */&lt;br&gt;***************&lt;br&gt;*** 801,838 **** parse_hba_line(List *line, int line_num, HbaLine *parsedline)&lt;br&gt;  		goto hba_other_error;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	/* Get the authentication argument token, if any */&lt;br&gt;! 	line_item = lnext(line_item);&lt;br&gt;! 	if (line_item)&lt;br&gt;  	{&lt;br&gt;  		token = lfirst(line_item);&lt;br&gt;- 		parsedline-&amp;gt;auth_arg= pstrdup(token);&lt;br&gt;- 	}&lt;br&gt;  &lt;br&gt;! 	/* &lt;br&gt;! 	 * Backwards compatible format of ident authentication - support &amp;quot;naked&amp;quot; ident map&lt;br&gt;! 	 * name, as well as &amp;quot;sameuser&amp;quot;/&amp;quot;samerole&amp;quot;&lt;br&gt;! 	 */&lt;br&gt;! 	if (parsedline-&amp;gt;auth_method == uaIdent)&lt;br&gt;! 	{&lt;br&gt;! 		if (parsedline-&amp;gt;auth_arg &amp;amp;&amp;amp; strlen(parsedline-&amp;gt;auth_arg))&lt;br&gt;  		{&lt;br&gt;! 			if (strcmp(parsedline-&amp;gt;auth_arg, &amp;quot;sameuser\n&amp;quot;) == 0 ||&lt;br&gt;! 				strcmp(parsedline-&amp;gt;auth_arg, &amp;quot;samerole\n&amp;quot;) == 0)&lt;br&gt;  			{&lt;br&gt;! 				/* This is now the default */&lt;br&gt;! 				pfree(parsedline-&amp;gt;auth_arg);&lt;br&gt;! 				parsedline-&amp;gt;auth_arg = NULL;&lt;br&gt;! 				parsedline-&amp;gt;usermap = NULL;&lt;br&gt;  			}&lt;br&gt;  			else&lt;br&gt;  			{&lt;br&gt;! 				/* Specific ident map specified */&lt;br&gt;! 				parsedline-&amp;gt;usermap = parsedline-&amp;gt;auth_arg;&lt;br&gt;! 				parsedline-&amp;gt;auth_arg = NULL;&lt;br&gt;  			}&lt;br&gt;  		}&lt;br&gt;  	}&lt;br&gt;  	&lt;br&gt;  	return true;&lt;br&gt;  &lt;br&gt;--- 837,938 ----&lt;br&gt;  		goto hba_other_error;&lt;br&gt;  	}&lt;br&gt;  &lt;br&gt;! 	/* Parse remaining arguments */&lt;br&gt;! 	while ((line_item = lnext(line_item)) != NULL)&lt;br&gt;  	{&lt;br&gt;+ 		char *c;&lt;br&gt;+ &lt;br&gt;  		token = lfirst(line_item);&lt;br&gt;  &lt;br&gt;! 		c = strchr(token, &amp;#39;=&amp;#39;);&lt;br&gt;! 		if (c == NULL)&lt;br&gt;  		{&lt;br&gt;! 			/* &lt;br&gt;! 			 * Got something that&amp;#39;s not a name=value pair.&lt;br&gt;! 			 *&lt;br&gt;! 			 * XXX: attempt to do some backwards compatible parsing here?&lt;br&gt;! 			 */&lt;br&gt;! 			ereport(LOG,&lt;br&gt;! 					(errcode(ERRCODE_CONFIG_FILE_ERROR),&lt;br&gt;! 					 errmsg(&amp;quot;authentication option not in name=value format: %s&amp;quot;, token),&lt;br&gt;! 					 errcontext(&amp;quot;line %d of configuration file \&amp;quot;%s\&amp;quot;&amp;quot;,&lt;br&gt;! 								line_num, HbaFileName)));&lt;br&gt;! 			goto hba_other_error;&lt;br&gt;! 		}&lt;br&gt;! 		else&lt;br&gt;! 		{&lt;br&gt;! 			*c++ = &amp;#39;\0&amp;#39;; /* token now holds &amp;quot;name&amp;quot;, c holds &amp;quot;value&amp;quot; */&lt;br&gt;! 			if (strcmp(token, &amp;quot;map&amp;quot;) == 0)&lt;br&gt;! 			{&lt;br&gt;! 				if (parsedline-&amp;gt;auth_method != uaIdent &amp;amp;&amp;amp;&lt;br&gt;! 					parsedline-&amp;gt;auth_method != uaKrb5 &amp;amp;&amp;amp;&lt;br&gt;! 					parsedline-&amp;gt;auth_method != uaGSS &amp;amp;&amp;amp;&lt;br&gt;! 					parsedline-&amp;gt;auth_method != uaSSPI)&lt;br&gt;! 					INVALID_AUTH_OPTION(&amp;quot;map&amp;quot;, &amp;quot;ident, krb5, gssapi and sspi&amp;quot;);&lt;br&gt;! 				parsedline-&amp;gt;usermap = pstrdup(c);&lt;br&gt;! 			}&lt;br&gt;! 			else if (strcmp(token, &amp;quot;pamservice&amp;quot;) == 0)&lt;br&gt;! 			{&lt;br&gt;! 				REQUIRE_AUTH_OPTION(uaPAM, &amp;quot;pamservice&amp;quot;, &amp;quot;pam&amp;quot;);&lt;br&gt;! 				parsedline-&amp;gt;pamservice = pstrdup(c);&lt;br&gt;! 			}&lt;br&gt;! 			else if (strcmp(token, &amp;quot;ldaptls&amp;quot;) == 0)&lt;br&gt;! 			{&lt;br&gt;! 				REQUIRE_AUTH_OPTION(uaLDAP, &amp;quot;ldaptls&amp;quot;, &amp;quot;ldap&amp;quot;);&lt;br&gt;! 				if (strcmp(c, &amp;quot;1&amp;quot;) == 0)&lt;br&gt;! 					parsedline-&amp;gt;ldaptls = true;&lt;br&gt;! 				else&lt;br&gt;! 					parsedline-&amp;gt;ldaptls = false;&lt;br&gt;! 			}&lt;br&gt;! 			else if (strcmp(token, &amp;quot;ldapserver&amp;quot;) == 0)&lt;br&gt;! 			{&lt;br&gt;! 				REQUIRE_AUTH_OPTION(uaLDAP, &amp;quot;ldapserver&amp;quot;, &amp;quot;ldap&amp;quot;);&lt;br&gt;! 				parsedline-&amp;gt;ldapserver = pstrdup(c);&lt;br&gt;! 			}&lt;br&gt;! 			else if (strcmp(token, &amp;quot;ldapport&amp;quot;) == 0)&lt;br&gt;! 			{&lt;br&gt;! 				REQUIRE_AUTH_OPTION(uaLDAP, &amp;quot;ldapport&amp;quot;, &amp;quot;ldap&amp;quot;);&lt;br&gt;! 				parsedline-&amp;gt;ldapport = atoi(c);&lt;br&gt;! 				if (parsedline-&amp;gt;ldapport == 0)&lt;br&gt;! 				{&lt;br&gt;! 					ereport(LOG,&lt;br&gt;! 							(errcode(ERRCODE_CONFIG_FILE_ERROR),&lt;br&gt;! 							 errmsg(&amp;quot;invalid ldap port &amp;#39;%s&amp;#39;&amp;quot;, c),&lt;br&gt;! 							 errcontext(&amp;quot;line %d of configuration file \&amp;quot;%s\&amp;quot;&amp;quot;,&lt;br&gt;! 										line_num, HbaFileName)));&lt;br&gt;! 					goto hba_other_error;&lt;br&gt;! 				}&lt;br&gt;! 			}&lt;br&gt;! 			else if (strcmp(token, &amp;quot;ldapprefix&amp;quot;) == 0)&lt;br&gt;  			{&lt;br&gt;! 				REQUIRE_AUTH_OPTION(uaLDAP, &amp;quot;ldapprefix&amp;quot;, &amp;quot;ldap&amp;quot;);&lt;br&gt;! 				parsedline-&amp;gt;ldapprefix = pstrdup(c);&lt;br&gt;! 			}&lt;br&gt;! 			else if (strcmp(token, &amp;quot;ldapsuffix&amp;quot;) == 0)&lt;br&gt;! 			{&lt;br&gt;! 				REQUIRE_AUTH_OPTION(uaLDAP, &amp;quot;ldapsuffix&amp;quot;, &amp;quot;ldap&amp;quot;);&lt;br&gt;! 				parsedline-&amp;gt;ldapsuffix = pstrdup(c);&lt;br&gt;  			}&lt;br&gt;  			else&lt;br&gt;  			{&lt;br&gt;! 				ereport(LOG,&lt;br&gt;! 						(errcode(ERRCODE_CONFIG_FILE_ERROR),&lt;br&gt;! 						 errmsg(&amp;quot;unknown authentication option name &amp;#39;%s&amp;#39;&amp;quot;, token),&lt;br&gt;! 						 errcontext(&amp;quot;line %d of configuration file \&amp;quot;%s\&amp;quot;&amp;quot;,&lt;br&gt;! 									line_num, HbaFileName)));&lt;br&gt;! 				goto hba_other_error;&lt;br&gt;  			}&lt;br&gt;  		}&lt;br&gt;  	}&lt;br&gt;+ &lt;br&gt;+ 	/*&lt;br&gt;+ 	 * Check if the selected authentication method has any mandatory arguments that&lt;br&gt;+ 	 * are not set.&lt;br&gt;+ 	 */&lt;br&gt;+ 	if (parsedline-&amp;gt;auth_method == uaLDAP)&lt;br&gt;+ 	{&lt;br&gt;+ 		MANDATORY_AUTH_ARG(parsedline-&amp;gt;ldapserver, &amp;quot;ldapserver&amp;quot;, &amp;quot;ldap&amp;quot;);&lt;br&gt;+ 	}&lt;br&gt;  	&lt;br&gt;  	return true;&lt;br&gt;  &lt;br&gt;***************&lt;br&gt;*** 1018,1025 **** free_hba_record(HbaLine *record)&lt;br&gt;  		pfree(record-&amp;gt;database);&lt;br&gt;  	if (record-&amp;gt;role)&lt;br&gt;  		pfree(record-&amp;gt;role);&lt;br&gt;! 	if (record-&amp;gt;auth_arg)&lt;br&gt;! 		pfree(record-&amp;gt;auth_arg);&lt;br&gt;  }&lt;br&gt;  &lt;br&gt;  /*&lt;br&gt;--- 1118,1131 ----&lt;br&gt;  		pfree(record-&amp;gt;database);&lt;br&gt;  	if (record-&amp;gt;role)&lt;br&gt;  		pfree(record-&amp;gt;role);&lt;br&gt;! 	if (record-&amp;gt;pamservice)&lt;br&gt;! 		pfree(record-&amp;gt;pamservice);&lt;br&gt;! 	if (record-&amp;gt;ldapserver)&lt;br&gt;! 		pfree(record-&amp;gt;ldapserver);&lt;br&gt;! 	if (record-&amp;gt;ldapprefix)&lt;br&gt;! 		pfree(record-&amp;gt;ldapprefix);&lt;br&gt;! 	if (record-&amp;gt;ldapsuffix)&lt;br&gt;! 		pfree(record-&amp;gt;ldapsuffix);&lt;br&gt;  }&lt;br&gt;  &lt;br&gt;  /*&lt;br&gt;***************&lt;br&gt;*** 1150,1156 **** read_pg_database_line(FILE *fp, char *dbname, Oid *dboid,&lt;br&gt;  static void&lt;br&gt;  parse_ident_usermap(List *line, int line_number, const char *usermap_name,&lt;br&gt;  					const char *pg_role, const char *ident_user,&lt;br&gt;! 					bool *found_p, bool *error_p)&lt;br&gt;  {&lt;br&gt;  	ListCell   *line_item;&lt;br&gt;  	char	   *token;&lt;br&gt;--- 1256,1262 ----&lt;br&gt;  static void&lt;br&gt;  parse_ident_usermap(List *line, int line_number, const char *usermap_name,&lt;br&gt;  					const char *pg_role, const char *ident_user,&lt;br&gt;! 					bool case_insensitive, bool *found_p, bool *error_p)&lt;br&gt;  {&lt;br&gt;  	ListCell   *line_item;&lt;br&gt;  	char	   *token;&lt;br&gt;***************&lt;br&gt;*** 1183,1192 **** parse_ident_usermap(List *line, int line_number, const char *usermap_name,&lt;br&gt;  	file_pgrole = token;&lt;br&gt;  &lt;br&gt;  	/* Match? */&lt;br&gt;! 	if (strcmp(file_map, usermap_name) == 0 &amp;amp;&amp;amp;&lt;br&gt;! 		strcmp(file_pgrole, pg_role) == 0 &amp;amp;&amp;amp;&lt;br&gt;! 		strcmp(file_ident_user, ident_user) == 0)&lt;br&gt;! 		*found_p = true;&lt;br&gt;  &lt;br&gt;  	return;&lt;br&gt;  &lt;br&gt;--- 1289,1308 ----&lt;br&gt;  	file_pgrole = token;&lt;br&gt;  &lt;br&gt;  	/* Match? */&lt;br&gt;! 	if (case_insensitive)&lt;br&gt;! 	{&lt;br&gt;! 		if (strcmp(file_map, usermap_name) == 0 &amp;amp;&amp;amp;&lt;br&gt;! 			pg_strcasecmp(file_pgrole, pg_role) == 0 &amp;amp;&amp;amp;&lt;br&gt;! 			pg_strcasecmp(file_ident_user, ident_user) == 0)&lt;br&gt;! 			*found_p = true;&lt;br&gt;! 	}&lt;br&gt;! 	else&lt;br&gt;! 	{&lt;br&gt;! 		if (strcmp(file_map, usermap_name) == 0 &amp;amp;&amp;amp;&lt;br&gt;! 			strcmp(file_pgrole, pg_role) == 0 &amp;amp;&amp;amp;&lt;br&gt;! 			strcmp(file_ident_user, ident_user) == 0)&lt;br&gt;! 			*found_p = true;&lt;br&gt;! 	}&lt;br&gt;  &lt;br&gt;  	return;&lt;br&gt;  &lt;br&gt;***************&lt;br&gt;*** 1210,1231 **** ident_syntax:&lt;br&gt;   *	file.  That&amp;#39;s an implied map where &amp;quot;pgrole&amp;quot; must be identical to&lt;br&gt;   *	&amp;quot;ident_user&amp;quot; in order to be authorized.&lt;br&gt;   *&lt;br&gt;!  *	Iff authorized, return true.&lt;br&gt;   */&lt;br&gt;! bool&lt;br&gt;! check_ident_usermap(const char *usermap_name,&lt;br&gt;  					const char *pg_role,&lt;br&gt;! 					const char *ident_user)&lt;br&gt;  {&lt;br&gt;  	bool		found_entry = false,&lt;br&gt;  				error = false;&lt;br&gt;  &lt;br&gt;  	if (usermap_name == NULL || usermap_name[0] == &amp;#39;\0&amp;#39;)&lt;br&gt;  	{&lt;br&gt;! 		if (strcmp(pg_role, ident_user) == 0)&lt;br&gt;! 			found_entry = true;&lt;br&gt;! 		else&lt;br&gt;! 			found_entry = false;&lt;br&gt;  	}&lt;br&gt;  	else&lt;br&gt;  	{&lt;br&gt;--- 1326,1357 ----&lt;br&gt;   *	file.  That&amp;#39;s an implied map where &amp;quot;pgrole&amp;quot; must be identical to&lt;br&gt;   *	&amp;quot;ident_user&amp;quot; in order to be authorized.&lt;br&gt;   *&lt;br&gt;!  *	Iff authorized, return STATUS_OK, otherwise return STATUS_ERROR.&lt;br&gt;   */&lt;br&gt;! int&lt;br&gt;! check_usermap(const char *usermap_name,&lt;br&gt;  					const char *pg_role,&lt;br&gt;! 					const char *auth_user,&lt;br&gt;! 					bool case_insensitive)&lt;br&gt;  {&lt;br&gt;  	bool		found_entry = false,&lt;br&gt;  				error = false;&lt;br&gt;  &lt;br&gt;  	if (usermap_name == NULL || usermap_name[0] == &amp;#39;\0&amp;#39;)&lt;br&gt;  	{&lt;br&gt;! 		if (case_insensitive)&lt;br&gt;! 		{&lt;br&gt;! 			if (pg_strcasecmp(pg_role, auth_user) == 0)&lt;br&gt;! 				return STATUS_OK;&lt;br&gt;! 		}&lt;br&gt;! 		else {&lt;br&gt;! 			if (strcmp(pg_role, auth_user) == 0)&lt;br&gt;! 				return STATUS_OK;&lt;br&gt;! 		}&lt;br&gt;! 		ereport(LOG,&lt;br&gt;! 				(errmsg(&amp;quot;provided username (%s) and authenticated username (%s) don&amp;#39;t match&amp;quot;,&lt;br&gt;! 						auth_user, pg_role)));&lt;br&gt;! 		return STATUS_ERROR;&lt;br&gt;  	}&lt;br&gt;  	else&lt;br&gt;  	{&lt;br&gt;***************&lt;br&gt;*** 1235,1247 **** check_ident_usermap(const char *usermap_name,&lt;br&gt;  		forboth(line_cell, ident_lines, num_cell, ident_line_nums)&lt;br&gt;  		{&lt;br&gt;  			parse_ident_usermap(lfirst(line_cell), lfirst_int(num_cell),&lt;br&gt;! 								usermap_name, pg_role, ident_user,&lt;br&gt;  								&amp;amp;found_entry, &amp;amp;error);&lt;br&gt;  			if (found_entry || error)&lt;br&gt;  				break;&lt;br&gt;  		}&lt;br&gt;  	}&lt;br&gt;! 	return found_entry;&lt;br&gt;  }&lt;br&gt;  &lt;br&gt;  &lt;br&gt;--- 1361,1380 ----&lt;br&gt;  		forboth(line_cell, ident_lines, num_cell, ident_line_nums)&lt;br&gt;  		{&lt;br&gt;  			parse_ident_usermap(lfirst(line_cell), lfirst_int(num_cell),&lt;br&gt;! 								usermap_name, pg_role, auth_user, case_insensitive,&lt;br&gt;  								&amp;amp;found_entry, &amp;amp;error);&lt;br&gt;  			if (found_entry || error)&lt;br&gt;  				break;&lt;br&gt;  		}&lt;br&gt;  	}&lt;br&gt;! 	if (!found_entry &amp;amp;&amp;amp; !error)&lt;br&gt;! 	{&lt;br&gt;! 		ereport(LOG,&lt;br&gt;! 				(errmsg(&amp;quot;no match in usermap for user &amp;#39;%s&amp;#39; authenticated as &amp;#39;%s&amp;#39;&amp;quot;,&lt;br&gt;! 						pg_role, auth_user),&lt;br&gt;! 				 errcontext(&amp;quot;usermap &amp;#39;%s&amp;#39;&amp;quot;, usermap_name)));&lt;br&gt;! 	}&lt;br&gt;! 	return found_entry?STATUS_OK:STATUS_ERROR;&lt;br&gt;  }&lt;br&gt;  &lt;br&gt;  &lt;br&gt;*** a/src/backend/libpq/pg_hba.conf.sample&lt;br&gt;--- b/src/backend/libpq/pg_hba.conf.sample&lt;br&gt;***************&lt;br&gt;*** 9,18 ****&lt;br&gt;  # are authenticated, which PostgreSQL user names they can use, which&lt;br&gt;  # databases they can access.  Records take one of these forms:&lt;br&gt;  #&lt;br&gt;! # local      DATABASE  USER  METHOD  [OPTION]&lt;br&gt;! # host       DATABASE  USER  CIDR-ADDRESS  METHOD  [OPTION]&lt;br&gt;! # hostssl    DATABASE  USER  CIDR-ADDRESS  METHOD  [OPTION]&lt;br&gt;! # hostnossl  DATABASE  USER  CIDR-ADDRESS  METHOD  [OPTION]&lt;br&gt;  #&lt;br&gt;  # (The uppercase items must be replaced by actual values.)&lt;br&gt;  #&lt;br&gt;--- 9,18 ----&lt;br&gt;  # are authenticated, which PostgreSQL user names they can use, which&lt;br&gt;  # databases they can access.  Records take one of these forms:&lt;br&gt;  #&lt;br&gt;! # local      DATABASE  USER  METHOD  [OPTIONS]&lt;br&gt;! # host       DATABASE  USER  CIDR-ADDRESS  METHOD  [OPTIONS]&lt;br&gt;! # hostssl    DATABASE  USER  CIDR-ADDRESS  METHOD  [OPTIONS]&lt;br&gt;! # hostnossl  DATABASE  USER  CIDR-ADDRESS  METHOD  [OPTIONS]&lt;br&gt;  #&lt;br&gt;  # (The uppercase items must be replaced by actual values.)&lt;br&gt;  #&lt;br&gt;***************&lt;br&gt;*** 38,44 ****&lt;br&gt;  # &amp;quot;krb5&amp;quot;, &amp;quot;ident&amp;quot;, &amp;quot;pam&amp;quot; or &amp;quot;ldap&amp;quot;.  Note that &amp;quot;password&amp;quot; sends passwords&lt;br&gt;  # in clear text; &amp;quot;md5&amp;quot; is preferred since it sends encrypted passwords.&lt;br&gt;  #&lt;br&gt;! # OPTION is the ident map or the name of the PAM service, depending on METHOD.&lt;br&gt;  #&lt;br&gt;  # Database and user names containing spaces, commas, quotes and other special&lt;br&gt;  # characters must be quoted. Quoting one of the keywords &amp;quot;all&amp;quot;, &amp;quot;sameuser&amp;quot; or&lt;br&gt;--- 38,47 ----&lt;br&gt;  # &amp;quot;krb5&amp;quot;, &amp;quot;ident&amp;quot;, &amp;quot;pam&amp;quot; or &amp;quot;ldap&amp;quot;.  Note that &amp;quot;password&amp;quot; sends passwords&lt;br&gt;  # in clear text; &amp;quot;md5&amp;quot; is preferred since it sends encrypted passwords.&lt;br&gt;  #&lt;br&gt;! # OPTIONS are a set of options for the authentication in the format&lt;br&gt;! # NAME=VALUE. The available options depend on the different authentication&lt;br&gt;! # methods - refer to the &amp;quot;Client Authentication&amp;quot; section in the documentation&lt;br&gt;! # for a list of which options are available for which authentication methods.&lt;br&gt;  #&lt;br&gt;  # Database and user names containing spaces, commas, quotes and other special&lt;br&gt;  # characters must be quoted. Quoting one of the keywords &amp;quot;all&amp;quot;, &amp;quot;sameuser&amp;quot; or&lt;br&gt;*** a/src/backend/libpq/pg_ident.conf.sample&lt;br&gt;--- b/src/backend/libpq/pg_ident.conf.sample&lt;br&gt;***************&lt;br&gt;*** 5,22 ****&lt;br&gt;  # Authentication&amp;quot; for a complete description.  A short synopsis&lt;br&gt;  # follows.&lt;br&gt;  #&lt;br&gt;! # This file controls PostgreSQL ident-based authentication. It maps&lt;br&gt;! # ident user names (typically Unix user names) to their corresponding&lt;br&gt;  # PostgreSQL user names.  Records are of the form:&lt;br&gt;  #&lt;br&gt;! # MAPNAME  IDENT-USERNAME  PG-USERNAME&lt;br&gt;  #&lt;br&gt;  # (The uppercase quantities must be replaced by actual values.)&lt;br&gt;  #&lt;br&gt;  # MAPNAME is the (otherwise freely chosen) map name that was used in&lt;br&gt;! # pg_hba.conf.  IDENT-USERNAME is the detected user name of the&lt;br&gt;  # client.  PG-USERNAME is the requested PostgreSQL user name.  The&lt;br&gt;! # existence of a record specifies that IDENT-USERNAME may connect as&lt;br&gt;  # PG-USERNAME.  Multiple maps may be specified in this file and used&lt;br&gt;  # by pg_hba.conf.&lt;br&gt;  #&lt;br&gt;--- 5,22 ----&lt;br&gt;  # Authentication&amp;quot; for a complete description.  A short synopsis&lt;br&gt;  # follows.&lt;br&gt;  #&lt;br&gt;! # This file controls PostgreSQL username mapping. It maps&lt;br&gt;! # external user names to their corresponding&lt;br&gt;  # PostgreSQL user names.  Records are of the form:&lt;br&gt;  #&lt;br&gt;! # MAPNAME  SYSTEM-USERNAME  PG-USERNAME&lt;br&gt;  #&lt;br&gt;  # (The uppercase quantities must be replaced by actual values.)&lt;br&gt;  #&lt;br&gt;  # MAPNAME is the (otherwise freely chosen) map name that was used in&lt;br&gt;! # pg_hba.conf.  SYSTEM-USERNAME is the detected user name of the&lt;br&gt;  # client.  PG-USERNAME is the requested PostgreSQL user name.  The&lt;br&gt;! # existence of a record specifies that SYSTEM-USERNAME may connect as&lt;br&gt;  # PG-USERNAME.  Multiple maps may be specified in this file and used&lt;br&gt;  # by pg_hba.conf.&lt;br&gt;  #&lt;br&gt;***************&lt;br&gt;*** 28,35 ****&lt;br&gt;  # Put your actual configuration here&lt;br&gt;  # ----------------------------------&lt;br&gt;  #&lt;br&gt;! # No map names are defined in the default configuration.  If all ident&lt;br&gt;  # user names and PostgreSQL user names are the same, you don&amp;#39;t need&lt;br&gt;  # this file.&lt;br&gt;  &lt;br&gt;! # MAPNAME     IDENT-USERNAME    PG-USERNAME&lt;br&gt;--- 28,35 ----&lt;br&gt;  # Put your actual configuration here&lt;br&gt;  # ----------------------------------&lt;br&gt;  #&lt;br&gt;! # No map names are defined in the default configuration.  If all system&lt;br&gt;  # user names and PostgreSQL user names are the same, you don&amp;#39;t need&lt;br&gt;  # this file.&lt;br&gt;  &lt;br&gt;! # MAPNAME     SYSTEM-USERNAME    PG-USERNAME&lt;br&gt;*** a/src/include/libpq/hba.h&lt;br&gt;--- b/src/include/libpq/hba.h&lt;br&gt;***************&lt;br&gt;*** 25,37 **** typedef enum UserAuth&lt;br&gt;  	uaCrypt,&lt;br&gt;  	uaMD5,&lt;br&gt;  	uaGSS,&lt;br&gt;! 	uaSSPI&lt;br&gt;! #ifdef USE_PAM&lt;br&gt;! 	,uaPAM&lt;br&gt;! #endif   /* USE_PAM */&lt;br&gt;! #ifdef USE_LDAP&lt;br&gt;! 	,uaLDAP&lt;br&gt;! #endif&lt;br&gt;  } UserAuth;&lt;br&gt;  &lt;br&gt;  typedef enum ConnType&lt;br&gt;--- 25,33 ----&lt;br&gt;  	uaCrypt,&lt;br&gt;  	uaMD5,&lt;br&gt;  	uaGSS,&lt;br&gt;! 	uaSSPI,&lt;br&gt;! 	uaPAM,&lt;br&gt;! 	uaLDAP&lt;br&gt;  } UserAuth;&lt;br&gt;  &lt;br&gt;  typedef enum ConnType&lt;br&gt;***************&lt;br&gt;*** 51,58 **** typedef struct&lt;br&gt;  	struct sockaddr_storage addr;&lt;br&gt;  	struct sockaddr_storage mask;&lt;br&gt;  	UserAuth	auth_method;&lt;br&gt;  	char	   *usermap;&lt;br&gt;! 	char	   *auth_arg;&lt;br&gt;  } HbaLine;&lt;br&gt;  &lt;br&gt;  typedef struct Port hbaPort;&lt;br&gt;--- 47,60 ----&lt;br&gt;  	struct sockaddr_storage addr;&lt;br&gt;  	struct sockaddr_storage mask;&lt;br&gt;  	UserAuth	auth_method;&lt;br&gt;+ &lt;br&gt;  	char	   *usermap;&lt;br&gt;! 	char	   *pamservice;&lt;br&gt;! 	bool		ldaptls;&lt;br&gt;! 	char	   *ldapserver;&lt;br&gt;! 	int			ldapport;&lt;br&gt;! 	char	   *ldapprefix;&lt;br&gt;! 	char	   *ldapsuffix;&lt;br&gt;  } HbaLine;&lt;br&gt;  &lt;br&gt;  typedef struct Port hbaPort;&lt;br&gt;***************&lt;br&gt;*** 64,71 **** extern void load_role(void);&lt;br&gt;  extern int	hba_getauthmethod(hbaPort *port);&lt;br&gt;  extern bool read_pg_database_line(FILE *fp, char *dbname, Oid *dboid,&lt;br&gt;  					  Oid *dbtablespace, TransactionId *dbfrozenxid);&lt;br&gt;! extern bool check_ident_usermap(const char *usermap_name,&lt;br&gt;! 					  const char *pg_role, const char *ident_user);&lt;br&gt;  extern bool pg_isblank(const char c);&lt;br&gt;  &lt;br&gt;  #endif   /* HBA_H */&lt;br&gt;--- 66,74 ----&lt;br&gt;  extern int	hba_getauthmethod(hbaPort *port);&lt;br&gt;  extern bool read_pg_database_line(FILE *fp, char *dbname, Oid *dboid,&lt;br&gt;  					  Oid *dbtablespace, TransactionId *dbfrozenxid);&lt;br&gt;! extern int  check_usermap(const char *usermap_name,&lt;br&gt;! 					  const char *pg_role, const char *auth_user,&lt;br&gt;! 					  bool case_sensitive);&lt;br&gt;  extern bool pg_isblank(const char c);&lt;br&gt;  &lt;br&gt;  #endif   /* HBA_H */&lt;br&gt;This patch changes the options field of pg_hba.conf to take name/value&lt;br&gt;pairs instead of a fixed string. This makes it a lot nicer to deal with&lt;br&gt;auth methods that need more than one parameter, such as LDAP.&lt;p&gt;While at it, it also adds map support to kerberos, gssapi and sspi and&lt;br&gt;not just ident - basically all methods where the username comes from an&lt;br&gt;outside source (lmk if I missed one).&lt;p&gt;Also in passing, changes the methods in auth.c to deal with &amp;quot;unsupported&lt;br&gt;auth method on this platform&amp;quot; errors the same way for all authentication&lt;br&gt;methods.&lt;p&gt;I intend to build on this patch to support setting some&lt;br&gt;Kerberos/GSSAPI/SSPI parameters on a per-connection base, but wanted to&lt;br&gt;get the basics in first.&lt;p&gt;Obviously, documentation still pending. I&amp;#39;m working on that in parallel.&lt;p&gt;&lt;br&gt;So, comments? Both in general, and specifically on if we need to do&lt;br&gt;backwards compatible parsing of LDAP options (doing it of all the other&lt;br&gt;options would be trivial, but LDAP would be harder)&lt;p&gt;&lt;br&gt;//Magnus&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-4394110648492293815?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/4394110648492293815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=4394110648492293815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4394110648492293815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4394110648492293815'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/hackers-pghba-options-parsing.html' title='[HACKERS] pg_hba options parsing'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1279530175204804718</id><published>2008-09-30T11:33:00.000-07:00</published><updated>2008-09-30T11:34:22.792-07:00</updated><title type='text'>Re: [HACKERS] Block-level CRC checks</title><content type='html'>On Tue, Sep 30, 2008 at 2:02 PM, Alvaro Herrera&lt;br&gt;&amp;lt;&lt;a href="mailto:alvherre@commandprompt.com"&gt;alvherre@commandprompt.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; A customer of ours has been having trouble with corrupted data for some&lt;br&gt;&amp;gt; time.  Of course, we&amp;#39;ve almost always blamed hardware (and we&amp;#39;ve seen&lt;br&gt;&amp;gt; RAID controllers have their firmware upgraded, among other actions), but&lt;br&gt;&amp;gt; the useful thing to know is when corruption has happened, and where.&lt;p&gt;Agreed.&lt;p&gt;&amp;gt; So we&amp;#39;ve been tasked with adding CRCs to data files.&lt;p&gt;Awesome.&lt;p&gt;&amp;gt; The idea is that these CRCs are going to be checked just after reading&lt;br&gt;&amp;gt; files from disk, and calculated just before writing it.  They are&lt;br&gt;&amp;gt; just a protection against the storage layer going mad; they are not&lt;br&gt;&amp;gt; intended to protect against faulty RAM, CPU or kernel.&lt;p&gt;This is the common case.&lt;p&gt;&amp;gt; This code would be run-time or compile-time configurable.  I&amp;#39;m not&lt;br&gt;&amp;gt; absolutely sure which yet; the problem with run-time is what to do if&lt;br&gt;&amp;gt; the user restarts the server with the setting flipped.  It would have&lt;br&gt;&amp;gt; almost no impact on users who don&amp;#39;t enable it.&lt;p&gt;I&amp;#39;ve supported this forever!&lt;p&gt;&amp;gt; The implementation I&amp;#39;m envisioning requires the use of a new relation&lt;br&gt;&amp;gt; fork to store the per-block CRCs.  Initially I&amp;#39;m aiming at a CRC32 sum&lt;br&gt;&amp;gt; for each block.  FlushBuffer would calculate the checksum and store it&lt;br&gt;&amp;gt; in the CRC fork; ReadBuffer_common would read the page, calculate the&lt;br&gt;&amp;gt; checksum, and compare it to the one stored in the CRC fork.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; A buffer&amp;#39;s io_in_progress lock protects the buffer&amp;#39;s CRC.  We read and&lt;br&gt;&amp;gt; pin the CRC page before acquiring the lock, to avoid having two buffer&lt;br&gt;&amp;gt; IO operations in flight.&lt;p&gt;If the CRC gets written before the block, how is recovery going to&lt;br&gt;handle it?  I&amp;#39;m not too familiar with the new forks stuff, but&lt;br&gt;recovery will pull the old block, compare it against the checksum, and&lt;br&gt;consider the block invalid, correct?&lt;p&gt;&amp;gt; I&amp;#39;d like to submit this for 8.4, but I want to ensure that -hackers at&lt;br&gt;&amp;gt; large approve of this feature before starting serious coding.&lt;p&gt;IMHO, this is a functionality that should be enabled by default (as it&lt;br&gt;is on most other RDBMS).  It would&amp;#39;ve prevented severe corruption in&lt;br&gt;the 20 or so databases I&amp;#39;ve had to fix, and other than making it&lt;br&gt;optional, I don&amp;#39;t see the reasoning for a separate relation fork&lt;br&gt;rather than storing it directly on the block (as everyone else does).&lt;br&gt;Similarly, I think Greg Stark was playing with a patch for it&lt;br&gt;(&lt;a href="http://archives.postgresql.org/pgsql-hackers/2007-02/msg01850.php"&gt;http://archives.postgresql.org/pgsql-hackers/2007-02/msg01850.php&lt;/a&gt;).&lt;p&gt;-- &lt;br&gt;Jonah H. Harris, Senior DBA&lt;br&gt;myYearbook.com&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1279530175204804718?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1279530175204804718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1279530175204804718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1279530175204804718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1279530175204804718'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-block-level-crc-checks.html' title='Re: [HACKERS] Block-level CRC checks'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-7616008813026446718</id><published>2008-09-30T11:31:00.000-07:00</published><updated>2008-09-30T11:38:45.498-07:00</updated><title type='text'>[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Encuesta para análisis para el proyecto de creación de una certificación para PostgreSQL</title><content type='html'>----- Original Message ----- &lt;br&gt;From: &amp;quot;Jaime Casanova&amp;quot; &amp;lt;&lt;a href="mailto:jcasanov@systemguards.com.ec"&gt;jcasanov@systemguards.com.ec&lt;/a&gt;&amp;gt;&lt;br&gt;To: &amp;quot;Edwin Quijada&amp;quot; &amp;lt;&lt;a href="mailto:listas_quijada@hotmail.com"&gt;listas_quijada@hotmail.com&lt;/a&gt;&amp;gt;&lt;br&gt;Cc: &amp;lt;&lt;a href="mailto:hermeszambra@yahoo.com"&gt;hermeszambra@yahoo.com&lt;/a&gt;&amp;gt;; &amp;quot;POSTGRES&amp;quot; &amp;lt;&lt;a href="mailto:pgsql-es-ayuda@postgresql.org"&gt;pgsql-es-ayuda@postgresql.org&lt;/a&gt;&amp;gt;&lt;br&gt;Sent: Tuesday, September 30, 2008 12:50 PM&lt;br&gt;Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Encuesta para an&amp;#225;lisis &lt;br&gt;para el proyecto de creaci&amp;#243;n de una certificaci&amp;#243;n para PostgreSQL&lt;p&gt;&lt;br&gt;2008/9/30 Edwin Quijada &amp;lt;&lt;a href="mailto:listas_quijada@hotmail.com"&gt;listas_quijada@hotmail.com&lt;/a&gt;&amp;gt;:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Bueno, a pesar de todo creo que este es un buen paso para la comunidad. &lt;br&gt;&amp;gt; Por lo pronto quiero esa certificacion y&lt;br&gt;&amp;gt; estoy dispuesto hasta viajar para hacerla.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;la idea es que no haya necesidad de viajar&lt;br&gt;&amp;gt;&lt;p&gt;Que bueno !!!&lt;p&gt;Desde hace tiempo la comunidad ven&amp;#237;a pidi&amp;#233;ndolo. Tan pronto me enter&amp;#233; &lt;br&gt;realic&amp;#233; la encuenta.&lt;p&gt;Yo s&amp;#233; que tener una certificaci&amp;#243;n no es garant&amp;#237;a de que se sabe sobre algo, &lt;br&gt;pero por lo menos a los empresarios les da algo de confianza. No es camisa &lt;br&gt;de fuerza certificarse quine no le guste simplemente no lo hace.&lt;p&gt;Atentamente,&lt;p&gt;RAUL DUQUE&lt;br&gt;Bogot&amp;#225;, Colombia&lt;p&gt;&amp;gt;-- &lt;br&gt;&amp;gt;Atentamente,&lt;br&gt;&amp;gt;Jaime Casanova&lt;br&gt;&amp;gt;Soporte y capacitaci&amp;#243;n de PostgreSQL&lt;br&gt;&amp;gt;Asesor&amp;#237;a y desarrollo de sistemas&lt;br&gt;&amp;gt;Guayaquil - Ecuador&lt;br&gt;&amp;gt;Cel. +59387171157&lt;br&gt;&amp;gt;--&lt;br&gt;&amp;gt;TIP 3: Si encontraste la respuesta a tu problema, publ&amp;#237;cala, otros te lo &lt;br&gt;&amp;gt;agradecer&amp;#225;n &lt;p&gt;--&lt;br&gt;TIP 7: no olvides aumentar la configuraci&amp;#243;n del &amp;quot;free space map&amp;quot;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-7616008813026446718?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/7616008813026446718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=7616008813026446718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7616008813026446718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7616008813026446718'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/pgsql-es-ayuda-re-pgsql-es-ayuda-re_30.html' title='[pgsql-es-ayuda] Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Encuesta para análisis para el proyecto de creación de una certificación para PostgreSQL'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-8281552924087442248</id><published>2008-09-30T11:19:00.000-07:00</published><updated>2008-09-30T11:24:57.486-07:00</updated><title type='text'>Re: [GENERAL] Alias name from subquery</title><content type='html'>I think you should look at crosstab contrib module.&lt;p&gt;Regards,&lt;br&gt;Taras Kopets&lt;p&gt;On 9/30/08, Felix Homann &amp;lt;&lt;a href="mailto:fexpop@onlinehome.de"&gt;fexpop@onlinehome.de&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; Hi Sam,&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Sam Mason wrote:&lt;br&gt;&amp;gt;&amp;gt; I think you may be trying to solve the wrong problem, what are you&lt;br&gt;&amp;gt;&amp;gt; really trying to do?&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Here you go. I have some tables created like this:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; CREATE TABLE player(&lt;br&gt;&amp;gt; id     INTEGER PRIMARY KEY,&lt;br&gt;&amp;gt; name   varchar(20)&lt;br&gt;&amp;gt; );&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; CREATE TABLE transfer(&lt;br&gt;&amp;gt; id     SERIAL PRIMARY KEY,&lt;br&gt;&amp;gt; fromID INTEGER REFERENCES player(id),&lt;br&gt;&amp;gt; toID   INTEGER REFERENCES player(id),&lt;br&gt;&amp;gt; amount numeric&lt;br&gt;&amp;gt; );&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Now, let&amp;#39;s fill them with some data:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; INSERT INTO player VALUES (&amp;#39;1&amp;#39;, &amp;#39;Peter&amp;#39;), (&amp;#39;2&amp;#39;,&amp;#39;David&amp;#39;), (&amp;#39;3&amp;#39;,&amp;#39;Fritz&amp;#39;);&lt;br&gt;&amp;gt; INSERT INTO transfer(fromID, toID, amount) VALUES (&amp;#39;1&amp;#39;,&amp;#39;2&amp;#39;,&amp;#39;3&amp;#39;), (&amp;#39;1&amp;#39;,&lt;br&gt;&amp;gt; &amp;#39;3&amp;#39;, &amp;#39;1&amp;#39;), (&amp;#39;2&amp;#39;,&amp;#39;1&amp;#39;,&amp;#39;60&amp;#39;);&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; I would now like to have something like a view that transforms the table&lt;br&gt;&amp;gt; &amp;quot;transfer&amp;quot; from this:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; test=# SELECT * from transfer;&lt;br&gt;&amp;gt;   id | fromid | toid | amount&lt;br&gt;&amp;gt; ----+--------+------+--------&lt;br&gt;&amp;gt;    1 |      1 |    2 |      3&lt;br&gt;&amp;gt;    2 |      1 |    3 |      1&lt;br&gt;&amp;gt;    3 |      2 |    1 |     60&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; into this:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; id | Peter | David | Fritz | ...even more Names from player table&lt;br&gt;&amp;gt; ---+-------+-------+-------+-------------------------------------&lt;br&gt;&amp;gt;   1 |    -3 |     3 |     0 | 0&lt;br&gt;&amp;gt;   2 |    -1 |     0 |     1 | 0&lt;br&gt;&amp;gt;   3 |    60 |   -60 |     0 | 0&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; In other words, I would like to have a named column for every Name in&lt;br&gt;&amp;gt; the player table. I _can_ create such a view manually if I know each&lt;br&gt;&amp;gt; &lt;a href="http://player.name"&gt;player.name&lt;/a&gt; beforehand, but I don&amp;#39;t know how to automate it for any&lt;br&gt;&amp;gt; given number of players. (Think of something like a sparse interaction&lt;br&gt;&amp;gt; matrix representation.)&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Maybe it&amp;#39;s the &amp;quot;wrong&amp;quot; problem I&amp;#39;m trying to solve, but at least I would&lt;br&gt;&amp;gt;   like to know whether it&amp;#39;s possible or not.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Kind regards,&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Felix&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;&amp;gt; To make changes to your subscription:&lt;br&gt;&amp;gt; &lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;br&gt;&amp;gt;&lt;p&gt;-- &lt;br&gt;Sent from Gmail for mobile | &lt;a href="http://mobile.google.com"&gt;mobile.google.com&lt;/a&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-8281552924087442248?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/8281552924087442248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=8281552924087442248' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8281552924087442248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8281552924087442248'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-alias-name-from-subquery_6312.html' title='Re: [GENERAL] Alias name from subquery'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-4890334199313936707</id><published>2008-09-30T11:14:00.000-07:00</published><updated>2008-09-30T11:21:05.721-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] Modificar WHERE en rule</title><content type='html'>Finalmente he conseguido solucionarlo con una funcion.&lt;p&gt;Gracias a todos los que me contestaron.&lt;p&gt;-- &lt;br&gt;*****************************************&lt;br&gt;Oswaldo Hern&amp;#225;ndez&lt;br&gt;oswaldo (@) soft-com (.) es&lt;br&gt;*****************************************&lt;br&gt;PD:&lt;br&gt;Antes de imprimir este mensaje, aseg&amp;#250;rese de que es necesario.&lt;br&gt;El medio ambiente est&amp;#225; en nuestra mano.&lt;br&gt;--&lt;br&gt;TIP 8: explain analyze es tu amigo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-4890334199313936707?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/4890334199313936707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=4890334199313936707' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4890334199313936707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4890334199313936707'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-modificar-where-en.html' title='Re: [pgsql-es-ayuda] Modificar WHERE en rule'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-3557344339576298853</id><published>2008-09-30T11:13:00.000-07:00</published><updated>2008-09-30T11:26:20.089-07:00</updated><title type='text'>Re: [ADMIN] turning of pg_xlog</title><content type='html'>Jonny wrote:&lt;br&gt;&amp;gt; Hi,&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; I have installes Postgres 8.0.15 on a embedded Linux and have only 130 &lt;br&gt;&amp;gt; MB for Postgres.&lt;br&gt;&amp;gt; Is it possible to turn off the comlete (Wal) pg_xlog? Because this is &lt;br&gt;&amp;gt; the biggest part.&lt;br&gt;&amp;gt; I found an Entry how to minimize the count of stored xlogs.&lt;br&gt;&amp;gt; Is it possible to store it  to /dev/null or something else?&lt;br&gt;&amp;gt; Something like ln -s /dev/null  pg_xlog/ (I know this does not work &lt;br&gt;&amp;gt; :-) ....&lt;br&gt;You should also understand that if you set checkpoint_segments to a &lt;br&gt;small number, its still possible that PostgreSQL might use more than &lt;br&gt;that number for a large transaction.  As such, be careful about limiting &lt;br&gt;the space available to your xlogs, lest it cause transactions to fail &lt;br&gt;due to insufficient space for the xlogs.&lt;p&gt;-- &lt;br&gt;Chander Ganesan&lt;br&gt;Open Technology Group, Inc.&lt;br&gt;One Copley Parkway, Suite 210&lt;br&gt;Morrisville, NC  27560&lt;br&gt;919-463-0999/877-258-8987&lt;br&gt;&lt;a href="http://www.otg-nc.com"&gt;http://www.otg-nc.com&lt;/a&gt;&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-admin mailing list (&lt;a href="mailto:pgsql-admin@postgresql.org"&gt;pgsql-admin@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-admin"&gt;http://www.postgresql.org/mailpref/pgsql-admin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-3557344339576298853?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/3557344339576298853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=3557344339576298853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3557344339576298853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3557344339576298853'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-admin-turning-of-pgxlog.html' title='Re: [ADMIN] turning of pg_xlog'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1730293867869385402</id><published>2008-09-30T11:03:00.000-07:00</published><updated>2008-09-30T11:12:32.736-07:00</updated><title type='text'>Re: [HACKERS] Common Table Expressions (WITH RECURSIVE) patch </title><content type='html'>Greg Stark &amp;lt;&lt;a href="mailto:greg.stark@enterprisedb.com"&gt;greg.stark@enterprisedb.com&lt;/a&gt;&amp;gt; writes:&lt;br&gt;&amp;gt; On 24 Sep 2008, at 02:45, Tom Lane &amp;lt;&lt;a href="mailto:tgl@sss.pgh.pa.us"&gt;tgl@sss.pgh.pa.us&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;&amp;gt; The next big&lt;br&gt;&amp;gt;&amp;gt; thing seems to be to figure out exactly how to do multiple references&lt;br&gt;&amp;gt;&amp;gt; to CTE outputs, so that we can de-bogotify the planner.&lt;p&gt;&amp;gt; I&amp;#39;ve looked and don&amp;#39;t seem to still have the source tree where I  &lt;br&gt;&amp;gt; worked on this. I remember how I made the changes to tuplestore which  &lt;br&gt;&amp;gt; was mostly mechanical. The trick I think will be in adding a special  &lt;br&gt;&amp;gt; purpose executor method which passes the call site to the node below.  &lt;br&gt;&amp;gt; This depends on the observation that if we always memoize results then  &lt;br&gt;&amp;gt; each call site can only have one active call. That is, we don&amp;#39;t need  &lt;br&gt;&amp;gt; to maintain a full stack tree. &lt;p&gt;I looked at the tuplestore code a bit and decided that this actually&lt;br&gt;doesn&amp;#39;t need to be hard at all.  Tuplestore already has a notion of a&lt;br&gt;write position and an independent read position, and we don&amp;#39;t need more&lt;br&gt;than one write position.  So what I think we should do is add &amp;quot;get read&lt;br&gt;position&amp;quot; and &amp;quot;set read position&amp;quot; functions to tuplestore.c, and have&lt;br&gt;each of the reader nodes remember its own read position.  That is,&lt;br&gt;each reader has to do&lt;p&gt;	set_read_position(tupstore, &amp;amp;local_read_position);&lt;br&gt;	tuple = tuplestore_gettuple(tupstore, ...);&lt;br&gt;	get_read_position(tupstore, &amp;amp;local_read_position);&lt;p&gt;rather than just tuplestore_gettuple.  The set/get functions will be&lt;br&gt;cheap enough that this is no big deal.  (Or maybe we should just&lt;br&gt;provide a wrapper function that does this sequence?)&lt;p&gt;			regards, tom lane&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1730293867869385402?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1730293867869385402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1730293867869385402' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1730293867869385402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1730293867869385402'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-common-table-expressions_30.html' title='Re: [HACKERS] Common Table Expressions (WITH RECURSIVE) patch '/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2524645541107298525</id><published>2008-09-30T11:02:00.000-07:00</published><updated>2008-09-30T11:10:42.703-07:00</updated><title type='text'>[HACKERS] Block-level CRC checks</title><content type='html'>A customer of ours has been having trouble with corrupted data for some&lt;br&gt;time.  Of course, we&amp;#39;ve almost always blamed hardware (and we&amp;#39;ve seen&lt;br&gt;RAID controllers have their firmware upgraded, among other actions), but&lt;br&gt;the useful thing to know is when corruption has happened, and where.&lt;p&gt;So we&amp;#39;ve been tasked with adding CRCs to data files.&lt;p&gt;The idea is that these CRCs are going to be checked just after reading&lt;br&gt;files from disk, and calculated just before writing it.  They are&lt;br&gt;just a protection against the storage layer going mad; they are not&lt;br&gt;intended to protect against faulty RAM, CPU or kernel.&lt;p&gt;This code would be run-time or compile-time configurable.  I&amp;#39;m not&lt;br&gt;absolutely sure which yet; the problem with run-time is what to do if&lt;br&gt;the user restarts the server with the setting flipped.  It would have&lt;br&gt;almost no impact on users who don&amp;#39;t enable it.&lt;p&gt;The implementation I&amp;#39;m envisioning requires the use of a new relation&lt;br&gt;fork to store the per-block CRCs.  Initially I&amp;#39;m aiming at a CRC32 sum&lt;br&gt;for each block.  FlushBuffer would calculate the checksum and store it&lt;br&gt;in the CRC fork; ReadBuffer_common would read the page, calculate the&lt;br&gt;checksum, and compare it to the one stored in the CRC fork.&lt;p&gt;A buffer&amp;#39;s io_in_progress lock protects the buffer&amp;#39;s CRC.  We read and&lt;br&gt;pin the CRC page before acquiring the lock, to avoid having two buffer&lt;br&gt;IO operations in flight.&lt;p&gt;I&amp;#39;d like to submit this for 8.4, but I want to ensure that -hackers at&lt;br&gt;large approve of this feature before starting serious coding.&lt;p&gt;Opinions?&lt;p&gt;-- &lt;br&gt;Alvaro Herrera                                &lt;a href="http://www.CommandPrompt.com/"&gt;http://www.CommandPrompt.com/&lt;/a&gt;&lt;br&gt;PostgreSQL Replication, Consulting, Custom Development, 24x7 support&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2524645541107298525?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2524645541107298525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2524645541107298525' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2524645541107298525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2524645541107298525'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/hackers-block-level-crc-checks.html' title='[HACKERS] Block-level CRC checks'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-6833754491363100761</id><published>2008-09-30T11:00:00.000-07:00</published><updated>2008-09-30T11:09:41.743-07:00</updated><title type='text'>Re: [GENERAL] Can't cast from char to integer...</title><content type='html'>On Tuesday 30 September 2008 10:46:46 am Merlin Moncure wrote:&lt;br&gt;&amp;gt; On Mon, Sep 29, 2008 at 8:02 PM, Mike Diehl &amp;lt;&lt;a href="mailto:mdiehl@diehlnet.com"&gt;mdiehl@diehlnet.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; &amp;gt; That fixed it.  If you are ever in Albuquerque, NM., let me know.  I&amp;#39;ll&lt;br&gt;&amp;gt; &amp;gt; be happy to buy you a beer.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Tom probably has enough beers coming to him that he could found a new&lt;br&gt;&amp;gt; software company with money from returning the bottles for the&lt;br&gt;&amp;gt; deposit.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; merlin&lt;p&gt;Yes, and rightfully so.  Offer still stands.&lt;p&gt;Take care and have fun.&lt;br&gt;-- &lt;br&gt;Mike Diehl&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-6833754491363100761?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/6833754491363100761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=6833754491363100761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6833754491363100761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6833754491363100761'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-cant-cast-from-char-to_30.html' title='Re: [GENERAL] Can&apos;t cast from char to integer...'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-613620966598016367</id><published>2008-09-30T10:54:00.001-07:00</published><updated>2008-09-30T10:59:58.022-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Encuesta para análisis para el proyecto de creación de una certificación para PostgreSQL</title><content type='html'>Quieras o no algun d&amp;#237;a abra que hacerlo cuando la capacitaci&amp;#243;n quede corta.&lt;br&gt;A mi me gusta viajar :)&lt;p&gt;2008/9/30 Jaime Casanova &amp;lt;&lt;a href="mailto:jcasanov@systemguards.com.ec"&gt;jcasanov@systemguards.com.ec&lt;/a&gt;&amp;gt;:&lt;br&gt;&amp;gt; 2008/9/30 Edwin Quijada &amp;lt;&lt;a href="mailto:listas_quijada@hotmail.com"&gt;listas_quijada@hotmail.com&lt;/a&gt;&amp;gt;:&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Bueno, a pesar de todo creo que este es un buen paso para la comunidad. Por lo pronto quiero esa certificacion y&lt;br&gt;&amp;gt;&amp;gt; estoy dispuesto hasta viajar para hacerla.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; la idea es que no haya necesidad de viajar&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; Atentamente,&lt;br&gt;&amp;gt; Jaime Casanova&lt;br&gt;&amp;gt; Soporte y capacitaci&amp;#243;n de PostgreSQL&lt;br&gt;&amp;gt; Asesor&amp;#237;a y desarrollo de sistemas&lt;br&gt;&amp;gt; Guayaquil - Ecuador&lt;br&gt;&amp;gt; Cel. +59387171157&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; TIP 3: Si encontraste la respuesta a tu problema, publ&amp;#237;cala, otros te lo agradecer&amp;#225;n&lt;br&gt;&amp;gt;&lt;br&gt;--&lt;br&gt;TIP 6: &amp;#191;Has buscado en los archivos de nuestra lista de correo?&lt;br&gt;               &lt;a href="http://archives.postgresql.org/pgsql-es-ayuda"&gt;http://archives.postgresql.org/pgsql-es-ayuda&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-613620966598016367?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/613620966598016367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=613620966598016367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/613620966598016367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/613620966598016367'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-re-pgsql-es-ayuda_30.html' title='Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Encuesta para análisis para el proyecto de creación de una certificación para PostgreSQL'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-6437320920854139012</id><published>2008-09-30T10:54:00.000-07:00</published><updated>2008-09-30T10:59:36.645-07:00</updated><title type='text'>Re: [BUGS] BUG #4444: Wrong formated pdf manual</title><content type='html'>Dmitry Orlov wrote:&lt;br&gt;&amp;gt; when I run evince to read manual i got error&lt;br&gt;&amp;gt; evince /home/dorlov/Books/Postgresql/postgresql-8.3-A4.pdf &lt;br&gt;&amp;gt; **&lt;br&gt;&amp;gt; **&lt;br&gt;&amp;gt; ERROR:(/build/buildd/evince-2.22.2/./shell/ev-sidebar-thumbnails.c:248):add_&lt;br&gt;&amp;gt; range: assertion failed: (start_page &amp;lt;= end_page)&lt;br&gt;&amp;gt; Aborted&lt;p&gt;This looks like a bug in evince, please report to the Evince team.&lt;p&gt;It&amp;#39;s possible that there&amp;#39;s something wrong in the PDF that triggers that &lt;br&gt;bug in evince, but an assertion failure shouldn&amp;#39;t nevertheless happen.&lt;p&gt;-- &lt;br&gt;   Heikki Linnakangas&lt;br&gt;   EnterpriseDB   &lt;a href="http://www.enterprisedb.com"&gt;http://www.enterprisedb.com&lt;/a&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-bugs mailing list (&lt;a href="mailto:pgsql-bugs@postgresql.org"&gt;pgsql-bugs@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-bugs"&gt;http://www.postgresql.org/mailpref/pgsql-bugs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-6437320920854139012?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/6437320920854139012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=6437320920854139012' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6437320920854139012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6437320920854139012'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-bugs-bug-4444-wrong-formated-pdf.html' title='Re: [BUGS] BUG #4444: Wrong formated pdf manual'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-6432103177301851421</id><published>2008-09-30T10:53:00.000-07:00</published><updated>2008-09-30T10:58:49.440-07:00</updated><title type='text'>Re: [GENERAL] Alias name from subquery</title><content type='html'>On Tue, Sep 30, 2008 at 11:45 AM, Felix Homann &amp;lt;&lt;a href="mailto:fexpop@onlinehome.de"&gt;fexpop@onlinehome.de&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; Hi Sam,&lt;br&gt;&amp;gt; In other words, I would like to have a named column for every Name in the&lt;br&gt;&amp;gt; player table. I _can_ create such a view manually if I know each &lt;a href="http://player.name"&gt;player.name&lt;/a&gt;&lt;br&gt;&amp;gt; beforehand, but I don&amp;#39;t know how to automate it for any given number of&lt;br&gt;&amp;gt; players. (Think of something like a sparse interaction matrix&lt;br&gt;&amp;gt; representation.)&lt;p&gt;Ahhh, you might do better with crosstab functions then.  look up the&lt;br&gt;tablefunc contrib module.&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-6432103177301851421?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/6432103177301851421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=6432103177301851421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6432103177301851421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6432103177301851421'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-alias-name-from-subquery_30.html' title='Re: [GENERAL] Alias name from subquery'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2094224213982522271</id><published>2008-09-30T10:50:00.000-07:00</published><updated>2008-09-30T10:54:44.333-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Encuesta para análisis para el proyecto de creación de una certificación para PostgreSQL</title><content type='html'>2008/9/30 Edwin Quijada &amp;lt;&lt;a href="mailto:listas_quijada@hotmail.com"&gt;listas_quijada@hotmail.com&lt;/a&gt;&amp;gt;:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Bueno, a pesar de todo creo que este es un buen paso para la comunidad. Por lo pronto quiero esa certificacion y&lt;br&gt;&amp;gt; estoy dispuesto hasta viajar para hacerla.&lt;p&gt;la idea es que no haya necesidad de viajar&lt;p&gt;-- &lt;br&gt;Atentamente,&lt;br&gt;Jaime Casanova&lt;br&gt;Soporte y capacitaci&amp;#243;n de PostgreSQL&lt;br&gt;Asesor&amp;#237;a y desarrollo de sistemas&lt;br&gt;Guayaquil - Ecuador&lt;br&gt;Cel. +59387171157&lt;br&gt;--&lt;br&gt;TIP 3: Si encontraste la respuesta a tu problema, publ&amp;#237;cala, otros te lo agradecer&amp;#225;n&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2094224213982522271?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2094224213982522271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2094224213982522271' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2094224213982522271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2094224213982522271'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-re-pgsql-es-ayuda.html' title='Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Encuesta para análisis para el proyecto de creación de una certificación para PostgreSQL'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-7862378416512441632</id><published>2008-09-30T10:45:00.000-07:00</published><updated>2008-09-30T10:51:11.440-07:00</updated><title type='text'>Re: [GENERAL] Alias name from subquery</title><content type='html'>Hi Sam,&lt;p&gt;Sam Mason wrote:&lt;br&gt;&amp;gt; I think you may be trying to solve the wrong problem, what are you&lt;br&gt;&amp;gt; really trying to do?&lt;p&gt;Here you go. I have some tables created like this:&lt;p&gt;CREATE TABLE player(&lt;br&gt;id     INTEGER PRIMARY KEY,&lt;br&gt;name   varchar(20)&lt;br&gt;);&lt;p&gt;CREATE TABLE transfer(&lt;br&gt;id     SERIAL PRIMARY KEY,&lt;br&gt;fromID INTEGER REFERENCES player(id),&lt;br&gt;toID   INTEGER REFERENCES player(id),&lt;br&gt;amount numeric&lt;br&gt;);&lt;p&gt;Now, let&amp;#39;s fill them with some data:&lt;p&gt;INSERT INTO player VALUES (&amp;#39;1&amp;#39;, &amp;#39;Peter&amp;#39;), (&amp;#39;2&amp;#39;,&amp;#39;David&amp;#39;), (&amp;#39;3&amp;#39;,&amp;#39;Fritz&amp;#39;);&lt;br&gt;INSERT INTO transfer(fromID, toID, amount) VALUES (&amp;#39;1&amp;#39;,&amp;#39;2&amp;#39;,&amp;#39;3&amp;#39;), (&amp;#39;1&amp;#39;, &lt;br&gt;&amp;#39;3&amp;#39;, &amp;#39;1&amp;#39;), (&amp;#39;2&amp;#39;,&amp;#39;1&amp;#39;,&amp;#39;60&amp;#39;);&lt;p&gt;I would now like to have something like a view that transforms the table &lt;br&gt;&amp;quot;transfer&amp;quot; from this:&lt;p&gt;test=# SELECT * from transfer;&lt;br&gt;  id | fromid | toid | amount&lt;br&gt;----+--------+------+--------&lt;br&gt;   1 |      1 |    2 |      3&lt;br&gt;   2 |      1 |    3 |      1&lt;br&gt;   3 |      2 |    1 |     60&lt;p&gt;&lt;br&gt;into this:&lt;p&gt;id | Peter | David | Fritz | ...even more Names from player table&lt;br&gt;---+-------+-------+-------+-------------------------------------&lt;br&gt;  1 |    -3 |     3 |     0 | 0&lt;br&gt;  2 |    -1 |     0 |     1 | 0&lt;br&gt;  3 |    60 |   -60 |     0 | 0&lt;p&gt;&lt;br&gt;In other words, I would like to have a named column for every Name in &lt;br&gt;the player table. I _can_ create such a view manually if I know each &lt;br&gt;&lt;a href="http://player.name"&gt;player.name&lt;/a&gt; beforehand, but I don&amp;#39;t know how to automate it for any &lt;br&gt;given number of players. (Think of something like a sparse interaction &lt;br&gt;matrix representation.)&lt;p&gt;Maybe it&amp;#39;s the &amp;quot;wrong&amp;quot; problem I&amp;#39;m trying to solve, but at least I would &lt;br&gt;  like to know whether it&amp;#39;s possible or not.&lt;p&gt;Kind regards,&lt;p&gt;Felix&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-7862378416512441632?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/7862378416512441632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=7862378416512441632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7862378416512441632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7862378416512441632'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-alias-name-from-subquery.html' title='Re: [GENERAL] Alias name from subquery'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2186550200362084820</id><published>2008-09-30T10:39:00.000-07:00</published><updated>2008-09-30T10:40:50.188-07:00</updated><title type='text'>Re: [GENERAL] Can't cast from char to integer...</title><content type='html'>On Tue, Sep 30, 2008 at 10:46 AM, Merlin Moncure &amp;lt;&lt;a href="mailto:mmoncure@gmail.com"&gt;mmoncure@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; On Mon, Sep 29, 2008 at 8:02 PM, Mike Diehl &amp;lt;&lt;a href="mailto:mdiehl@diehlnet.com"&gt;mdiehl@diehlnet.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;&amp;gt; That fixed it.  If you are ever in Albuquerque, NM., let me know.  I&amp;#39;ll be&lt;br&gt;&amp;gt;&amp;gt; happy to buy you a beer.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Tom probably has enough beers coming to him that he could found a new&lt;br&gt;&amp;gt; software company with money from returning the bottles for the&lt;br&gt;&amp;gt; deposit.&lt;p&gt;Tom will never lack for pizza or beer when he&amp;#39;s visiting Denver...&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2186550200362084820?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2186550200362084820/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2186550200362084820' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2186550200362084820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2186550200362084820'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-cant-cast-from-char-to.html' title='Re: [GENERAL] Can&apos;t cast from char to integer...'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-8853641696086745805</id><published>2008-09-30T10:37:00.000-07:00</published><updated>2008-09-30T10:41:23.207-07:00</updated><title type='text'>Re: [GENERAL] MySQL to Postgresql schema conversion</title><content type='html'>On Tue, Sep 30, 2008 at 1:18 PM, Merlin Moncure &amp;lt;&lt;a href="mailto:mmoncure@gmail.com"&gt;mmoncure@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; On Tue, Sep 30, 2008 at 12:48 PM, Sean Davis &amp;lt;&lt;a href="mailto:sdavis2@mail.nih.gov"&gt;sdavis2@mail.nih.gov&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;&amp;gt; On Tue, Sep 30, 2008 at 10:08 AM, Sean Davis &amp;lt;&lt;a href="mailto:sdavis2@mail.nih.gov"&gt;sdavis2@mail.nih.gov&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; There are a number of mysql to postgresql converters available, but&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; many of them have significant shortcomings.  Has anyone found a tool&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that works well?  I am trying to convert a couple of relatively large,&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; public schema to postgresql.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; I started playing with sqlalchemy (python) which can reflect a schema&lt;br&gt;&amp;gt;&amp;gt; to python objects.  Those objects can then be used to instantiate&lt;br&gt;&amp;gt;&amp;gt; another schema in a different database dialect.  Works like a charm&lt;br&gt;&amp;gt;&amp;gt; after modifying a couple of column names.  It mirrors about 4000&lt;br&gt;&amp;gt;&amp;gt; tables in about 45 seconds (of course, without the data).&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Does it get all the various constraints and stuff (if any)?  Simple&lt;br&gt;&amp;gt; field to field copy techniques only tends to work if the database only&lt;br&gt;&amp;gt; uses a small subset of common features.  Great for you if it works&lt;br&gt;&amp;gt; though.&lt;p&gt;To the extent that the MySQL databases used anything interesting&lt;br&gt;(defaults, basically), it seems to, yes.  I have used it for other&lt;br&gt;projects as an ORM and it seems to support pretty much anything I can&lt;br&gt;dream up on the postgres side for DDL.&lt;p&gt;Sean&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-8853641696086745805?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/8853641696086745805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=8853641696086745805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8853641696086745805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8853641696086745805'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-mysql-to-postgresql-schema.html' title='Re: [GENERAL] MySQL to Postgresql schema conversion'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-6839051427104457605</id><published>2008-09-30T09:56:00.000-07:00</published><updated>2008-09-30T10:57:32.984-07:00</updated><title type='text'>[ANNOUNCE] PostgreSQL Conference West: Tentative Schedule Released!</title><content type='html'>The tentative schedule for PostgreSQL Conference West can be found here:&lt;p&gt;&lt;a href="http://www.pgcon.us/west08/schedule"&gt;http://www.pgcon.us/west08/schedule&lt;/a&gt;&lt;p&gt;If you haven&amp;#39;t registered, now is the time:&lt;p&gt;&lt;a href="http://www.postgresqlconference.org/west08/register"&gt;http://www.postgresqlconference.org/west08/register&lt;/a&gt;&lt;p&gt;And of course, thanks to our sponsors!&lt;p&gt;Command Prompt: &lt;a href="http://www.commandprompt.com/"&gt;http://www.commandprompt.com/&lt;/a&gt;&lt;br&gt;EnterpriseDB: &lt;a href="http://www.enterprisedb.com/"&gt;http://www.enterprisedb.com/&lt;/a&gt;&lt;p&gt;Afilias : &lt;a href="http://www.afilias.info/"&gt;http://www.afilias.info/&lt;/a&gt;&lt;br&gt;HP: &lt;a href="http://www.hp.com/"&gt;http://www.hp.com/&lt;/a&gt;&lt;p&gt;Emma : &lt;a href="http://www.myemma.com/"&gt;http://www.myemma.com/&lt;/a&gt;&lt;p&gt;Continuent : &lt;a href="http://www.continuent.com/"&gt;http://www.continuent.com/&lt;/a&gt;&lt;br&gt;Endpoint : &lt;a href="http://www.endpoint.com/"&gt;http://www.endpoint.com/&lt;/a&gt;&lt;br&gt;OTG : &lt;a href="http://www.otg-nc.com/"&gt;http://www.otg-nc.com/&lt;/a&gt;&lt;p&gt;EFF: &lt;a href="http://www.eff.org/"&gt;http://www.eff.org/&lt;/a&gt;&lt;br&gt;Google: &lt;a href="http://www.google.com/"&gt;http://www.google.com/&lt;/a&gt;&lt;p&gt;Joshua D. Drake&lt;p&gt;---------------------------(end of broadcast)---------------------------&lt;br&gt;-To unsubscribe from this list, send an email to:&lt;p&gt;               &lt;a href="mailto:pgsql-announce-unsubscribe@postgresql.org"&gt;pgsql-announce-unsubscribe@postgresql.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-6839051427104457605?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/6839051427104457605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=6839051427104457605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6839051427104457605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6839051427104457605'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/announce-postgresql-conference-west.html' title='[ANNOUNCE] PostgreSQL Conference West: Tentative Schedule Released!'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2493067425434388349</id><published>2008-09-29T16:07:00.000-07:00</published><updated>2008-09-29T16:08:11.484-07:00</updated><title type='text'>Re: [NOVICE] plpgsql functions vs. embedded queries </title><content type='html'>&amp;quot;Wright, George&amp;quot; &amp;lt;&lt;a href="mailto:George.Wright@infimatic.com"&gt;George.Wright@infimatic.com&lt;/a&gt;&amp;gt; writes:&lt;br&gt;&amp;gt;&amp;gt; Are funtions in plpgsql always slower than embedding sql queries in  &lt;br&gt;&amp;gt;&amp;gt; string form in code like PHP?&lt;br&gt;&amp;gt; The functions took on average more than 10 times as long.&lt;p&gt;That suggests that you&amp;#39;re getting a radically different, less efficient&lt;br&gt;plan for the &amp;quot;same&amp;quot; query inside a function.  The exact reasons why are&lt;br&gt;hard to diagnose without a concrete example, but usually the story has&lt;br&gt;to do with comparing parameterized queries inside a function to&lt;br&gt;not-parameterized queries elsewhere.  There are various workarounds&lt;br&gt;but the best choice depends on details you&amp;#39;ve not shown us.&lt;p&gt;			regards, tom lane&lt;p&gt;-- &lt;br&gt;Sent via pgsql-novice mailing list (&lt;a href="mailto:pgsql-novice@postgresql.org"&gt;pgsql-novice@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-novice"&gt;http://www.postgresql.org/mailpref/pgsql-novice&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2493067425434388349?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2493067425434388349/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2493067425434388349' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2493067425434388349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2493067425434388349'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-novice-plpgsql-functions-vs-embedded_29.html' title='Re: [NOVICE] plpgsql functions vs. embedded queries '/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-5644050634103716806</id><published>2008-09-29T16:06:00.000-07:00</published><updated>2008-09-29T16:08:22.070-07:00</updated><title type='text'>Re: [GENERAL] pg_start_backup() takes too long</title><content type='html'>Simon Riggs wrote:&lt;br&gt;&amp;gt; &amp;gt; If it is a bug then I&amp;#39;d vote for just making it do an immediate&lt;br&gt;&amp;gt; &amp;gt; checkpoint --- that might cause big I/O load but it&amp;#39;s hardly likely to&lt;br&gt;&amp;gt; &amp;gt; be worse than what will happen when you start taking the subsequent&lt;br&gt;&amp;gt; &amp;gt; filesystem backup. &lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; It was a clear intention for it to *not* cause a spike if we could avoid&lt;br&gt;&amp;gt; it. The idea was if you wanted it to happen quickly then you could do a&lt;br&gt;&amp;gt; checkpoint command first... oh well.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; People might want to I/O limit the backup also, which they can do&lt;br&gt;&amp;gt; without needing to let us know.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; I&amp;#39;m happy to put an option in for this, so we have another function:&lt;br&gt;&amp;gt; pg_start_backup(label text, immediate_chkpt boolean). I&amp;#39;ll not be&lt;br&gt;&amp;gt; rushing to do this though given my current TODO.&lt;p&gt;I agree with Tom;  either we make the pg_start_backup() checkpoint&lt;br&gt;immediate or leave the behavior unchanged.&lt;p&gt;Personally I think immediate makes more sense because issuing&lt;br&gt;pg_start_backup() seems like it should behave like a manual CHECKPOINT&lt;br&gt;command.&lt;p&gt;-- &lt;br&gt;  Bruce Momjian  &amp;lt;&lt;a href="mailto:bruce@momjian.us"&gt;bruce@momjian.us&lt;/a&gt;&amp;gt;        &lt;a href="http://momjian.us"&gt;http://momjian.us&lt;/a&gt;&lt;br&gt;  EnterpriseDB                             &lt;a href="http://enterprisedb.com"&gt;http://enterprisedb.com&lt;/a&gt;&lt;p&gt;  + If your life is a hard drive, Christ can be your backup. +&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-5644050634103716806?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/5644050634103716806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=5644050634103716806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5644050634103716806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5644050634103716806'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-pgstartbackup-takes-too-long_1551.html' title='Re: [GENERAL] pg_start_backup() takes too long'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-363645792069072434</id><published>2008-09-29T15:45:00.000-07:00</published><updated>2008-09-29T15:46:37.828-07:00</updated><title type='text'>Re: [ADMIN] Do we need vacuuming when tables are regularly dropped? </title><content type='html'>&amp;quot;Scott Marlowe&amp;quot; &amp;lt;&lt;a href="mailto:scott.marlowe@gmail.com"&gt;scott.marlowe@gmail.com&lt;/a&gt;&amp;gt; writes:&lt;br&gt;&amp;gt; Also, there was a time when you couldn&amp;#39;t do vacuum full on system&lt;br&gt;&amp;gt; tables do to locking issues, and had to take the db down to single&lt;br&gt;&amp;gt; user mode to do so.&lt;p&gt;There was a short period when *concurrent* vacuum fulls on just the&lt;br&gt;wrong combinations of system catalogs could deadlock (because they both&lt;br&gt;needed to look up stuff in the other one).  AFAIK we fixed that.  It&amp;#39;s&lt;br&gt;never been the case that it didn&amp;#39;t work at all.&lt;p&gt;			regards, tom lane&lt;p&gt;-- &lt;br&gt;Sent via pgsql-admin mailing list (&lt;a href="mailto:pgsql-admin@postgresql.org"&gt;pgsql-admin@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-admin"&gt;http://www.postgresql.org/mailpref/pgsql-admin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-363645792069072434?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/363645792069072434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=363645792069072434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/363645792069072434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/363645792069072434'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-admin-do-we-need-vacuuming-when_29.html' title='Re: [ADMIN] Do we need vacuuming when tables are regularly dropped? '/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-6809067764562975486</id><published>2008-09-29T15:42:00.001-07:00</published><updated>2008-09-29T15:48:15.629-07:00</updated><title type='text'>[pgsql-jobs] Recruiting Consulting - Web 2.0 &amp; Online Casual Games Specialist</title><content type='html'>Hi,&lt;p&gt;I am looking for top LAMP Developers &amp;amp; Architects (front-end/UI and back-end) for exciting online casual game companies and Web 2.0 companies located in SF &amp;amp; San Mateo.  All companies offer top pay/benefits and opportunities.&lt;p&gt;If you would like to know more, please email me or call.&lt;p&gt;p.s.  I bring lots of recruiting expertise having staffed Stormfront Studios award-winning Dev Team for 10+ years and most recently working with Technorati, as an in-house contract recruiter, in hiring for their dev team.&lt;p&gt;Best,&lt;p&gt;Marta Daglow&lt;br&gt;&lt;a href="mailto:mdaglow@daglowconsulting.com"&gt;mdaglow@daglowconsulting.com&lt;/a&gt;&lt;p&gt;Cell 415-461-5845&lt;p&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-jobs mailing list (&lt;a href="mailto:pgsql-jobs@postgresql.org"&gt;pgsql-jobs@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-jobs"&gt;http://www.postgresql.org/mailpref/pgsql-jobs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-6809067764562975486?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/6809067764562975486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=6809067764562975486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6809067764562975486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6809067764562975486'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/pgsql-jobs-recruiting-consulting-web-20.html' title='[pgsql-jobs] Recruiting Consulting - Web 2.0 &amp; Online Casual Games Specialist'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-4344196618022053967</id><published>2008-09-29T15:42:00.000-07:00</published><updated>2008-09-29T15:43:47.377-07:00</updated><title type='text'>[pgsql-es-ayuda] Encuesta para análisis para el proyecto de creación de una certificación para PostgreSQL</title><content type='html'>Anuncio original (en ingl&amp;#233;s):&lt;br&gt;&lt;a href="http://archives.postgresql.org/pgsql-advocacy/2008-09/msg00059.php"&gt;http://archives.postgresql.org/pgsql-advocacy/2008-09/msg00059.php&lt;/a&gt;&lt;p&gt;--------&lt;p&gt;Hola,&lt;p&gt;La comunidad de PostgreSQL est&amp;#225; trabajando para crear una&lt;br&gt;certificaci&amp;#243;n de PostgreSQL manejada y respaldada por la comunidad.&lt;br&gt;Este esfuerzo est&amp;#225; encabezado por el Proyecto de Certificaci&amp;#243;n&lt;br&gt;PostgreSQL (&lt;a href="http://www.postgresqlcertification.org"&gt;http://www.postgresqlcertification.org&lt;/a&gt;). El objetivo&lt;br&gt;principal del proyecto es el desarrollo y apoyo de una serie de&lt;br&gt;certificaciones en niveles que proporcionen un m&amp;#233;todo normalizado de&lt;br&gt;identificaci&amp;#243;n de los conocimientos y aptitudes sobre bases de datos&lt;br&gt;de los profesionales que trabajan con PostgreSQL.&lt;p&gt;En este momento, el proyecto de certificaci&amp;#243;n de PostgreSQL se&lt;br&gt;complace en anunciar la disponibilidad de una encuesta que ayudar&amp;#225; a&lt;br&gt;conformar el contenido y la forma inicial en que se llevaran las&lt;br&gt;certificaciones. Esta encuesta est&amp;#225; a disposici&amp;#243;n del p&amp;#250;blico y se les&lt;br&gt;anima a todos a participar.&lt;p&gt;Para participar en la encuesta, por favor registrese en:&lt;br&gt;&lt;a href="http://www.postgresqlcertification.org/jta"&gt;http://www.postgresqlcertification.org/jta&lt;/a&gt;&lt;p&gt;El proceso de registro tom&amp;#225; solo un par de minutos. Una vez que este&lt;br&gt;registrado y haya ingresado, haga clic en el men&amp;#250; JTA o dirigase al&lt;br&gt;enlace marcado como &amp;quot;participate in the survey&amp;quot;&lt;br&gt;(&lt;a href="http://www.postgresqlcertification.org/job_task_analysis"&gt;http://www.postgresqlcertification.org/job_task_analysis&lt;/a&gt;). La&lt;br&gt;encuesta toma unos 30 minutos.&lt;p&gt;&lt;br&gt;Pedimos que por favor, se tomen el tiempo de completar la encuesta y&lt;br&gt;que refieran esta encuesta a otro empleador, administrador, colega, o&lt;br&gt;a cualquiera que depende de alg&amp;#250;n modo de una base de datos PostgreSQL&lt;br&gt;que tome tambien la encuesta. Con la ayuda de la comunidad podremos&lt;br&gt;llegar a una audiencia lo mas amplia posible.&lt;p&gt;Si usted est&amp;#225; interesado en unirse al Proyecto de Certificaci&amp;#243;n para&lt;br&gt;PostgreSQL, por favor visite&lt;br&gt;&lt;a href="http://lists.postgresqlcertification.org/mailman/listinfo/cert/"&gt;http://lists.postgresqlcertification.org/mailman/listinfo/cert/&lt;/a&gt; y&lt;br&gt;suscribase a la lista de correos despues de tomar la encuesta.&lt;p&gt;-- &lt;br&gt;Atentamente,&lt;br&gt;Jaime Casanova&lt;br&gt;Soporte y capacitaci&amp;#243;n de PostgreSQL&lt;br&gt;Asesor&amp;#237;a y desarrollo de sistemas&lt;br&gt;Guayaquil - Ecuador&lt;br&gt;Cel. +59387171157&lt;br&gt;--&lt;br&gt;TIP 5: &amp;#191;Has le&amp;#237;do nuestro extenso FAQ?&lt;br&gt;         &lt;a href="http://www.postgresql.org/docs/faqs.FAQ.html"&gt;http://www.postgresql.org/docs/faqs.FAQ.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-4344196618022053967?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/4344196618022053967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=4344196618022053967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4344196618022053967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4344196618022053967'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/pgsql-es-ayuda-encuesta-para-anlisis.html' title='[pgsql-es-ayuda] Encuesta para análisis para el proyecto de creación de una certificación para PostgreSQL'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2055091627469485032</id><published>2008-09-29T15:41:00.001-07:00</published><updated>2008-09-29T15:41:35.520-07:00</updated><title type='text'>[COMMITTERS] npgsql - Npgsql2:   [npgsql-help][1004020] Backend sent unrecognized </title><content type='html'>Log Message:&lt;br&gt;-----------&lt;p&gt;&lt;br&gt;[npgsql-help][1004020] Backend sent unrecognized response type: q&lt;p&gt;References for previous patch: &lt;a href="http://pgfoundry.org/forum/message.php?msg_id=1004022"&gt;http://pgfoundry.org/forum/message.php?msg_id=1004022&lt;/a&gt;.&lt;p&gt;Modified Files:&lt;br&gt;--------------&lt;br&gt;    Npgsql2/src/Npgsql:&lt;br&gt;        NpgsqlError.cs (r1.5 -&amp;gt; r1.6)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlError.cs.diff?r1=1.5&amp;amp;r2=1.6"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlError.cs.diff?r1=1.5&amp;amp;r2=1.6&lt;/a&gt;)&lt;p&gt;-- &lt;br&gt;Sent via pgsql-committers mailing list (&lt;a href="mailto:pgsql-committers@postgresql.org"&gt;pgsql-committers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-committers"&gt;http://www.postgresql.org/mailpref/pgsql-committers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2055091627469485032?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2055091627469485032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2055091627469485032' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2055091627469485032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2055091627469485032'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/committers-npgsql-npgsql2-npgsql.html' title='[COMMITTERS] npgsql - Npgsql2:   [npgsql-help][1004020] Backend sent unrecognized '/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-8636425215506001350</id><published>2008-09-29T15:38:00.000-07:00</published><updated>2008-09-29T15:39:18.051-07:00</updated><title type='text'>[COMMITTERS] npgsql - Npgsql2:   Fixed error message: Backend sent unrecognized </title><content type='html'>Log Message:&lt;br&gt;-----------&lt;p&gt;&lt;br&gt;Fixed error message: Backend sent unrecognized response type: q. There was an error on Error message handling where we were letting some fields without processing. Thanks Eric Montague (eric @nospam@ &lt;a href="http://nuws.com"&gt;nuws.com&lt;/a&gt;) for heads up and tests.&lt;p&gt;Modified Files:&lt;br&gt;--------------&lt;br&gt;    Npgsql2/src/Npgsql:&lt;br&gt;        NpgsqlError.cs (r1.4 -&amp;gt; r1.5)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlError.cs.diff?r1=1.4&amp;amp;r2=1.5"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/npgsql/Npgsql2/src/Npgsql/NpgsqlError.cs.diff?r1=1.4&amp;amp;r2=1.5&lt;/a&gt;)&lt;p&gt;-- &lt;br&gt;Sent via pgsql-committers mailing list (&lt;a href="mailto:pgsql-committers@postgresql.org"&gt;pgsql-committers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-committers"&gt;http://www.postgresql.org/mailpref/pgsql-committers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-8636425215506001350?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/8636425215506001350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=8636425215506001350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8636425215506001350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8636425215506001350'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/committers-npgsql-npgsql2-fixed-error.html' title='[COMMITTERS] npgsql - Npgsql2:   Fixed error message: Backend sent unrecognized '/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-695552072695137644</id><published>2008-09-29T15:26:00.000-07:00</published><updated>2008-09-29T15:27:29.331-07:00</updated><title type='text'>Re: [HACKERS] Updates of SE-PostgreSQL 8.4devel patches</title><content type='html'>KaiGai Kohei wrote:&lt;br&gt;&amp;gt; As I repeated several times, SE-PostgreSQL applies the seuciry policy&lt;br&gt;&amp;gt; of SELinux to achieve consistency in access controls. This feature&lt;br&gt;&amp;gt; enables to restrict client&amp;#39;s privileges on accesses to database objects,&lt;br&gt;&amp;gt; as if it accesses to filesystem objects. Its background is our nightmare&lt;br&gt;&amp;gt; for web application flaws.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; The major purpose of this feature is to provide the most important&lt;br&gt;&amp;gt; component to run enterprise class web application with least privilege&lt;br&gt;&amp;gt; set which is consistent at whole of the system.&lt;p&gt;How important is this consistency goal in reality?  We typically&lt;br&gt;recommend that database applications run entirely in the database, for&lt;br&gt;transaction integrity reasons and so on.  Unless you are doing wild and&lt;br&gt;fun things with server-side copy or untrusted procedural languages,&lt;br&gt;there really shouldn&amp;#39;t be that much use for consistency of access&lt;br&gt;control between PostgreSQL and something else.  In fact, on top of the&lt;br&gt;transactional integrity criterion, having consistent access control is&lt;br&gt;one of the reasons to have all your production data in the database&lt;br&gt;system and nowhere else.&lt;p&gt;Of coure, this is an ideal state, and we all of to break that once in a&lt;br&gt;while.  But hence the honest question, how often does that really happen&lt;br&gt; and to what extent, and does that justify the significant investment&lt;br&gt;that is being proposed here?&lt;p&gt;&amp;gt; In recent years, web application flaws are nightmare for us.&lt;br&gt;&amp;gt; The recent report said 95% of significant incidents on the first&lt;br&gt;&amp;gt; half of 2008, and 75% of them were SQL injection in Japan.&lt;br&gt;&amp;gt; My ultimate goal is to help the situation with mandatory access&lt;br&gt;&amp;gt; control and least priviled set for whole of LAPP stack.&lt;p&gt;As I had previously mentioned, we have to distinguish these two goals:&lt;br&gt;consistent access controls and mandatory access controls.&lt;p&gt;Then, how does MAC help with SQL injections?  Using the existing&lt;br&gt;role-based system you can already define least-privilege users that are&lt;br&gt;essentially powerless even if SQL injections were to happen.  I am not&lt;br&gt;aware that important flaws or gaps in our role-based access control&lt;br&gt;system have been pointed out that would make it impossible to create&lt;br&gt;applications with security levels similar to those achievable with a MAC&lt;br&gt;system.&lt;p&gt;Now, if you come back to your original goal of consistency in access&lt;br&gt;control, then it may in fact turn out that an&lt;br&gt;FLASK/SELinux/SE-PostgreSQL-based system is the best common ground for&lt;br&gt;such a system, but I am unconvinced that MAC by itself is necessary.&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-695552072695137644?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/695552072695137644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=695552072695137644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/695552072695137644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/695552072695137644'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-updates-of-se-postgresql_29.html' title='Re: [HACKERS] Updates of SE-PostgreSQL 8.4devel patches'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-5089302284796145122</id><published>2008-09-29T15:14:00.000-07:00</published><updated>2008-09-29T15:15:56.995-07:00</updated><title type='text'>Re: [GENERAL] database question</title><content type='html'>On Mon, 29 Sep 2008, &lt;a href="mailto:john.crawford@sirsidynix.com"&gt;john.crawford@sirsidynix.com&lt;/a&gt; wrote:&lt;p&gt;&amp;gt; What are these files and why have they suddenly started to be created&lt;br&gt;&amp;gt; and why so large?&lt;p&gt;They&amp;#39;re the contents of the database and they get created every time there &lt;br&gt;is another 1GB worth of data in there.  Note that the database will use &lt;br&gt;more space if data is being UPDATEd and you don&amp;#39;t vacuum it regularly. &lt;br&gt;Without the vacuum going it&amp;#39;s as if you&amp;#39;d added a new row instead when you &lt;br&gt;update something.&lt;p&gt;While it&amp;#39;s possible to decode what those files are by using oid2name or &lt;br&gt;pg_class, what you probably want to know instead is what the big tables &lt;br&gt;and indexes in your database are to figure out what is gobbling space. &lt;br&gt;The script at &lt;a href="http://wiki.postgresql.org/wiki/Disk_Usage"&gt;http://wiki.postgresql.org/wiki/Disk_Usage&lt;/a&gt; will give you &lt;br&gt;that.&lt;p&gt;--&lt;br&gt;* Greg Smith &lt;a href="mailto:gsmith@gregsmith.com"&gt;gsmith@gregsmith.com&lt;/a&gt; &lt;a href="http://www.gregsmith.com"&gt;http://www.gregsmith.com&lt;/a&gt; Baltimore, MD&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-5089302284796145122?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/5089302284796145122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=5089302284796145122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5089302284796145122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5089302284796145122'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-database-question_29.html' title='Re: [GENERAL] database question'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-8445573833843038546</id><published>2008-09-29T15:11:00.000-07:00</published><updated>2008-09-29T15:12:09.486-07:00</updated><title type='text'>Re: [GENERAL] Sample databases</title><content type='html'>&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 face=Tahoma&gt;&lt;span lang=EN-US style='font-size: 10.0pt;font-family:Tahoma'&gt;Tommy Gibbons wrote:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;gt;I would like some pointers as to how to install the dbsamples so that I can use them in Postgres.&amp;nbsp; These .tar.qz files seem to contain *.sql files.&amp;nbsp; These seem to be text files but I do not understand how to &amp;gt; import to postgres or if there is some command line command to run.&lt;br&gt; &lt;br&gt; &amp;gt; These samples are on &lt;a href="http://www.postgresql.org/ftp/projects/pgFoundry/dbsamples/" target="_blank"&gt;http://www.postgresql.org/ftp/projects/pgFoundry/dbsamples/&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 face="Times New Roman"&gt;&lt;span style='font-size: 12.0pt'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=3 color=navy face="Times New Roman"&gt;&lt;span style='font-size:12.0pt;color:navy'&gt;You can use psql to import .sql files. Once your logged into psql you can \i &amp;lt;filename&amp;gt; to import the files. Have a look at the other options too with \?&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:navy'&gt;You may wish to create a database before importing the files, see &lt;a href="http://www.postgresql.org/docs/8.3/interactive/sql-createdatabase.html"&gt;http://www.postgresql.org/docs/8.3/interactive/sql-createdatabase.html&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:navy'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;font size=2 color=navy face=Arial&gt;&lt;span style='font-size: 10.0pt;font-family:Arial;color:navy'&gt;David.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-8445573833843038546?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/8445573833843038546/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=8445573833843038546' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8445573833843038546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8445573833843038546'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-sample-databases_29.html' title='Re: [GENERAL] Sample databases'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1987847080682755443</id><published>2008-09-29T15:09:00.000-07:00</published><updated>2008-09-29T15:11:05.452-07:00</updated><title type='text'>Re: [GENERAL] Sample databases</title><content type='html'>On 29/09/2008 23:03, Tommy Gibbons wrote:&lt;p&gt;&amp;gt; I would like some pointers as to how to install the dbsamples so that I&lt;br&gt;&amp;gt; can use them in Postgres.  These .tar.qz files seem to contain *.sql&lt;br&gt;&amp;gt; files.  These seem to be text files but I do not understand how to&lt;br&gt;&amp;gt; import to postgres or if there is some command line command to run.&lt;p&gt;You use psql to load them:&lt;p&gt;    psql -U &amp;lt;user&amp;gt; -f &amp;lt;file&amp;gt; &amp;lt;database&amp;gt;&lt;p&gt;&lt;br&gt;Ray.&lt;p&gt;&lt;br&gt;------------------------------------------------------------------&lt;br&gt;Raymond O&amp;#39;Donnell, Director of Music, Galway Cathedral, Ireland&lt;br&gt;&lt;a href="mailto:rod@iol.ie"&gt;rod@iol.ie&lt;/a&gt;&lt;br&gt;Galway Cathedral Recitals: &lt;a href="http://www.galwaycathedral.org/recitals"&gt;http://www.galwaycathedral.org/recitals&lt;/a&gt;&lt;br&gt;------------------------------------------------------------------&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1987847080682755443?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1987847080682755443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1987847080682755443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1987847080682755443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1987847080682755443'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-sample-databases.html' title='Re: [GENERAL] Sample databases'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-554320763724017413</id><published>2008-09-29T15:03:00.001-07:00</published><updated>2008-09-29T15:03:56.456-07:00</updated><title type='text'>[GENERAL] Sample databases</title><content type='html'>&lt;div dir="ltr"&gt;Hi,&lt;br&gt;I would like some pointers as to how to install the dbsamples so that I can use them in Postgres.&amp;nbsp; These .tar.qz files seem to contain *.sql files.&amp;nbsp; These seem to be text files but I do not understand how to import to postgres or if there is some command line command to run.&lt;br&gt; &lt;br&gt;These samples are on &lt;a href="http://www.postgresql.org/ftp/projects/pgFoundry/dbsamples/" target="_blank"&gt;http://www.postgresql.org/ftp/projects/pgFoundry/dbsamples/&lt;/a&gt;&lt;br&gt;&lt;br&gt;Tommy.&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-554320763724017413?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/554320763724017413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=554320763724017413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/554320763724017413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/554320763724017413'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/general-sample-databases.html' title='[GENERAL] Sample databases'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2252889229453346101</id><published>2008-09-29T14:58:00.000-07:00</published><updated>2008-09-29T15:01:27.533-07:00</updated><title type='text'>Re: [GENERAL] subquery in FROM must have an alias</title><content type='html'>Thanks to Stephan and Hubert for their replies. Using your answers I&lt;br&gt;was able to solve the problem. It turned out that its a natural join&lt;br&gt;that I wanted.&lt;p&gt;Thanks for quick help,&lt;br&gt;Ashutosh&lt;p&gt;On Sun, Sep 28, 2008 at 10:18, Stephan Szabo&lt;br&gt;&amp;lt;&lt;a href="mailto:sszabo@megazone.bigpanda.com"&gt;sszabo@megazone.bigpanda.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; On Sun, 28 Sep 2008, Ashutosh Chauhan wrote:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Hi all,&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; This has been asked before and answered as well.&lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://archives.postgresql.org/pgsql-sql/2007-12/msg00002.php"&gt;http://archives.postgresql.org/pgsql-sql/2007-12/msg00002.php&lt;/a&gt; but I&lt;br&gt;&amp;gt;&amp;gt; still cant figure out why postgres throws this error message even when&lt;br&gt;&amp;gt;&amp;gt; I have provided the aliases. My query:&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; select a,b&lt;br&gt;&amp;gt;&amp;gt;       from (billing.item JOIN (&lt;br&gt;&amp;gt;&amp;gt;                       select *&lt;br&gt;&amp;gt;&amp;gt;                       from ( billing.invoice JOIN billing.customer&lt;br&gt;&amp;gt;&amp;gt;                                                  on (id_customer_shipped = customer_uid and&lt;br&gt;&amp;gt;&amp;gt; address = &amp;#39;pgh&amp;#39; ))&lt;br&gt;&amp;gt;&amp;gt;                         as temp2 ))&lt;br&gt;&amp;gt;&amp;gt;        as temp;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; I have two from clauses so I have provided two corresponding alias&lt;br&gt;&amp;gt;&amp;gt; names for those two from clauses.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; If you break the above down a bit, you have:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; select a,b&lt;br&gt;&amp;gt; from&lt;br&gt;&amp;gt;  (&lt;br&gt;&amp;gt;  billing.item join&lt;br&gt;&amp;gt;  (select * from&lt;br&gt;&amp;gt;   (&lt;br&gt;&amp;gt;    billing.invoice join&lt;br&gt;&amp;gt;    billing.customer&lt;br&gt;&amp;gt;    on (id_customer_shipped = customer_uid and address=&amp;#39;pgh&amp;#39;)&lt;br&gt;&amp;gt;   )&lt;br&gt;&amp;gt;   as temp2&lt;br&gt;&amp;gt;  )&lt;br&gt;&amp;gt;  )&lt;br&gt;&amp;gt; as temp;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; What the system is complaining about is the subselect (select * from ... )&lt;br&gt;&amp;gt; not having an alias. You&amp;#39;ve aliased the billing.invoice join&lt;br&gt;&amp;gt; billing.customer one and (billing.item join (...)) one, but not the&lt;br&gt;&amp;gt; subselect. In fact, I believe the two aliases you&amp;#39;re using aren&amp;#39;t strictly&lt;br&gt;&amp;gt; necessary. Also, the above appears to be missing the condition for the&lt;br&gt;&amp;gt; outermost join.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Maybe something like the following will work with a filled in on&lt;br&gt;&amp;gt; condition:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; select a,b&lt;br&gt;&amp;gt; from&lt;br&gt;&amp;gt;  (&lt;br&gt;&amp;gt;  billing.item join&lt;br&gt;&amp;gt;  (select * from&lt;br&gt;&amp;gt;   (&lt;br&gt;&amp;gt;    billing.invoice join&lt;br&gt;&amp;gt;    billing.customer&lt;br&gt;&amp;gt;    on (id_customer_shipped = customer_uid and address=&amp;#39;pgh&amp;#39;)&lt;br&gt;&amp;gt;   )&lt;br&gt;&amp;gt;  )&lt;br&gt;&amp;gt;  as temp&lt;br&gt;&amp;gt;  on (...)&lt;br&gt;&amp;gt;  )&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2252889229453346101?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2252889229453346101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2252889229453346101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2252889229453346101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2252889229453346101'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-subquery-in-from-must-have_29.html' title='Re: [GENERAL] subquery in FROM must have an alias'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-7287987421881157187</id><published>2008-09-29T14:53:00.000-07:00</published><updated>2008-09-29T14:55:29.725-07:00</updated><title type='text'>Re: [GENERAL] PostgreSQL Cache</title><content type='html'>On Mon, 29 Sep 2008, Sam Mason wrote:&lt;p&gt;&amp;gt; On Mon, Sep 29, 2008 at 02:55:52AM -0400, Greg Smith wrote:&lt;br&gt;&amp;gt;&amp;gt; 3) sudo echo 3 &amp;gt; /proc/sys/vm/drop_caches&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; I&amp;#39;m not sure about the rest, but shouldn&amp;#39;t this be:&lt;br&gt;&amp;gt;  echo 3 | sudo tee /proc/sys/vm/drop_caches&lt;p&gt;I couldn&amp;#39;t think of any reason to actually include the tee in there and &lt;br&gt;just optimized displaying the &amp;quot;3&amp;quot; out as script noise.&lt;p&gt;&amp;gt; As an aside, it would be nicer if there was a more appropriately program &lt;br&gt;&amp;gt; than tee but I&amp;#39;ve yet to find one.&lt;p&gt;What are you trying to accomplish here that tee isn&amp;#39;t quite right for?&lt;p&gt;--&lt;br&gt;* Greg Smith &lt;a href="mailto:gsmith@gregsmith.com"&gt;gsmith@gregsmith.com&lt;/a&gt; &lt;a href="http://www.gregsmith.com"&gt;http://www.gregsmith.com&lt;/a&gt; Baltimore, MD&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-7287987421881157187?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/7287987421881157187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=7287987421881157187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7287987421881157187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7287987421881157187'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-postgresql-cache.html' title='Re: [GENERAL] PostgreSQL Cache'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-7427426336002703811</id><published>2008-09-29T14:49:00.000-07:00</published><updated>2008-09-29T14:50:40.576-07:00</updated><title type='text'>Re: [GENERAL] pg_start_backup() takes too long</title><content type='html'>On Mon, 29 Sep 2008, Simon Riggs wrote:&lt;p&gt;&amp;gt; I&amp;#39;m surprised that checkpoint smoothing moves slowly even when it has so &lt;br&gt;&amp;gt; little to do. ISTM checkpoint completion target should set its write &lt;br&gt;&amp;gt; rate according to the thought that if shared_buffers were all dirty it &lt;br&gt;&amp;gt; would write them out in checkpoint_timeout * &lt;br&gt;&amp;gt; checkpoint_completion_target seconds. However, what it does is write &lt;br&gt;&amp;gt; them *all* out in that time, no matter how many dirty blocks there are. &lt;br&gt;&amp;gt; If there is just a few blocks to write, we take the *same* time to write &lt;br&gt;&amp;gt; them as if it were all dirty.&lt;p&gt;The checkpoint smoothing code that made it into 8.3 missed a couple of &lt;br&gt;nice to have features that just didn&amp;#39;t make the schedule cut-off. &lt;br&gt;Enforcing a minimum rate was one, another was smoothing fsync calls.&lt;p&gt;Back when we were talking about the patch to sort writes at checkpoint &lt;br&gt;time, someone (I think you actually) commented that it might be worthwile &lt;br&gt;to create some sort of hook for making behavior of checkpoint-time dirty &lt;br&gt;buffer processing easy to change with a custom strategy.  The sorted &lt;br&gt;behavior would then be the first such strategy available.  Another one I &lt;br&gt;was thinking of was something that specified min+max write writes, which &lt;br&gt;would make this problem go away--might even auto-tune checkpoint_segments &lt;br&gt;or replace it altogether with an implementation based on those inputs.&lt;p&gt;--&lt;br&gt;* Greg Smith &lt;a href="mailto:gsmith@gregsmith.com"&gt;gsmith@gregsmith.com&lt;/a&gt; &lt;a href="http://www.gregsmith.com"&gt;http://www.gregsmith.com&lt;/a&gt; Baltimore, MD&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-7427426336002703811?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/7427426336002703811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=7427426336002703811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7427426336002703811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7427426336002703811'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-pgstartbackup-takes-too-long_29.html' title='Re: [GENERAL] pg_start_backup() takes too long'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-6452617052729840326</id><published>2008-09-29T14:47:00.000-07:00</published><updated>2008-09-29T14:48:11.093-07:00</updated><title type='text'>Re: [BUGS] ERROR: unexpected data beyond EOF in block XXXXX of	relation "file"</title><content type='html'>David Fetter wrote:&lt;br&gt;&amp;gt; On Sun, Sep 28, 2008 at 11:51:49AM -0700, austijc wrote:&lt;br&gt;&amp;gt;&amp;gt; That&amp;#39;s going to be a problem for the continued viability of&lt;br&gt;&amp;gt;&amp;gt; Postgres.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Funny, I thought running a DBMS over a known-unreliable storage system&lt;br&gt;&amp;gt; was a problem for the continued viability of Oracle.  When, not if,&lt;br&gt;&amp;gt; people lose enough data to this silliness, they&amp;#39;ll be thinking hard&lt;br&gt;&amp;gt; about how to get Oracle out and something reliable in.&lt;p&gt;NFS is not &amp;quot;unreliable&amp;quot;, it is just different in some respects from &lt;br&gt;other file systems.  That paired with some poor NFS implementations in &lt;br&gt;certain operating systems and this evident general misunderstanding make &lt;br&gt;it a poor fit for PostgreSQL.&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-bugs mailing list (&lt;a href="mailto:pgsql-bugs@postgresql.org"&gt;pgsql-bugs@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-bugs"&gt;http://www.postgresql.org/mailpref/pgsql-bugs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-6452617052729840326?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/6452617052729840326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=6452617052729840326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6452617052729840326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6452617052729840326'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-bugs-error-unexpected-data-beyond_8691.html' title='Re: [BUGS] ERROR: unexpected data beyond EOF in block XXXXX of&#x9;relation &quot;file&quot;'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1355143320794069810</id><published>2008-09-29T14:27:00.000-07:00</published><updated>2008-09-29T14:29:08.451-07:00</updated><title type='text'>Re: [GENERAL] [HACKERS] PostgreSQL future ideas</title><content type='html'>2008/9/27 Douglas McNaught &amp;lt;&lt;a href="mailto:doug@mcnaught.org"&gt;doug@mcnaught.org&lt;/a&gt;&amp;gt;:&lt;br&gt;&amp;gt; On Sat, Sep 27, 2008 at 12:13 PM, Mark Mielke &amp;lt;&lt;a href="mailto:mark@mark.mielke.cc"&gt;mark@mark.mielke.cc&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;&amp;gt; If&lt;br&gt;&amp;gt;&amp;gt; some parts of PostgreSQL are not performance bottlenecks, and they are&lt;br&gt;&amp;gt;&amp;gt; extremely complicated to write in C, and very easy to write in something&lt;br&gt;&amp;gt;&amp;gt; else common and simple (I&amp;#39;ve never used LUA myself?), I imagine it would be&lt;br&gt;&amp;gt;&amp;gt; acceptable to the community.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; As long as they can expose their interfaces using the standard PG&lt;br&gt;&amp;gt; function call interface, and use the documented SPI mechanism to talk&lt;br&gt;&amp;gt; to the rest of the back end.  Stuff that hooks into undocumented or&lt;br&gt;&amp;gt; unstable parts of the code would be much less viable.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; -Doug&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;&amp;gt; To make changes to your subscription:&lt;br&gt;&amp;gt; &lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;br&gt;&amp;gt;&lt;p&gt;I think that C is the best language for Postgresql. C++ has a little&lt;br&gt;thinks that make not good for performance.&lt;br&gt;Why people want to make more understable code touching the language?.&lt;br&gt;Simplify documentation for programmmers. Thats was the idea in the beggining.&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1355143320794069810?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1355143320794069810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1355143320794069810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1355143320794069810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1355143320794069810'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-hackers-postgresql-future.html' title='Re: [GENERAL] [HACKERS] PostgreSQL future ideas'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-8588816177276748316</id><published>2008-09-29T14:17:00.002-07:00</published><updated>2008-09-29T14:19:51.766-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] PostgreSQL Spanish Documentation Project</title><content type='html'>aca en bs as me fue imposible por razones que a esa hora estaba durmiendo....&lt;br&gt;jueguense! haganlo a las 13:00 hs UTC por lo menos! eran las 7 de la&lt;br&gt;madrugada aca... jjj&lt;br&gt;--&lt;br&gt;TIP 3: Si encontraste la respuesta a tu problema, publ&amp;#237;cala, otros te lo agradecer&amp;#225;n&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-8588816177276748316?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/8588816177276748316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=8588816177276748316' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8588816177276748316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8588816177276748316'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-postgresql-spanish_29.html' title='Re: [pgsql-es-ayuda] PostgreSQL Spanish Documentation Project'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-3569489819818503992</id><published>2008-09-29T14:17:00.001-07:00</published><updated>2008-09-29T14:17:49.506-07:00</updated><title type='text'>[pgeu-general] Fw: [Cert] Announcing PostgreSQL Certification Project Job Task Analysis Survey</title><content type='html'>An FYI for our friends across the pond!&lt;p&gt;Begin forwarded message:&lt;p&gt;Date: Mon, 29 Sep 2008 11:19:05 -0700&lt;br&gt;From: &amp;quot;Gregory S. Youngblood&amp;quot; &amp;lt;&lt;a href="mailto:greg@tcscs.com"&gt;greg@tcscs.com&lt;/a&gt;&amp;gt;&lt;br&gt;To: &amp;lt;&lt;a href="mailto:cert@lists.postgresqlcertification.org"&gt;cert@lists.postgresqlcertification.org&lt;/a&gt;&amp;gt;&lt;br&gt;Subject: [Cert] Announcing PostgreSQL Certification Project Job Task&lt;br&gt;Analysis Survey&lt;p&gt;&lt;br&gt;Hello!&lt;p&gt; &lt;p&gt;The PostgreSQL Community is working to create a community driven and&lt;br&gt;endorsed PostgreSQL Certification. This effort is spearheaded by the&lt;br&gt;PostgreSQL Certification Project&lt;br&gt;(&lt;a href="http://www.postgresqlcertification.org"&gt;http://www.postgresqlcertification.org&lt;/a&gt;). The primary focus of the&lt;br&gt;project is the development and support of a series of tiered&lt;br&gt;certifications that provide a standardized method of identifying the&lt;br&gt;knowledge and skills of database professionals working with PostgreSQL.&lt;p&gt;&lt;br&gt;At this time, the PostgreSQL Certification Project is pleased to&lt;br&gt;announce the availability of a Job Task Analysis survey that will help&lt;br&gt;shape the content and form the initial certifications will take. This&lt;br&gt;survey is publicly available and all are encouraged to participate.&lt;p&gt;To take the survey, please register at:&lt;p&gt;&lt;a href="http://www.postgresqlcertification.org/jta"&gt;http://www.postgresqlcertification.org/jta&lt;/a&gt;&lt;p&gt; &lt;br&gt;The registration process takes just a couple of minutes. Once&lt;br&gt;registration is complete and you are logged in, click JTA in the menu&lt;br&gt;followed by &amp;quot;participate in the survey&amp;quot;&lt;br&gt;(&lt;a href="http://www.postgresqlcertification.org/job_task_analysis"&gt;http://www.postgresqlcertification.org/job_task_analysis&lt;/a&gt;). The survey&lt;br&gt;takes approximately 30 minutes to complete.&lt;p&gt; &lt;br&gt;We ask everyone to please take the time to complete the survey and to&lt;br&gt;refer an employer, manager, colleague, or anyone else that may rely on a&lt;br&gt;PostgreSQL database in some manner to take it as well. With the help of&lt;br&gt;the community we will be able to reach as wide an audience as possible. &lt;p&gt;&lt;br&gt;If you are interested in joining the PostgreSQL Certification Project,&lt;br&gt;please visit&lt;br&gt;&lt;a href="http://lists.postgresqlcertification.org/mailman/listinfo/cert/"&gt;http://lists.postgresqlcertification.org/mailman/listinfo/cert/&lt;/a&gt; and&lt;br&gt;subscribe to the mailing list after taking the survey.&lt;p&gt; &lt;p&gt; &lt;p&gt;&lt;p&gt;-- &lt;br&gt;The PostgreSQL Company since 1997: &lt;a href="http://www.commandprompt.com/"&gt;http://www.commandprompt.com/&lt;/a&gt; &lt;br&gt;PostgreSQL Community Conference: &lt;a href="http://www.postgresqlconference.org/"&gt;http://www.postgresqlconference.org/&lt;/a&gt;&lt;br&gt;United States PostgreSQL Association: &lt;a href="http://www.postgresql.us/"&gt;http://www.postgresql.us/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-3569489819818503992?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/3569489819818503992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=3569489819818503992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3569489819818503992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3569489819818503992'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/pgeu-general-fw-cert-announcing.html' title='[pgeu-general] Fw: [Cert] Announcing PostgreSQL Certification Project Job Task Analysis Survey'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1051178645194846100</id><published>2008-09-29T14:11:00.000-07:00</published><updated>2008-09-29T14:12:38.521-07:00</updated><title type='text'>Fwd: [pgsql-es-ayuda] Tipo de dato para almacenar moneda</title><content type='html'>---------- Forwarded message ----------&lt;br&gt;From: el-PRiNCiPiTo &amp;lt;&lt;a href="mailto:el-PRiNCiPiTo@terra.es"&gt;el-PRiNCiPiTo@terra.es&lt;/a&gt;&amp;gt;&lt;br&gt;Date: 2008/9/29&lt;br&gt;Subject: Re: [pgsql-es-ayuda] Tipo de dato para almacenar moneda&lt;br&gt;To:&lt;br&gt;Cc: &lt;a href="mailto:pgsql-es-ayuda@postgresql.org"&gt;pgsql-es-ayuda@postgresql.org&lt;/a&gt;&lt;p&gt;&lt;br&gt;Utilizo Npgsql.&lt;p&gt;postgres Emanuel CALVO FRANCO escribi&amp;#243;::&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Estas utilizando OBDC u OLEDB?&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; TIP 8: explain analyze es tu amigo&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;p&gt;--&lt;br&gt;TIP 8: explain analyze es tu amigo&lt;p&gt;Postgresql Type  	NpgsqlDbType  	System.DbType Enum  	.Net System Type&lt;br&gt;(..)&lt;br&gt;money 	Money 	Decimal 	Decimal&lt;p&gt;pgsql soporta al money como decimal, fijate si en la conversion con el&lt;br&gt;lenguaje no estas casteando a integer o a numeric (n,0).&lt;br&gt;esto es de la documentacion del 2.0, no se que version estas&lt;br&gt;utilizando de los conectores.&lt;br&gt;&lt;a href="http://npgsql.projects.postgresql.org/docs/manual/UserManual.html"&gt;http://npgsql.projects.postgresql.org/docs/manual/UserManual.html&lt;/a&gt;&lt;br&gt;--&lt;br&gt;TIP 9: visita nuestro canal de IRC #postgresql-es en &lt;a href="http://irc.freenode.net"&gt;irc.freenode.net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1051178645194846100?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1051178645194846100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1051178645194846100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1051178645194846100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1051178645194846100'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/fwd-pgsql-es-ayuda-tipo-de-dato-para.html' title='Fwd: [pgsql-es-ayuda] Tipo de dato para almacenar moneda'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-4867469843869345843</id><published>2008-09-29T14:06:00.000-07:00</published><updated>2008-09-29T14:07:30.367-07:00</updated><title type='text'>Re: [pgsql-es-ayuda] Sintaxis??: DROP TABLE IF EXISTS tablename</title><content type='html'>Fernando Flores Barraza escribi&amp;#243;:&lt;p&gt;&amp;gt; Lo cual me arroja el siguiente error:&lt;br&gt;&amp;gt; *ERROR:  syntax error at or near &amp;quot;EXISTS&amp;quot; at character 15&lt;br&gt;&amp;gt; LINE 1: DROP TABLE IF EXISTS /tablename/;*&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; La expresi&amp;#243;n *IF EXISTS* es solo para evitar un retorno de error, y en  &lt;br&gt;&amp;gt; el manual aparece como funcional. Alguien sabe que pasa ?&lt;p&gt;Estas leyendo un manual que no corresponde a tu version de Postgres.  IF&lt;br&gt;EXISTS s&amp;#243;lo funciona de 8.2 en adelante.&lt;p&gt;-- &lt;br&gt;Alvaro Herrera                &lt;a href="http://www.amazon.com/gp/registry/3BP7BYG9PUGI8"&gt;http://www.amazon.com/gp/registry/3BP7BYG9PUGI8&lt;/a&gt;&lt;br&gt;&amp;quot;Las mujeres son como hondas:  mientras m&amp;#225;s resistencia tienen,&lt;br&gt; m&amp;#225;s lejos puedes llegar con ellas&amp;quot;  (Jonas Nightingale, Leap of Faith)&lt;br&gt;--&lt;br&gt;TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podr&amp;#225; leerlo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-4867469843869345843?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/4867469843869345843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=4867469843869345843' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4867469843869345843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4867469843869345843'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-sintaxis-drop-table_29.html' title='Re: [pgsql-es-ayuda] Sintaxis??: DROP TABLE IF EXISTS tablename'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-6719266648309478128</id><published>2008-09-29T14:00:00.000-07:00</published><updated>2008-09-29T14:02:17.282-07:00</updated><title type='text'>RE: [pgsql-es-ayuda] Sintaxis??: DROP TABLE IF EXISTS tablename</title><content type='html'>-----Mensaje original-----&lt;br&gt;De: Fernando Flores Barraza [mailto:&lt;a href="mailto:fernafb@gmail.com"&gt;fernafb@gmail.com&lt;/a&gt;]&lt;br&gt;Enviado el: Lunes, 29 de Septiembre de 2008 03:44 p.m.&lt;br&gt;Para: &lt;a href="mailto:pgsql-es-ayuda@postgresql.org"&gt;pgsql-es-ayuda@postgresql.org&lt;/a&gt;.&lt;br&gt;Asunto: [pgsql-es-ayuda] Sintaxis??: DROP TABLE IF EXISTS tablename&lt;p&gt;&lt;br&gt;Hola, hace una semana que estoy suscrito a esta lista y es bastante &amp;#250;til &lt;br&gt;por su rapidez a las respuestas.&lt;p&gt;Vamos al punto. Tengo una consulta sobre esta sintaxis:&lt;br&gt;*DROP TABLE IF EXISTS /tablename/;*&lt;p&gt;Lo cual me arroja el siguiente error:&lt;br&gt;*ERROR:  syntax error at or near &amp;quot;EXISTS&amp;quot; at character 15&lt;br&gt;LINE 1: DROP TABLE IF EXISTS /tablename/;*&lt;p&gt;&lt;br&gt;La expresi&amp;#243;n *IF EXISTS* es solo para evitar un retorno de error, y en &lt;br&gt;el manual aparece como funcional. Alguien sabe que pasa ?&lt;p&gt;( Si esta pregunta ha salido antes disculpen la redundancia.. )&lt;p&gt;Gracias&lt;p&gt;Fernando Flores B.&lt;br&gt;Coquimbo/Santiago - Chile&lt;br&gt;--&lt;br&gt;TIP 4: No hagas &amp;#39;kill -9&amp;#39; a postmaster&lt;p&gt;ESTA ES LA SINTAXIS&lt;p&gt;DROP TABLE IF EXISTS table1 &lt;p&gt;&lt;br&gt;mIGUEL cANCHAS&lt;p&gt;--&lt;br&gt;TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podr&amp;#225; leerlo&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-6719266648309478128?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/6719266648309478128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=6719266648309478128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6719266648309478128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6719266648309478128'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-pgsql-es-ayuda-sintaxis-drop-table.html' title='RE: [pgsql-es-ayuda] Sintaxis??: DROP TABLE IF EXISTS tablename'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1696823278212730593</id><published>2008-09-29T13:43:00.000-07:00</published><updated>2008-09-29T13:55:27.607-07:00</updated><title type='text'>[pgsql-es-ayuda] Sintaxis??: DROP TABLE IF EXISTS tablename</title><content type='html'>Hola, hace una semana que estoy suscrito a esta lista y es bastante &amp;#250;til &lt;br&gt;por su rapidez a las respuestas.&lt;p&gt;Vamos al punto. Tengo una consulta sobre esta sintaxis:&lt;br&gt;*DROP TABLE IF EXISTS /tablename/;*&lt;p&gt;Lo cual me arroja el siguiente error:&lt;br&gt;*ERROR:  syntax error at or near &amp;quot;EXISTS&amp;quot; at character 15&lt;br&gt;LINE 1: DROP TABLE IF EXISTS /tablename/;*&lt;p&gt;&lt;br&gt;La expresi&amp;#243;n *IF EXISTS* es solo para evitar un retorno de error, y en &lt;br&gt;el manual aparece como funcional. Alguien sabe que pasa ?&lt;p&gt;( Si esta pregunta ha salido antes disculpen la redundancia.. )&lt;p&gt;Gracias&lt;p&gt;Fernando Flores B.&lt;br&gt;Coquimbo/Santiago - Chile&lt;br&gt;--&lt;br&gt;TIP 4: No hagas &amp;#39;kill -9&amp;#39; a postmaster&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1696823278212730593?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1696823278212730593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1696823278212730593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1696823278212730593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1696823278212730593'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/pgsql-es-ayuda-sintaxis-drop-table-if.html' title='[pgsql-es-ayuda] Sintaxis??: DROP TABLE IF EXISTS tablename'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-7727831210082417599</id><published>2008-09-29T13:25:00.000-07:00</published><updated>2008-09-29T13:31:44.329-07:00</updated><title type='text'>Re: [GENERAL] Counting unique rows as an aggregate.</title><content type='html'>On Mon, Sep 29, 2008 at 12:12 PM, r_musta &amp;lt;&lt;a href="mailto:zepolen@gmail.com"&gt;zepolen@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; However, this is starting to become too slow (as there are about 10 of&lt;br&gt;&amp;gt; these queries), and therefore I need to write an aggregate function&lt;br&gt;&amp;gt; which lets me do:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;SELECT count_unique(make), count_unique(color) from table WHERE &amp;gt;criteria&amp;lt;;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; After reading about aggregate functions, this should be possible, as&lt;br&gt;&amp;gt; long as I can use a dictionary/hashmap type for the state&amp;lt;STYPE&amp;gt;&lt;br&gt;&amp;gt; argument.&lt;p&gt;This might be a nice fit for materialized views.  While they&amp;#39;re not&lt;br&gt;built in, PostgreSQL&amp;#39;s extensibility allows you to build them prettily&lt;br&gt;easily.&lt;p&gt;&lt;a href="http://jonathangardner.net/tech/w/PostgreSQL/Materialized_Views"&gt;http://jonathangardner.net/tech/w/PostgreSQL/Materialized_Views&lt;/a&gt;&lt;p&gt;Jonathan Gardner&amp;#39;s web page on it is fantastic.&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-7727831210082417599?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/7727831210082417599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=7727831210082417599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7727831210082417599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7727831210082417599'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-counting-unique-rows-as.html' title='Re: [GENERAL] Counting unique rows as an aggregate.'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2927519350966721767</id><published>2008-09-29T13:18:00.000-07:00</published><updated>2008-09-29T13:20:19.093-07:00</updated><title type='text'>Re: [GENERAL] database question</title><content type='html'>On Mon, Sep 29, 2008 at 8:21 AM,  &amp;lt;&lt;a href="mailto:john.crawford@sirsidynix.com"&gt;john.crawford@sirsidynix.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; Hi all I have been experiencing some strange behaviour on my postgres&lt;br&gt;&amp;gt; DB.  I am VERY new to PG so bear with me as what I am going to ask is&lt;br&gt;&amp;gt; all probably very basic to you guys.&lt;br&gt;&amp;gt; First off over the last couple of weeks we have been seeing in the&lt;br&gt;&amp;gt; dir /var/lib/pgsql/data/base/16450 some large file creations, so for&lt;br&gt;&amp;gt; example&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; -rw------- 1 postgres postgres 1073741824 Sep 29 15:15 2683&lt;br&gt;&amp;gt; -rw------- 1 postgres root     1073741824 Sep 29 15:15 2613.77&lt;br&gt;&amp;gt; -rw------- 1 postgres root     1073741824 Sep 29 15:15 2613.83&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; What are these files and why have they suddenly started to be created&lt;br&gt;&amp;gt; and why so large?&lt;p&gt;PostgreSQL automatically splits table files into 1G chunks so it can&lt;br&gt;run on OSes with file size limits.  These are part of the table&lt;br&gt;identified by the oid 2613.  You can find it by looking in pg_class.&lt;br&gt;Run psql -E and do \d and you&amp;#39;ll see the queries that psql uses to&lt;br&gt;create its output, and you can muck about with them to see which are&lt;br&gt;which.&lt;p&gt;Also, the contrib module oid2name will tell you these things from the&lt;br&gt;shell / CLI.&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2927519350966721767?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2927519350966721767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2927519350966721767' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2927519350966721767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2927519350966721767'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-database-question.html' title='Re: [GENERAL] database question'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-6112934202506846197</id><published>2008-09-29T13:16:00.000-07:00</published><updated>2008-09-29T13:17:42.606-07:00</updated><title type='text'>Re: [JDBC] [GENERAL] need help of getting PK after insertRow in JDBC</title><content type='html'>&lt;code&gt;&lt;/code&gt;Good Afternoon&lt;br&gt;&lt;br&gt;add the CLOSE_CURSORS_AT_COMMIT Option to the Statements capabilities e.g.&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Statement st = db.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE.ResultSet.CLOSE_CURSORS_AT_COMMIT);&lt;br&gt;&lt;br&gt;//then tell the connection handle to commit the DML to the DB&lt;br&gt;db.commit();&lt;br&gt;&lt;br&gt;Martin &lt;br&gt;&lt;br&gt;&lt;span class="body"&gt;Control your own destiny or someone else will -- Jack Welch&lt;/span&gt;&lt;br&gt;______________________________________________ &lt;br&gt;Disclaimer and confidentiality note &lt;br&gt;Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;hr&gt;Subject: [GENERAL] need help of getting PK after insertRow in JDBC &lt;br&gt;Date: Fri, 26 Sep 2008 10:14:01 +0800&lt;br&gt;From: Dongdong.Chen@ge.com&lt;br&gt;To: pgsql-general@postgresql.org; pgsql-jdbc@postgresql.org&lt;br&gt;&lt;br&gt;  &lt;meta http-equiv="Content-Type" content="text/html; charset=unicode"&gt; &lt;meta name="Generator" content="Microsoft SafeHTML"&gt;    &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;Hi:&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I am a  software engineer from GE. I am using JDBC to operate PostgreSQL8.3 in  Ubuntu8.04. The develop environment is Eclipse3.2 My problem is:  &lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; There is a  PostgreSQL table XX containing 5 fields: AA, BB, CC, DD, EE, AA is primary key  and auto-generated type, BB, CC, DD and EE is string type.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I want to  get the value of&amp;nbsp;AA immediately after&amp;nbsp;insert a row into the table. the  code is like this:&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Statement st  = db.creatStatement(ResultSet.TYPE_SCROLL_SENSITIVE,  ResultSet.CONCUR_UPDATABLE);&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResultSet  rs=st.executeQuery("SELECT * FROM XX");&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  rs.moveToInsertRow();&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  rs.updateString(BB, "b");&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  rs.updateString(CC, "c");&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  rs.updateString(DD, "d");&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  rs.updateString(EE, "e");&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  rs.insertRow();&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  rs.moveToCurrentRow();&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int index =  rs.getInt("AA");&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;font size="4"&gt;System.out.println(index);&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;font size="4"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;in the last  sentence I always get 0 no matter how many records I insert. I tried other ways  of&amp;nbsp;moving the&amp;nbsp;cursor&amp;nbsp;including next(), last() and so on, and also  cannot get the correct value. I tried the drivers both  postgresql-8.3-603.jdbc3.jar and  postgresql-8.3-603.jdbc4.jar.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; But when I  use pdadminIII to check the table XX, the AA field is already auto-generated  with the correct value.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I found a  way to solve this: close resultset and statement after moveToCurrentRow() and  re-open them, and rs.last(), then run int index=rs.getInt("AA"), I can get the  correct value. I think this method is&amp;nbsp;sort of awkward, anyone knows a  better way and the correct operations? &lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;&lt;/font&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;I am not sure it is proper to  send this mail to this mail list. Sorry if bring you any  inconvenience.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="EC_768112401-26092008"&gt;&lt;font size="4"&gt;Thanks a  lot!&lt;/font&gt;&lt;/span&gt;&lt;/div&gt; &lt;div align="left"&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt; &lt;div align="left"&gt;&lt;font size="4" face="??"&gt;&lt;strong&gt;Best Regards&lt;/strong&gt;&lt;/font&gt;&lt;/div&gt; &lt;div align="left"&gt;&lt;font size="4" face="??"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt; &lt;div align="left"&gt;&lt;strong&gt;&lt;font face="??"&gt;&lt;font size="4"&gt;&lt;span class="EC_768112401-26092008"&gt;Kevin  Chen/&lt;/span&gt;ChenDongdong&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div align="left"&gt;&lt;strong&gt;&lt;font face="????"&gt;&lt;font size="4"&gt;&lt;span class="EC_768112401-26092008"&gt;+86&lt;/span&gt;13810644051&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div align="left"&gt;&lt;strong&gt;&lt;font size="4" face="????"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div align="left"&gt;&lt;strong&gt;&lt;font size="4" face="????"&gt;&lt;img alt="" src="cid:768112401@26092008-009B" align="baseline" border="0" hspace="0"&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div align="left"&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;br /&gt;&lt;hr /&gt;See how Windows connects the people, information, and fun that are part of your life. &lt;a href='http://clk.atdmt.com/MRT/go/msnnkwxp1020093175mrt/direct/01/' target='_new'&gt;See Now&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-6112934202506846197?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/6112934202506846197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=6112934202506846197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6112934202506846197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6112934202506846197'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-jdbc-general-need-help-of-getting-pk.html' title='Re: [JDBC] [GENERAL] need help of getting PK after insertRow in JDBC'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-7281227050721933104</id><published>2008-09-29T13:15:00.000-07:00</published><updated>2008-09-29T13:20:09.067-07:00</updated><title type='text'>Re: [GENERAL] Re: Is there a parameter to tell postgresql to not attempt to open an IPv6 socket?</title><content type='html'>On Mon, Sep 29, 2008 at 7:41 AM,  &amp;lt;&lt;a href="mailto:yann.dubost@gmail.com"&gt;yann.dubost@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt; On 16 sep, 23:04, &lt;a href="mailto:a...@commandprompt.com"&gt;a...@commandprompt.com&lt;/a&gt; (Andrew Sullivan) wrote:&lt;br&gt;&amp;gt;&amp;gt; On Tue, Sep 16, 2008 at 04:46:37PM -0400, Reid.Thompson wrote:&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; PostgreSQL appears to all intents to startup fine on the UNIX and IPv4&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; sockets.  Is there a parameter to tell postgresql tonotattempt to open&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; anIPv6socket?&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Specify the specific TCP/IP interfaces in the postmaster.conf file.&lt;br&gt;&amp;gt;&amp;gt; Otherwise, Postgres will try tobindto all the sockets.  There&amp;#39;s&lt;br&gt;&amp;gt;&amp;gt; something hinkey about theIPv6support in AIX, IIRC, so that you end&lt;br&gt;&amp;gt;&amp;gt; up with this symptom.&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Hello,&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; I have the same pb. I have looked for a postmaster.conf file but there&lt;br&gt;&amp;gt; is none on the server.&lt;br&gt;&amp;gt; Apart from the doc and src files, the only files on my server&lt;br&gt;&amp;gt; containing the word &amp;quot;postmaster&amp;quot; are :&lt;br&gt;&amp;gt; /usr/local/pgsql/bin/postmaster&lt;br&gt;&amp;gt; $PGDATA/postmaster.opts&lt;br&gt;&amp;gt; $PGDATA/postmaster.pid&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Do you have an idea why and how then to solve this pb ?&lt;p&gt;Look for postgresql.conf&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-7281227050721933104?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/7281227050721933104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=7281227050721933104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7281227050721933104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7281227050721933104'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-re-is-there-parameter-to.html' title='Re: [GENERAL] Re: Is there a parameter to tell postgresql to not attempt to open an IPv6 socket?'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-5485792056271000291</id><published>2008-09-29T12:54:00.000-07:00</published><updated>2008-09-29T12:56:04.438-07:00</updated><title type='text'>Re: [HACKERS] parallel pg_restore - WIP patch</title><content type='html'>Tom Lane wrote:&lt;br&gt;&amp;gt; Andrew Dunstan &amp;lt;&lt;a href="mailto:andrew@dunslane.net"&gt;andrew@dunslane.net&lt;/a&gt;&amp;gt; writes:&lt;br&gt;&amp;gt;&amp;gt; Tom Lane wrote:&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Um, FKs could conflict with each other too, so that by itself isn&amp;#39;t&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; gonna fix anything.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; Good point. Looks like we&amp;#39;ll need to make a list of &amp;quot;can&amp;#39;t run in &lt;br&gt;&amp;gt;&amp;gt; parallel with&amp;quot; items as well as strict dependencies.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Yeah, I was just thinking about that.  The current archive format&lt;br&gt;&amp;gt; doesn&amp;#39;t really carry enough information for this.  I think there&lt;br&gt;&amp;gt; are two basic solutions we could adopt:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; * Extend the archive format to provide some indication that &amp;quot;restoring&lt;br&gt;&amp;gt; this object requires exclusive access to these dependencies&amp;quot;.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; * Hardwire knowledge into pg_restore that certain types of objects&lt;br&gt;&amp;gt; require exclusive access to their dependencies.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; The former seems more flexible, as well as more in tune with the basic&lt;br&gt;&amp;gt; design assumption that pg_restore shouldn&amp;#39;t have a lot of knowledge&lt;br&gt;&amp;gt; about individual archive object types.  But it would mean that you&lt;br&gt;&amp;gt; couldn&amp;#39;t use parallel restore with any pre-8.4 dumps.  In the long run&lt;br&gt;&amp;gt; that&amp;#39;s no big deal, but in the short run it&amp;#39;s annoying.&lt;p&gt;hmm not sure how much of a problem that really is - we usually recommend &lt;br&gt;to use the pg_dump version of the target database anyway.&lt;p&gt;&lt;p&gt;&lt;br&gt;Stefan&lt;p&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-5485792056271000291?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/5485792056271000291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=5485792056271000291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5485792056271000291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5485792056271000291'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-hackers-parallel-pgrestore-wip-patch_29.html' title='Re: [HACKERS] parallel pg_restore - WIP patch'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-4978068072240059794</id><published>2008-09-29T12:42:00.000-07:00</published><updated>2008-09-29T12:46:31.330-07:00</updated><title type='text'>[HACKERS] pg_upgrade performance test</title><content type='html'>I run performance test on in-place patch prototype which I sent for review and I &lt;br&gt;got nice result:&lt;p&gt;Original:&lt;br&gt;---------&lt;br&gt;MQThL (Maximum Qualified Throughput LIGHT): 2202.12 tpm&lt;br&gt;MQThM (Maximum Qualified Throughput MEDIUM): 4706.60 tpm&lt;br&gt;MQThH (Maximum Qualified Throughput HEAVY): 3956.64 tpm&lt;p&gt;&lt;br&gt;TRANSACTION MIX&lt;p&gt;Total number of transactions = 330457&lt;br&gt;TYPE            TX. COUNT       MIX&lt;br&gt;----            ---------       ---&lt;br&gt;Light:          55053           16.66%&lt;br&gt;Medium:         117665          35.61%&lt;br&gt;DSS:            36825           11.14%&lt;br&gt;Heavy:          98916           29.93%&lt;br&gt;Connection:     21998           6.66%&lt;p&gt;&lt;br&gt;RESPONSE TIMES          AVG.            MAX.            90TH&lt;p&gt;Light                   0.093           1.080           0.400&lt;br&gt;Medium                  0.096           1.663           0.400&lt;br&gt;DSS                     0.092           0.990           0.020&lt;br&gt;Heavy                   0.095           1.262           2.000&lt;br&gt;Connections             0.092           1.030           0.400&lt;br&gt;Number of users = 60&lt;br&gt;Sum of Avg. RT * TPS for all Tx. Types = 17.154543&lt;p&gt;pg_upgrade:&lt;br&gt;-----------&lt;br&gt;MQThL (Maximum Qualified Throughput LIGHT): 2185.16 tpm&lt;br&gt;MQThM (Maximum Qualified Throughput MEDIUM): 4674.04 tpm&lt;br&gt;MQThH (Maximum Qualified Throughput HEAVY): 3915.28 tpm&lt;p&gt;&lt;br&gt;TRANSACTION MIX&lt;p&gt;Total number of transactions = 327811&lt;br&gt;TYPE            TX. COUNT       MIX&lt;br&gt;----            ---------       ---&lt;br&gt;Light:          54629           16.66%&lt;br&gt;Medium:         116851          35.65%&lt;br&gt;DSS:            36367           11.09%&lt;br&gt;Heavy:          97882           29.86%&lt;br&gt;Connection:     22082           6.74%&lt;p&gt;&lt;br&gt;RESPONSE TIMES          AVG.            MAX.            90TH&lt;p&gt;Light                   0.095           1.073           0.400&lt;br&gt;Medium                  0.098           1.167           0.400&lt;br&gt;DSS                     0.093           1.049           0.010&lt;br&gt;Heavy                   0.098           1.173           2.000&lt;br&gt;Connections             0.097           1.115           0.400&lt;br&gt;Number of users = 60&lt;br&gt;Sum of Avg. RT * TPS for all Tx. Types = 17.385362&lt;p&gt;--------------------------&lt;p&gt;It looks like it has only 1% performance gap. And good to mention that it is not &lt;br&gt;optimized version. It would be good if somebody will run different performance &lt;br&gt;test on it and verify my results.&lt;p&gt;I used iGen OLTP test with 60 concurrent users and run it for 30minutes.&lt;p&gt;&lt;br&gt;		Zdenek&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Zdenek Kotala              Sun Microsystems&lt;br&gt;Prague, Czech Republic     &lt;a href="http://sun.com/postgresql"&gt;http://sun.com/postgresql&lt;/a&gt;&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-hackers mailing list (&lt;a href="mailto:pgsql-hackers@postgresql.org"&gt;pgsql-hackers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-hackers"&gt;http://www.postgresql.org/mailpref/pgsql-hackers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-4978068072240059794?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/4978068072240059794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=4978068072240059794' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4978068072240059794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4978068072240059794'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/hackers-pgupgrade-performance-test.html' title='[HACKERS] pg_upgrade performance test'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2636657396513568255</id><published>2008-09-29T12:31:00.000-07:00</published><updated>2008-09-29T12:35:28.940-07:00</updated><title type='text'>[GENERAL] Can't cast from char to integer...</title><content type='html'>Hi all.&lt;p&gt;I&amp;#39;m trying to cut data from one table and put it in another table.  The &lt;br&gt;problem comes from the fact that the first table has a field that is a &lt;br&gt;char(x) and the destination table needs that data in an integer.&lt;p&gt;For example, I&amp;#39;m trying to do this:&lt;p&gt;insert into data &lt;br&gt;	select cast(&amp;#39;666&amp;#39; as integer) as block_number, phone as phone_number, name 	 	&lt;br&gt;from demo_q;&lt;p&gt;The data table has a field called block_number that is an integer.  I&amp;#39;m trying &lt;br&gt;to populate that field with the INTEGER, 666.  (I use 666 for testing since I &lt;br&gt;would never assign that number/id to an actuall customer.)&lt;p&gt;When I run this query, I get:&lt;p&gt;ERROR:  column &amp;quot;block_number&amp;quot; is of type integer but expression is of type &lt;br&gt;character varying&lt;p&gt;What am I doing wrong?&lt;p&gt;TIA,&lt;br&gt;-- &lt;br&gt;Mike Diehl&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2636657396513568255?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2636657396513568255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2636657396513568255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2636657396513568255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2636657396513568255'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/general-cant-cast-from-char-to-integer.html' title='[GENERAL] Can&apos;t cast from char to integer...'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-961628810316148952</id><published>2008-09-29T12:17:00.000-07:00</published><updated>2008-09-29T12:18:12.704-07:00</updated><title type='text'>Re: [lapug] Conference call re: LAPUG Meeting</title><content type='html'>On Mon, Sep 29, 2008 at 11:15 AM, Beth Kreitzer &amp;lt;&lt;a href="mailto:bkreitzer@greenplum.com"&gt;bkreitzer@greenplum.com&lt;/a&gt;&amp;gt; wrote:&lt;p&gt;&amp;gt; Are you still available this morning to speak with us about the upcoming&lt;br&gt;&amp;gt; LAPUG meeting?  I had this call scheduled for 11am this morning.&lt;br&gt;Sorry about that Beth.  I spoke with Rui and touched bases:&lt;p&gt;To review the points.  I would expect about 12 to 15 people to show&lt;br&gt;since there is a lot of interests in a presentation from green plum.&lt;p&gt;The meeting will be held at Cal Tech mid November.  ( I will follow up&lt;br&gt;with more details at a later date ).  Would it be possible to hold the&lt;br&gt;meeting on a Wednesday Evening rather than a Friday since many&lt;br&gt;LAPUGers are not available on Friday evenings? (LAPUGers:  Is&lt;br&gt;Wednesday okay?  Please let me know so that we can finalize a date.)&lt;p&gt;This is the email thread listing the points desired for discussion.&lt;br&gt;&lt;a href="http://archives.postgresql.org/lapug/2008-07/msg00010.php"&gt;http://archives.postgresql.org/lapug/2008-07/msg00010.php&lt;/a&gt;&lt;p&gt;&lt;br&gt;Also, I&amp;#39;ve cc&amp;#39;d the LAPUG users group so that they would weigh in on&lt;br&gt;any further points that they would like to have brought out.&lt;p&gt;-- &lt;br&gt;Regards,&lt;br&gt;Richard Broersma Jr.&lt;p&gt;Visit the Los Angeles PostgreSQL Users Group (LAPUG)&lt;br&gt;&lt;a href="http://pugs.postgresql.org/lapug"&gt;http://pugs.postgresql.org/lapug&lt;/a&gt;&lt;p&gt;-- &lt;br&gt;Sent via lapug mailing list (&lt;a href="mailto:lapug@postgresql.org"&gt;lapug@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/lapug"&gt;http://www.postgresql.org/mailpref/lapug&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-961628810316148952?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/961628810316148952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=961628810316148952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/961628810316148952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/961628810316148952'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-lapug-conference-call-re-lapug.html' title='Re: [lapug] Conference call re: LAPUG Meeting'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-3030360392895414347</id><published>2008-09-29T12:15:00.001-07:00</published><updated>2008-09-29T12:15:57.284-07:00</updated><title type='text'>[pdxpug] [JOB] Fwd: PostgreSQL DBA job - contract to hire</title><content type='html'>&lt;div dir="ltr"&gt;This just in. Contact me if you&amp;#39;re interested.&amp;nbsp; Via a recruiter, and I don&amp;#39;t know which company this actually is. &lt;br&gt;&lt;br&gt;&lt;div class="gmail_quote"&gt;---------- Forwarded message ----------&lt;br&gt;Date: Tue, Sep 23, 2008 at 3:27 PM&lt;br&gt; Subject: PostgreSQL DBA job - contract to hire&lt;br&gt;To: &lt;a href="mailto:selenamarie@gmail.com"&gt;selenamarie@gmail.com&lt;/a&gt;&lt;br&gt;&lt;div link="blue" vlink="purple" lang="EN-US"&gt;&lt;div&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;&amp;nbsp;Here is a copy of the job description:&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 12pt;"&gt;&lt;b&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Job Description: &lt;/span&gt;&lt;/b&gt;&lt;span style="font-size: 12pt; color: black;"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Title: PostgreSQL DBA &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Duration: 6 Months - FTE &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Location: Lake Oswego, OR &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Minimum 5 years of progressive experience performing PostgreSQL administration production environment; experience should include three or more years of database administration in an enterprise level environment with very large (&amp;gt; 1 terabyte) databases &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Responsibilities: &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Collaborate with others to determine and deploy database solutions to business prioritized requirements, including business continuance and information security along with functional requirements &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Install, configure, and test new PostgreSQL databases, perform version upgrades of existing databases &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Install, upgrade and maintain all PostgreSQL-related server and administration software &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Perform DB profiling and optimization; analyze and propose schema changes to PostgreSQL databases as needed &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Proactively monitor activity, utilization, exceptions and database health; propose and deploy appropriate improvements; automate repetitive tasks &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Collaborate with team members to create, publish and maintain database deployment methods and procedures for PostgreSQL databases &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Collaborate with the Infrastructure Architect to create and maintain database technology roadmaps and deployment plans &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Perform database backup and recovery duties; establish standards and schedules for database backups; develop and routinely test recovery procedures for each database; ensure that backup &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;schedules meet the recovery requirements and conforms to all database and data quality policies and standards &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Work closely with project teams to ensure project success; coordinate product releases, data structure evolution, and manage and synchronize data promotions between development, test and production environments &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Act as the final point of escalation and resolution for data related issues &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Provide advanced technical support for database developers &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Provide 24x7 database support as part of a rotation of DBAs &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Design, implement and maintain archival and high availability strategies &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Skills and abilities &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Exceptional knowledge of the PostgreSQL database platform &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Mastery of physical database design &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Expertise in configuring, implementing and supporting high availability strategies with database systems including clustering, and replication &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Mastery of ANSI SQL and/or PL-SQL &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Experience in software development using Perl, Shell, or other scripting languages &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Solution focused and methodical, careful attention to detail &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Solid background using UNIX operating systems – Ubuntu Linux administration a plus &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Experience with SQL Server and/or Oracle database platforms is desirable &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Ability to perform capacity planning which supports the forecasting and purchasing processes &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Ability to implement Database security safeguards and audit them &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Consistently learning about trends and features in DB solutions, able to bring best practices to bear at solving DB and overall application problems &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Ability to work in a high availability production environment where unplanned downtime is not acceptable &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size: 12pt; color: black;"&gt;Ability to communicate ideas and designs to all stakeholders, including non-technical audiences &lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;-- &lt;br&gt;Selena Deckelmann&lt;br&gt;PDXPUG - &lt;a href="http://pugs.postgresql.org/pdx"&gt;http://pugs.postgresql.org/pdx&lt;/a&gt;&lt;br&gt;Me - &lt;a href="http://www.chesnok.com/daily"&gt;http://www.chesnok.com/daily&lt;/a&gt;&lt;br&gt;  &lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-3030360392895414347?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/3030360392895414347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=3030360392895414347' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3030360392895414347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3030360392895414347'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/pdxpug-job-fwd-postgresql-dba-job.html' title='[pdxpug] [JOB] Fwd: PostgreSQL DBA job - contract to hire'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-8656894099221110666</id><published>2008-09-29T11:59:00.000-07:00</published><updated>2008-09-29T12:00:22.940-07:00</updated><title type='text'>Re: [ADMIN] PID file</title><content type='html'>On Mon, Sep 29, 2008 at 12:43:54PM -0500, Ing. Jorge S Alan&amp;#237;s Garza wrote:&lt;br&gt;&amp;gt; shutting down cleanly. Is there a way to recover the non-working postgres&lt;br&gt;&amp;gt; instance? Is this a very corruption-prone environment?&lt;p&gt;It&amp;#39;s sure corruption-prone if you delete the pidfile.  &lt;p&gt;If your iSCSI system keeps dropping out on you, then you need to fix&lt;br&gt;that.  Otherwise, things are going to break in a way you&amp;#39;ll be unhappy&lt;br&gt;with later.&lt;p&gt;A&lt;p&gt;-- &lt;br&gt;Andrew Sullivan&lt;br&gt;&lt;a href="mailto:ajs@commandprompt.com"&gt;ajs@commandprompt.com&lt;/a&gt;&lt;br&gt;+1 503 667 4564 x104&lt;br&gt;&lt;a href="http://www.commandprompt.com/"&gt;http://www.commandprompt.com/&lt;/a&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-admin mailing list (&lt;a href="mailto:pgsql-admin@postgresql.org"&gt;pgsql-admin@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-admin"&gt;http://www.postgresql.org/mailpref/pgsql-admin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-8656894099221110666?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/8656894099221110666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=8656894099221110666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8656894099221110666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/8656894099221110666'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-admin-pid-file.html' title='Re: [ADMIN] PID file'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-7273113724750723475</id><published>2008-09-29T11:52:00.000-07:00</published><updated>2008-09-29T11:54:48.689-07:00</updated><title type='text'>Re: [GENERAL] inserting to a multi-table view</title><content type='html'>On Sun, Sep 28, 2008 at 9:57 PM, Seb &amp;lt;&lt;a href="mailto:spluque@gmail.com"&gt;spluque@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;p&gt;&amp;gt;&amp;gt; Well, I was able to get PostgreSQL Update-able views to work nearly as&lt;br&gt;&amp;gt;&amp;gt; well as the update-able queries did in Access.&lt;br&gt;&amp;gt; Would you mind sharing a sample schema?&lt;p&gt;I&amp;#39;ll see what I can do.  I did post some sample schema a while back&lt;br&gt;but I can&amp;#39;t seem of find them in the archive.  I do have some&lt;br&gt;production tables and views, but there is too much non related&lt;br&gt;attributes to make a useful example.&lt;p&gt;&amp;gt;&amp;gt; As a side note, you&amp;#39;ll notice that MS-Access will not allow&lt;br&gt;&amp;gt;&amp;gt; update-able queries based on ODBC linked table like it does on its&lt;br&gt;&amp;gt;&amp;gt; native tables for this reason.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; That&amp;#39;s right, I did find that out once but didn&amp;#39;t know whether it was&lt;br&gt;&amp;gt; due to ODBC limitations or something else.&lt;p&gt;MS-Access Implements Optimistic locking with all ODBC data sources.&lt;br&gt;The basic differences with an ODBC data source is that MS-Access&amp;#39;s Jet&lt;br&gt;Engine can&amp;#39;t put a file lock on it like it can with other file type db&lt;br&gt;like access, excel, flat files &lt;a href="http://et.al"&gt;et.al&lt;/a&gt;.&lt;p&gt;Optimistic locking means that every time Access issues an update to&lt;br&gt;the ODBC server, it includes the all old values of a record (that&lt;br&gt;ms-access is aware of) in the update statement&amp;#39;s where clause.  So if&lt;br&gt;your MS-Access client was only aware of a stale version of the record,&lt;br&gt;its update count will be zero, thereby access with throw an exception&lt;br&gt;saying that the update could not be completed as the underlying table&lt;br&gt;was changed by another user.&lt;p&gt;&lt;br&gt;&amp;gt;&amp;gt; Natural Primary key/Foreign key CASCADE UPDATEs don&amp;#39;t work well with&lt;br&gt;&amp;gt;&amp;gt; update-able views.  Choose one or the other.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Not sure what you mean; can you please tell more about what doesn&amp;#39;t work&lt;br&gt;&amp;gt; well with update-able views what the choice is?&lt;p&gt;This one is kind of hard to explain.  Basically it deals with the&lt;br&gt;order of operation between Referential Integrity updates versus client&lt;br&gt;side or update-able view updates.&lt;p&gt;Lets say your client app or update-able view wants to update a single&lt;br&gt;row in a view.  However, in addition to changing the fields from each&lt;br&gt;table, you also want to update the natural primary key.  This sounds&lt;br&gt;simple but its not.&lt;p&gt;1) The record changes made on the client application are not instantly&lt;br&gt;committed and refreshed for each field change that the user makes.&lt;br&gt;Basically, the whole row is updated with an update statement once when&lt;br&gt;the user commits the change.&lt;p&gt;2) The view redirects the update statement to its underlying rules&lt;br&gt;(usually on rule for each joined table update).  First of all the&lt;br&gt;primary table fields are changed (lets call it tableA) with the rule&lt;br&gt;update including its natural primary key.  Lets say the primary key&lt;br&gt;was changed from &amp;#39;OLDVALUE&amp;#39; to &amp;#39;NEWVALUE&amp;#39; on tableA.&lt;p&gt;3) Now tableB that has a foreign key referencing tableA with its&lt;br&gt;foreign key set to ON UPDATE CASCADE.  Declarative Referential&lt;br&gt;Integrity (DRI) such as ON UPDATE CASCADE have a much higher priority&lt;br&gt;over the PostgreSQL Rule system.  So before the rule system can&lt;br&gt;perform updates on tableB, tableB has it foreign key changed from&lt;br&gt;&amp;#39;OLDVALUE&amp;#39; to &amp;#39;NEWVALUE&amp;#39;.&lt;p&gt;4) Here is where the problem occurs.  When the next update-able view&lt;br&gt;rule is executed to update tableB its where clause still thinks that&lt;br&gt;tableB foreign key is &amp;#39;OLDVALUE&amp;#39;.  And because &amp;#39;OLDVALUE&amp;#39; is in the&lt;br&gt;where clause of the rule&amp;#39;s update statement instead of &amp;#39;NEWVALUE&amp;#39;, no&lt;br&gt;record is found to match and so the remaining field updates fail.&lt;p&gt;So the end result is that all of tableA updates are successful,&lt;br&gt;TableB&amp;#39;s foreign key is updated by DRI but the rest of the field&lt;br&gt;updates are not.  So you are left with an inconsistent update from the&lt;br&gt;perspective of the view.  By the way, this really confuses MS-Access.&lt;br&gt;It doesn&amp;#39;t know what to do when this happens.&lt;p&gt;That&amp;#39;s why I says that &amp;quot;Natural Primary key/Foreign key CASCADE&lt;br&gt;UPDATEs don&amp;#39;t work well with update-able views.&amp;quot;&lt;p&gt;&lt;br&gt;Also, if you have concurrent users on the same updateable view, update&lt;br&gt;anomolies like this can still occur just from problems with user&lt;br&gt;concurrent updates.  Thats the reason I decided to abandon join tabled&lt;br&gt;updateable views.&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Regards,&lt;br&gt;Richard Broersma Jr.&lt;p&gt;Visit the Los Angeles PostgreSQL Users Group (LAPUG)&lt;br&gt;&lt;a href="http://pugs.postgresql.org/lapug"&gt;http://pugs.postgresql.org/lapug&lt;/a&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-7273113724750723475?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/7273113724750723475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=7273113724750723475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7273113724750723475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/7273113724750723475'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-inserting-to-multi-table_29.html' title='Re: [GENERAL] inserting to a multi-table view'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-401847444932674454</id><published>2008-09-29T11:19:00.001-07:00</published><updated>2008-09-29T11:37:34.544-07:00</updated><title type='text'>[pgsql-advocacy] Announcing PostgreSQL Certification Project Job Task Analysis Survey</title><content type='html'>&lt;div class=Section1&gt;  &lt;p class=MsoPlainText&gt;Hello!&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;The PostgreSQL Community is working to create a community driven and endorsed PostgreSQL Certification. This effort is spearheaded by the PostgreSQL Certification Project (&lt;a href="http://www.postgresqlcertification.org"&gt;http://www.postgresqlcertification.org&lt;/a&gt;). The primary focus of the project is the development and support of a series of tiered certifications that provide a standardized method of identifying the knowledge and skills of database professionals working with PostgreSQL.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;At this time, the PostgreSQL Certification Project is pleased to announce the availability of a Job Task Analysis survey that will help shape the content and form the initial certifications will take. This survey is publicly available and all are encouraged to participate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;To take the survey, please register at:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText style='text-indent:.5in'&gt;&lt;a href="http://www.postgresqlcertification.org/jta"&gt;http://www.postgresqlcertification.org/jta&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;The registration process takes just a couple of minutes. Once registration is complete and you are logged in, click JTA in the menu followed by &amp;#8220;participate in the survey&amp;#8221; (&lt;a href="http://www.postgresqlcertification.org/job_task_analysis"&gt;http://www.postgresqlcertification.org/job_task_analysis&lt;/a&gt;). The survey takes approximately 30 minutes to complete.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;We ask everyone to please take the time to complete the survey and to refer an employer, manager, colleague, or anyone else that may rely on a PostgreSQL database in some manner to take it as well. With the help of the community we will be able to reach as wide an audience as possible. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoPlainText&gt;If you are interested in joining the PostgreSQL Certification Project, please visit &lt;a href="http://lists.postgresqlcertification.org/mailman/listinfo/cert/"&gt;http://lists.postgresqlcertification.org/mailman/listinfo/cert/&lt;/a&gt; and subscribe to the mailing list after taking the survey.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-401847444932674454?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/401847444932674454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=401847444932674454' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/401847444932674454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/401847444932674454'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/pgsql-advocacy-announcing-postgresql.html' title='[pgsql-advocacy] Announcing PostgreSQL Certification Project Job Task Analysis Survey'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1004432968761539867</id><published>2008-09-29T11:19:00.000-07:00</published><updated>2008-09-29T11:21:01.099-07:00</updated><title type='text'>[GENERAL] Multiple querys</title><content type='html'>&lt;div dir="ltr"&gt;Hi everyone,&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; I have multiple query´s, and i´m trying to optimize my queries by creating a temporary table x(contains the field id_product).&lt;br&gt;&lt;br&gt;The queries that utilize the temp table x, must use the order of the rows at x.&lt;br&gt; My problem: I have a query that do a limit and offset on table x. I would like to this query obey the order of x. &lt;br&gt;&lt;br&gt;I thought these solution: create a field order_id_product, to use order by order_id_product on other queries.&lt;br&gt; &lt;br&gt;Can anyone help me?&lt;br&gt;&lt;br&gt;Thanks a lot.&lt;br&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1004432968761539867?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1004432968761539867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1004432968761539867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1004432968761539867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1004432968761539867'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/general-multiple-querys.html' title='[GENERAL] Multiple querys'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-9044287957137926958</id><published>2008-09-29T11:18:00.000-07:00</published><updated>2008-09-29T11:20:21.492-07:00</updated><title type='text'>Re: [PERFORM] Identical DB's, different execution plans</title><content type='html'>&lt;div style="font-family:times new roman, new york, times, serif;font-size:12pt"&gt;&lt;div&gt;Setting enable_nestloop = off did result in a hash join, so I also set enable_hashjoin = off.&lt;br&gt;&lt;br&gt;The new plan from the slower db:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QUERY  PLAN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;-----------------------------------------------------------------------------------------------------------------------------------------------&lt;br&gt;&amp;nbsp;Merge Join&amp;nbsp; (cost=20195.54..46442.99 rows=7876 width=47) (actual time=136.531..478.708 rows=8437 loops=1)&lt;br&gt;&amp;nbsp;&amp;nbsp; Merge Cond: ((t1.bn)::text = "inner"."?column3?")&lt;br&gt;&amp;nbsp;&amp;nbsp; -&amp;gt;&amp;nbsp; Index Scan using t1_uc2 on t1&amp;nbsp; (cost=0.00..25604.74 rows=204906 width=32) (actual time=0.061..327.285 rows=8438 loops=1)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Filter:  active&lt;br&gt;&amp;nbsp;&amp;nbsp; -&amp;gt;&amp;nbsp; Sort&amp;nbsp; (cost=20195.54..20222.79 rows=10898 width=22) (actual time=136.461..138.621 rows=12204 loops=1)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sort Key: (t2.sn)::text&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt;&amp;nbsp; Bitmap Heap Scan on t2&amp;nbsp; (cost=145.12..19464.74 rows=10898 width=22) (actual time=7.580..120.144 rows=12204 loops=1)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Recheck Cond: (eff_dt = ('now'::text)::date)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt;&amp;nbsp; Bitmap Index Scan on t2_nu1&amp;nbsp; (cost=0.00..142.40 rows=10898 width=0) (actual time=4.964..4.964 rows=24483 loops=1)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Index Cond: (eff_dt = ('now'::text)::date)&lt;br&gt;&amp;nbsp;Total runtime: 480.344 ms&lt;br&gt;(11  rows)&lt;br&gt;&lt;br&gt;And the faster one:&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; QUERY PLAN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;br&gt;------------------------------------------------------------------------------------------------------------------------------------------------------------&lt;br&gt;&amp;nbsp;Merge Join&amp;nbsp; (cost=21371.63..21720.78 rows=7270 width=47) (actual time=60.435..80.604 rows=8437 loops=1)&lt;br&gt;&amp;nbsp;&amp;nbsp; Merge Cond: ("outer"."?column6?" = "inner"."?column3?")&lt;br&gt;&amp;nbsp;&amp;nbsp; -&amp;gt;&amp;nbsp; Sort&amp;nbsp; (cost=8988.56..9100.55 rows=44794 width=32) (actual time=30.498..33.093 rows=8438 loops=1)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sort Key: (t1.bn)::text&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt;&amp;nbsp; Seq Scan on t1&amp;nbsp; (cost=0.00..5528.00 rows=44794 width=32) (actual time=0.010..17.950 rows=8439 loops=1)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Filter: active&lt;br&gt;&amp;nbsp;&amp;nbsp; -&amp;gt;&amp;nbsp; Sort&amp;nbsp; (cost=12383.07..12409.32 rows=10500 width=22) (actual time=29.928..33.658 rows=12204  loops=1)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sort Key: (t2.sn)::text&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -&amp;gt;&amp;nbsp; Index Scan using t2_nu1 on t2&amp;nbsp; (cost=0.00..11681.77 rows=10500 width=22) (actual time=0.062..13.356 rows=12204 loops=1)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Index Cond: (eff_dt = ('now'::text)::date)&lt;br&gt;&amp;nbsp;Total runtime: 83.054 ms&lt;br&gt;(11 rows)&lt;br&gt;&lt;br&gt;And the query again:&lt;br&gt;&lt;br&gt;explain analyze &lt;br&gt;select&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.bn,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t2.mu,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.nm,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.root,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.suffix,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1.type&lt;br&gt;from&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t1,&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; t2&lt;br&gt;where&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; t2.eff_dt = current_date&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and t1.active = true&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; and t1.bn = t2.sn;&lt;br&gt;&lt;br&gt;Thanks.&lt;br&gt;&lt;/div&gt;&lt;div style="font-family: times new  roman,new york,times,serif; font-size: 12pt;"&gt;&lt;br&gt;&lt;div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"&gt;----- Original Message ----&lt;br&gt;From: Tom Lane &amp;lt;tgl@sss.pgh.pa.us&amp;gt;&lt;br&gt;To: Doug Eck &amp;lt;deck1@yahoo.com&amp;gt;&lt;br&gt;Cc: pgsql-performance@postgresql.org&lt;br&gt;Sent: Monday, September 29, 2008 11:42:01 AM&lt;br&gt;Subject: Re: [PERFORM] Identical DB's, different execution plans &lt;br&gt;&lt;br&gt; Doug Eck &amp;lt;&lt;a ymailto="mailto:deck1@yahoo.com" href="mailto:deck1@yahoo.com"&gt;deck1@yahoo.com&lt;/a&gt;&amp;gt; writes:&lt;br&gt;&amp;gt; Any ideas as to what could the first db to opt for the slower subquery rather than the merge?&lt;br&gt;&lt;br&gt;Not from the information given.&amp;nbsp; Presumably db1 thinks that the&lt;br&gt;mergejoin plan would be slower, but why it thinks that isn't clear yet.&lt;br&gt;Try setting enable_nestloop = off (and enable_hashjoin = off if it then&lt;br&gt;wants a hashjoin) and then post the EXPLAIN ANALYZE results.&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; regards, tom lane&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;        &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-9044287957137926958?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/9044287957137926958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=9044287957137926958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/9044287957137926958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/9044287957137926958'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-perform-identical-dbs-different.html' title='Re: [PERFORM] Identical DB&apos;s, different execution plans'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1048506727273603283</id><published>2008-09-29T11:12:00.000-07:00</published><updated>2008-09-29T12:50:00.169-07:00</updated><title type='text'>[GENERAL] Counting unique rows as an aggregate.</title><content type='html'>My current solution is to issue a bunch of queries:&lt;p&gt;&amp;gt; SELECT make, count(*) FROM table WHERE &amp;gt;criteria&amp;lt; GROUP BY make ORDER BY count(*) DESC LIMIT 3;&lt;br&gt;make     count&lt;br&gt;----------+---------&lt;br&gt; audi   | 50&lt;br&gt; bmw  | 40&lt;br&gt; vw     | 30&lt;p&gt;SELECT color, count(*) FROM table WHERE &amp;gt;criteria&amp;lt; GROUP BY color&lt;br&gt;ORDER BY count(*) DESC LIMIT 3;&lt;p&gt;color       count&lt;br&gt;-----------+------&lt;br&gt; red      | 400&lt;br&gt; blue    | 200&lt;br&gt; green  | 100&lt;p&gt;Which will give me the top 3 counts of each column im interested in&lt;br&gt;for the &amp;gt;criteria&amp;lt; specified.&lt;p&gt;However, this is starting to become too slow (as there are about 10 of&lt;br&gt;these queries), and therefore I need to write an aggregate function&lt;br&gt;which lets me do:&lt;p&gt;&amp;gt;SELECT count_unique(make), count_unique(color) from table WHERE &amp;gt;criteria&amp;lt;;&lt;p&gt;After reading about aggregate functions, this should be possible, as&lt;br&gt;long as I can use a dictionary/hashmap type for the state&amp;lt;STYPE&amp;gt;&lt;br&gt;argument.&lt;p&gt;Is there such a type in postgresql that can be used in an aggregate&lt;br&gt;function, and if there isn&amp;#39;t, how would it be possible to make one?&lt;p&gt;Also, do you think I&amp;#39;m going about this the wrong way, and there is a&lt;br&gt;much better solution that&amp;#39;s I&amp;#39;ve neglected?&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1048506727273603283?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1048506727273603283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1048506727273603283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1048506727273603283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1048506727273603283'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/general-counting-unique-rows-as.html' title='[GENERAL] Counting unique rows as an aggregate.'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-3722648369326539069</id><published>2008-09-29T10:56:00.000-07:00</published><updated>2008-09-29T10:57:05.928-07:00</updated><title type='text'>Re: [torontopug] Ontario Linux Fest</title><content type='html'>I think that&amp;#39;s a great idea, Steve, thanks for asking them to add us.&lt;p&gt;I should be able to make the conference, are there any others out&lt;br&gt;there that might want to make it?&lt;p&gt;~Ian Bailey&lt;p&gt;On Fri, Sep 26, 2008 at 7:52 PM, Steve Singer &amp;lt;&lt;a href="mailto:ssinger_pg@sympatico.ca"&gt;ssinger_pg@sympatico.ca&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; This year&amp;#39;s Ontario Linux fest will be held on Saturday, 25 October 2008 at&lt;br&gt;&amp;gt; Days Hotel and Conference Centre - Toronto Airport East.  The Ontario Linux&lt;br&gt;&amp;gt; Fest is a regional conference on Linux and other open source projects.  You&lt;br&gt;&amp;gt; can find more at &lt;a href="http://www.onlinux.ca/"&gt;http://www.onlinux.ca/&lt;/a&gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; They have room in the schedule to host a birds of feather session for&lt;br&gt;&amp;gt; PostgreSQL users (I don&amp;#39;t have the exact time yet).&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Unless there is an objection I&amp;#39;m going to ask them to list the BoF as being&lt;br&gt;&amp;gt; hosted by the TorontoPUG (This was sort of discussed at the august meeting).&lt;br&gt;&amp;gt; I am also going to hope that a few others make it to the conference.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Steve&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; Sent via torontopug mailing list (&lt;a href="mailto:torontopug@postgresql.org"&gt;torontopug@postgresql.org&lt;/a&gt;)&lt;br&gt;&amp;gt; To make changes to your subscription:&lt;br&gt;&amp;gt; &lt;a href="http://www.postgresql.org/mailpref/torontopug"&gt;http://www.postgresql.org/mailpref/torontopug&lt;/a&gt;&lt;br&gt;&amp;gt;&lt;p&gt;-- &lt;br&gt;Sent via torontopug mailing list (&lt;a href="mailto:torontopug@postgresql.org"&gt;torontopug@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/torontopug"&gt;http://www.postgresql.org/mailpref/torontopug&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-3722648369326539069?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/3722648369326539069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=3722648369326539069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3722648369326539069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3722648369326539069'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-torontopug-ontario-linux-fest.html' title='Re: [torontopug] Ontario Linux Fest'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-605613744175025802</id><published>2008-09-29T10:45:00.000-07:00</published><updated>2008-09-29T10:53:21.450-07:00</updated><title type='text'>Re: [NOVICE] plpgsql functions vs. embedded queries</title><content type='html'>I did neither but will try both, thank you.&lt;p&gt;The functions took on average more than 10 times as long.&lt;p&gt;&lt;br&gt;-----Original Message-----&lt;br&gt;From: John DeSoi [mailto:&lt;a href="mailto:desoi@pgedit.com"&gt;desoi@pgedit.com&lt;/a&gt;] &lt;br&gt;Sent: Monday, September 29, 2008 1:16 PM&lt;br&gt;To: Wright, George&lt;br&gt;Cc: &lt;a href="mailto:pgsql-novice@postgresql.org"&gt;pgsql-novice@postgresql.org&lt;/a&gt;&lt;br&gt;Subject: Re: [NOVICE] plpgsql functions vs. embedded queries&lt;p&gt;&lt;br&gt;On Sep 29, 2008, at 9:50 AM, Wright, George wrote:&lt;p&gt;&amp;gt; Are funtions in plpgsql always slower than embedding sql queries in  &lt;br&gt;&amp;gt; string form in code like PHP?&lt;br&gt;&amp;gt; I ran several tests and they seemed to always perform that way. I  &lt;br&gt;&amp;gt; would have thought the pre-planning would have made them faster.&lt;br&gt;&amp;gt; Would re-writing the functions C make them faster than the embedded  &lt;br&gt;&amp;gt; queries?&lt;p&gt;I&amp;#39;d say no, they should not always be slower. Did you try preparing  &lt;br&gt;your PHP call to the function? Did you mark your function as STABLE if  &lt;br&gt;you are not modifying the database?&lt;p&gt;&lt;br&gt;John DeSoi, Ph.D.&lt;p&gt;&lt;p&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-novice mailing list (&lt;a href="mailto:pgsql-novice@postgresql.org"&gt;pgsql-novice@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-novice"&gt;http://www.postgresql.org/mailpref/pgsql-novice&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-605613744175025802?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/605613744175025802/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=605613744175025802' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/605613744175025802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/605613744175025802'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-novice-plpgsql-functions-vs-embedded.html' title='Re: [NOVICE] plpgsql functions vs. embedded queries'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-6977522196665912420</id><published>2008-09-29T10:43:00.000-07:00</published><updated>2008-09-29T10:53:48.303-07:00</updated><title type='text'>[ADMIN] PID file</title><content type='html'>&lt;div class=Section1&gt;  &lt;p class=MsoNormal&gt;Hello,&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;We are operating Postgresql 8.2 on an ISCSI environment. Sometimes there are issues with the ISCSI so Postgresql refuses to shutdown properly, or start, because of the pid file. My question is, what is the correct thing to do with this pid file? On some test-environments I have deleted the pid and then when starting up, I see postgres complain about the database not shutting down cleanly. Is there a way to recover the non-working postgres instance? Is this a very corruption-prone environment?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;Thanks,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span lang=EN-US&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;b&gt;&lt;span style='font-size:10.0pt;font-family:"Arial","sans-serif"; color:#1F497D'&gt;Jorge Santiago Alanís Garza&lt;/span&gt;&lt;/b&gt;&lt;span style='font-size: 12.0pt;font-family:"Arial","sans-serif";color:#1F497D'&gt; &lt;br&gt; &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Arial","sans-serif"; color:#1F497D'&gt;Innovación y Desarrollo &lt;br&gt; &lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:"Times New Roman","serif"'&gt;&lt;a href="mailto:jorge.alanis@blocknetworks.com.mx"&gt;&lt;span style='font-size:10.0pt; font-family:"Arial","sans-serif";color:blue'&gt;jorge.alanis@blocknetworks.com.mx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Arial","sans-serif"'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span style='font-size:10.0pt;font-family:"Arial","sans-serif"; color:#1F497D'&gt;Tel: (81) 4444.4044 &lt;br&gt; Cel: (811) 243-6570&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;span style='font-size:12.0pt;font-family:"Times New Roman","serif"; color:#1F497D'&gt;&lt;br&gt; &lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:"Times New Roman","serif"'&gt;&lt;a href="http://www.blocknetworks.com.mx/"&gt;&lt;span style='font-size:10.0pt; font-family:"Arial","sans-serif";color:purple'&gt;www.blocknetworks.com.mx&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Arial","sans-serif";color:#1F497D'&gt; &lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:"Times New Roman","serif";color:#1F497D'&gt;&lt;br&gt; &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Arial","sans-serif"; color:#1F497D'&gt;Av. Lázaro Cárdenas 4000, L-17&lt;/span&gt;&lt;span style='font-size: 12.0pt;font-family:"Times New Roman","serif";color:#1F497D'&gt; &lt;br&gt; &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Arial","sans-serif"; color:#1F497D'&gt;Col. Valle de las Brisas&lt;/span&gt;&lt;span style='font-size:12.0pt; font-family:"Times New Roman","serif";color:#1F497D'&gt; &lt;br&gt; &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Arial","sans-serif"; color:#1F497D'&gt;Monterrey,&amp;nbsp;Nuevo León, CP 64790&lt;/span&gt;&lt;span style='font-size:12.0pt;font-family:"Times New Roman","serif";color:#1F497D'&gt; &lt;br&gt; &lt;/span&gt;&lt;span style='font-size:10.0pt;font-family:"Arial","sans-serif"; color:#1F497D'&gt;Tel: +52 (81)&amp;nbsp;4444 4044&amp;nbsp;&lt;/span&gt;&lt;span style='font-size: 12.0pt;font-family:"Times New Roman","serif";color:#1F497D'&gt; &lt;br&gt; &lt;br&gt; &lt;/span&gt;&lt;span style='font-size:6.0pt;color:#1F497D'&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/p&gt;  &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-6977522196665912420?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/6977522196665912420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=6977522196665912420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6977522196665912420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/6977522196665912420'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/admin-pid-file.html' title='[ADMIN] PID file'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1154790223791220786</id><published>2008-09-29T10:28:00.000-07:00</published><updated>2008-09-29T10:31:49.739-07:00</updated><title type='text'>[pgsql-www] pgsql-ports retirement party was [PORTS] libpq windows 64bit support</title><content type='html'>Is there a date for when pgsql-ports will be officially retired? &lt;p&gt;----------  Forwarded Message  ----------&lt;p&gt;Subject: [PORTS] libpq windows 64bit support&lt;br&gt;Date: Monday 29 September 2008&lt;br&gt;From: &amp;quot;Pierre Joye&amp;quot; &amp;lt;&lt;a href="mailto:pierre.php@gmail.com"&gt;pierre.php@gmail.com&lt;/a&gt;&amp;gt;&lt;br&gt;To: &lt;a href="mailto:pgsql-ports@postgresql.org"&gt;pgsql-ports@postgresql.org&lt;/a&gt;&lt;p&gt;hi,&lt;p&gt;Is there any plan to support windows 64bit? I tested the latest stable&lt;br&gt;release but it fails to build (I created my own configuration using&lt;br&gt;the existing sln).&lt;p&gt;Cheers,&lt;br&gt;-- &lt;br&gt;Pierre&lt;p&gt;&lt;a href="http://blog.thepimp.net"&gt;http://blog.thepimp.net&lt;/a&gt; | &lt;a href="http://www.libgd.org"&gt;http://www.libgd.org&lt;/a&gt;&lt;p&gt;-- &lt;br&gt;Sent via pgsql-ports mailing list (&lt;a href="mailto:pgsql-ports@postgresql.org"&gt;pgsql-ports@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-ports"&gt;http://www.postgresql.org/mailpref/pgsql-ports&lt;/a&gt;&lt;p&gt;-------------------------------------------------------&lt;p&gt;-- &lt;br&gt;Robert Treat&lt;br&gt;Build A Brighter LAMP :: Linux Apache {middleware} PostgreSQL&lt;p&gt;-- &lt;br&gt;Sent via pgsql-www mailing list (&lt;a href="mailto:pgsql-www@postgresql.org"&gt;pgsql-www@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-www"&gt;http://www.postgresql.org/mailpref/pgsql-www&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1154790223791220786?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1154790223791220786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1154790223791220786' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1154790223791220786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1154790223791220786'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/pgsql-www-pgsql-ports-retirement-party.html' title='[pgsql-www] pgsql-ports retirement party was [PORTS] libpq windows 64bit support'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-5677521635372712319</id><published>2008-09-29T10:26:00.000-07:00</published><updated>2008-09-29T10:27:20.263-07:00</updated><title type='text'>Re: [ADMIN] Do we need vacuuming when tables are regularly dropped?</title><content type='html'>On Mon, Sep 29, 2008 at 11:12 AM, Steve Crawford&lt;br&gt;&amp;lt;&lt;a href="mailto:scrawford@pinpointresearch.com"&gt;scrawford@pinpointresearch.com&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; What it sounds like to me is that you&amp;#39;re not vacuuming the system&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; catalogs, which are getting bloated with dead rows about all those&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; dropped tables.&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; Wow, great!&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt; It is not immediately clear from the documentation, but the VACUUM&lt;br&gt;&amp;gt;&amp;gt; command also deals with the system catalogs as well, correct?&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; To expand on Tom&amp;#39;s answer, rows in system tables are created not only for&lt;br&gt;&amp;gt; tables but for each column in the table, rules, indexes, etc. You  can end&lt;br&gt;&amp;gt; up with a lot more row creation than you suspect. And temporary tables bloat&lt;br&gt;&amp;gt; the system tables just like regular tables. We discovered that cron scripts&lt;br&gt;&amp;gt; using temporary tables can cause very rapid system-table blotage.&lt;p&gt;Also, there was a time when you couldn&amp;#39;t do vacuum full on system&lt;br&gt;tables do to locking issues, and had to take the db down to single&lt;br&gt;user mode to do so.&lt;p&gt;Tom, is that still the case?&lt;p&gt;-- &lt;br&gt;Sent via pgsql-admin mailing list (&lt;a href="mailto:pgsql-admin@postgresql.org"&gt;pgsql-admin@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-admin"&gt;http://www.postgresql.org/mailpref/pgsql-admin&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-5677521635372712319?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/5677521635372712319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=5677521635372712319' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5677521635372712319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/5677521635372712319'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-admin-do-we-need-vacuuming-when.html' title='Re: [ADMIN] Do we need vacuuming when tables are regularly dropped?'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1436271941357437214</id><published>2008-09-29T10:23:00.000-07:00</published><updated>2008-09-29T10:55:31.908-07:00</updated><title type='text'>Re: [BUGS] ERROR: unexpected data beyond EOF in block XXXXX of relation "file"</title><content type='html'>Okay, I see the maturity level is too low here.  I&amp;#39;ll take this elsewhere. &lt;br&gt;If anyone has a similar problem and would like to know the status please&lt;br&gt;email me.&lt;p&gt;&lt;p&gt;David Fetter wrote:&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; On Sun, Sep 28, 2008 at 11:51:49AM -0700, austijc wrote:&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; That&amp;#39;s going to be a problem for the continued viability of&lt;br&gt;&amp;gt;&amp;gt; Postgres.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Funny, I thought running a DBMS over a known-unreliable storage system&lt;br&gt;&amp;gt; was a problem for the continued viability of Oracle.  When, not if,&lt;br&gt;&amp;gt; people lose enough data to this silliness, they&amp;#39;ll be thinking hard&lt;br&gt;&amp;gt; about how to get Oracle out and something reliable in.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; Clustered systems using a NAS for data is a pretty common&lt;br&gt;&amp;gt;&amp;gt; configuration these days.  Oracle specifically supports it and even&lt;br&gt;&amp;gt;&amp;gt; complains if your NFS mount options are not correct.   Our Oracle&lt;br&gt;&amp;gt;&amp;gt; DBs run great in this same configuration and are a good 10-20 times&lt;br&gt;&amp;gt;&amp;gt; faster than the local disk performance along with the quick&lt;br&gt;&amp;gt;&amp;gt; take-over capability if a system goes belly up.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Oracle stores more state to the disk than PostgreSQL does, which has&lt;br&gt;&amp;gt; significant down sides.  There are more effective ways of handling&lt;br&gt;&amp;gt; uptime requirements than jamming NFS into the picture.  Maybe it&amp;#39;s&lt;br&gt;&amp;gt; just my failure of imagination, but I can&amp;#39;t think of a *less*&lt;br&gt;&amp;gt; effective one.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; I&amp;#39;ll try to isolate this problem with a simple C program to tell me&lt;br&gt;&amp;gt;&amp;gt; what software layer to look at.  Hopefully it&amp;#39;s just a configuration&lt;br&gt;&amp;gt;&amp;gt; issue.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; It&amp;#39;s not.  The issue is that NFS is broken garbage from a DBMS, and,&lt;br&gt;&amp;gt; it&amp;#39;s pretty easy to argue, just about any other perspective.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Cheers,&lt;br&gt;&amp;gt; David.&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; Tom Lane-2 wrote:&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;br&gt;&amp;gt;&amp;gt; &amp;gt; austijc &amp;lt;&lt;a href="mailto:jaustin@jasononthe.net"&gt;jaustin@jasononthe.net&lt;/a&gt;&amp;gt; writes:&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; The question is can anyone more familiar with this tell me what&amp;#39;s&lt;br&gt;&amp;gt;&amp;gt; going&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; on&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; here?  I don&amp;#39;t know if this is a Postgres, Sun, or NetApp issue. &lt;br&gt;&amp;gt;&amp;gt; Could&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; it&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; be a work around for an old Linux bug causing an issue with acceptable&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;&amp;gt; behavior of the NetApp device? &lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;br&gt;&amp;gt;&amp;gt; &amp;gt; People who try to run databases over NFS usually regret it eventually&lt;br&gt;&amp;gt;&amp;gt; ;-)&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;br&gt;&amp;gt;&amp;gt; &amp;gt; All I can say is that this error message has never before been reported&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; by anyone who wasn&amp;#39;t exposed to that lseek-inconsistency kernel bug.&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; I am not finding it too hard to believe that NFS might be vulnerable to&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; similar misbehavior.&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;br&gt;&amp;gt;&amp;gt; &amp;gt; 			regards, tom lane&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;br&gt;&amp;gt;&amp;gt; &amp;gt; -- &lt;br&gt;&amp;gt;&amp;gt; &amp;gt; Sent via pgsql-bugs mailing list (&lt;a href="mailto:pgsql-bugs@postgresql.org"&gt;pgsql-bugs@postgresql.org&lt;/a&gt;)&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; To make changes to your subscription:&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;a href="http://www.postgresql.org/mailpref/pgsql-bugs"&gt;http://www.postgresql.org/mailpref/pgsql-bugs&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;br&gt;&amp;gt;&amp;gt; &amp;gt; &lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; -- &lt;br&gt;&amp;gt;&amp;gt; View this message in context:&lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://www.nabble.com/ERROR%3A--unexpected-data-beyond-EOF-in-block-XXXXX-of-relation-%22file%22-tp19680438p19713228.html"&gt;http://www.nabble.com/ERROR%3A--unexpected-data-beyond-EOF-in-block-XXXXX-of-relation-%22file%22-tp19680438p19713228.html&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; Sent from the PostgreSQL - bugs mailing list archive at Nabble.com.&lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; &lt;br&gt;&amp;gt;&amp;gt; -- &lt;br&gt;&amp;gt;&amp;gt; Sent via pgsql-bugs mailing list (&lt;a href="mailto:pgsql-bugs@postgresql.org"&gt;pgsql-bugs@postgresql.org&lt;/a&gt;)&lt;br&gt;&amp;gt;&amp;gt; To make changes to your subscription:&lt;br&gt;&amp;gt;&amp;gt; &lt;a href="http://www.postgresql.org/mailpref/pgsql-bugs"&gt;http://www.postgresql.org/mailpref/pgsql-bugs&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; -- &lt;br&gt;&amp;gt; David Fetter &amp;lt;&lt;a href="mailto:david@fetter.org"&gt;david@fetter.org&lt;/a&gt;&amp;gt; &lt;a href="http://fetter.org/"&gt;http://fetter.org/&lt;/a&gt;&lt;br&gt;&amp;gt; Phone: +1 415 235 3778  AIM: dfetter666  Yahoo!: dfetter&lt;br&gt;&amp;gt; Skype: davidfetter      XMPP: &lt;a href="mailto:david.fetter@gmail.com"&gt;david.fetter@gmail.com&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; Remember to vote!&lt;br&gt;&amp;gt; Consider donating to Postgres: &lt;a href="http://www.postgresql.org/about/donate"&gt;http://www.postgresql.org/about/donate&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; -- &lt;br&gt;&amp;gt; Sent via pgsql-bugs mailing list (&lt;a href="mailto:pgsql-bugs@postgresql.org"&gt;pgsql-bugs@postgresql.org&lt;/a&gt;)&lt;br&gt;&amp;gt; To make changes to your subscription:&lt;br&gt;&amp;gt; &lt;a href="http://www.postgresql.org/mailpref/pgsql-bugs"&gt;http://www.postgresql.org/mailpref/pgsql-bugs&lt;/a&gt;&lt;br&gt;&amp;gt; &lt;br&gt;&amp;gt; &lt;p&gt;-- &lt;br&gt;View this message in context: &lt;a href="http://www.nabble.com/ERROR%3A--unexpected-data-beyond-EOF-in-block-XXXXX-of-relation-%22file%22-tp19680438p19728120.html"&gt;http://www.nabble.com/ERROR%3A--unexpected-data-beyond-EOF-in-block-XXXXX-of-relation-%22file%22-tp19680438p19728120.html&lt;/a&gt;&lt;br&gt;Sent from the PostgreSQL - bugs mailing list archive at Nabble.com.&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-bugs mailing list (&lt;a href="mailto:pgsql-bugs@postgresql.org"&gt;pgsql-bugs@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-bugs"&gt;http://www.postgresql.org/mailpref/pgsql-bugs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1436271941357437214?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1436271941357437214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1436271941357437214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1436271941357437214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1436271941357437214'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-bugs-error-unexpected-data-beyond_29.html' title='Re: [BUGS] ERROR: unexpected data beyond EOF in block XXXXX of relation &quot;file&quot;'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-4650863135117981297</id><published>2008-09-29T10:14:00.000-07:00</published><updated>2008-09-29T10:43:56.547-07:00</updated><title type='text'>[ANNOUNCE] West: 2nd call for lightning talks</title><content type='html'>The PostgreSQL Conference: West is being held at Portland State&lt;br&gt;University on October 10th - 12th. The West Coast PostgreSQL&lt;br&gt;conference is currently seeking more Lightning Talks.&lt;p&gt;Lightning talks are an exciting way to get involved in the conference&lt;br&gt;with very little commitment on the speakers end. Assuming you can stand&lt;br&gt;in front of an audience for 5 minutes; you can speak about anything&lt;br&gt;PostgreSQL or Open Source related.&lt;p&gt;To submit your lightning talk please visit: &lt;p&gt;&lt;a href="http://www.pgcon.us/west08/talk_submission/"&gt;http://www.pgcon.us/west08/talk_submission/&lt;/a&gt;&lt;p&gt;If you have not yet registered for the event please visit:&lt;p&gt;&lt;a href="http://www.postgresqlconference.org/west08/register"&gt;http://www.postgresqlconference.org/west08/register&lt;/a&gt;&lt;p&gt;Lastly thank you to this years sponsors:&lt;p&gt;Command Prompt: &lt;a href="http://www.commandprompt.com/"&gt;http://www.commandprompt.com/&lt;/a&gt;&lt;br&gt;EnterpriseDB: &lt;a href="http://www.enterprisedb.com/"&gt;http://www.enterprisedb.com/&lt;/a&gt;&lt;p&gt;Afilias : &lt;a href="http://www.afilias.info/"&gt;http://www.afilias.info/&lt;/a&gt;&lt;br&gt;HP: &lt;a href="http://www.hp.com/"&gt;http://www.hp.com/&lt;/a&gt;&lt;p&gt;Emma : &lt;a href="http://www.myemma.com/"&gt;http://www.myemma.com/&lt;/a&gt;&lt;p&gt;Continuent : &lt;a href="http://www.continuent.com/"&gt;http://www.continuent.com/&lt;/a&gt;&lt;br&gt;Endpoint : &lt;a href="http://www.endpoint.com/"&gt;http://www.endpoint.com/&lt;/a&gt;&lt;br&gt;OTG : &lt;a href="http://www.otg-nc.com/"&gt;http://www.otg-nc.com/&lt;/a&gt;&lt;p&gt;EFF: &lt;a href="http://www.eff.org/"&gt;http://www.eff.org/&lt;/a&gt;&lt;br&gt;Google: &lt;a href="http://www.google.com/"&gt;http://www.google.com/&lt;/a&gt;&lt;p&gt;&lt;p&gt;-- &lt;br&gt;The PostgreSQL Company since 1997: &lt;a href="http://www.commandprompt.com/"&gt;http://www.commandprompt.com/&lt;/a&gt; &lt;br&gt;PostgreSQL Community Conference: &lt;a href="http://www.postgresqlconference.org/"&gt;http://www.postgresqlconference.org/&lt;/a&gt;&lt;br&gt;United States PostgreSQL Association: &lt;a href="http://www.postgresql.us/"&gt;http://www.postgresql.us/&lt;/a&gt;&lt;p&gt;&lt;p&gt;---------------------------(end of broadcast)---------------------------&lt;br&gt;-To unsubscribe from this list, send an email to:&lt;p&gt;               &lt;a href="mailto:pgsql-announce-unsubscribe@postgresql.org"&gt;pgsql-announce-unsubscribe@postgresql.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-4650863135117981297?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/4650863135117981297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=4650863135117981297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4650863135117981297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4650863135117981297'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/announce-west-2nd-call-for-lightning.html' title='[ANNOUNCE] West: 2nd call for lightning talks'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-2937926420356591837</id><published>2008-09-29T07:21:00.000-07:00</published><updated>2008-09-29T12:48:08.040-07:00</updated><title type='text'>[GENERAL] database question</title><content type='html'>Hi all I have been experiencing some strange behaviour on my postgres&lt;br&gt;DB.  I am VERY new to PG so bear with me as what I am going to ask is&lt;br&gt;all probably very basic to you guys.&lt;br&gt;First off over the last couple of weeks we have been seeing in the&lt;br&gt;dir /var/lib/pgsql/data/base/16450 some large file creations, so for&lt;br&gt;example&lt;p&gt;-rw------- 1 postgres postgres 1073741824 Sep 29 15:15 2683&lt;br&gt;-rw------- 1 postgres root     1073741824 Sep 29 15:15 2613.77&lt;br&gt;-rw------- 1 postgres root     1073741824 Sep 29 15:15 2613.83&lt;br&gt;-rw------- 1 postgres root       65347584 Sep 29 15:16 2613.88&lt;br&gt;-rw------- 1 postgres root     1073741824 Sep 29 15:16 2613.86&lt;br&gt;-rw------- 1 postgres root     1073741824 Sep 29 15:17 2613.82&lt;br&gt;-rw------- 1 postgres root     1073741824 Sep 29 15:17 2613.81&lt;br&gt;-rw------- 1 postgres postgres  380346368 Sep 29 15:17 16451.1&lt;br&gt;-rw------- 1 postgres postgres  217710592 Sep 29 15:18 33820&lt;br&gt;-rw------- 1 postgres root      119046144 Sep 29 15:18 2683.1&lt;br&gt;-rw------- 1 postgres root     1073741824 Sep 29 15:18 2613.84&lt;p&gt;What are these files and why have they suddenly started to be created&lt;br&gt;and why so large?&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-2937926420356591837?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/2937926420356591837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=2937926420356591837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2937926420356591837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/2937926420356591837'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/general-database-question.html' title='[GENERAL] database question'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-3134258597593321053</id><published>2008-09-29T06:41:00.000-07:00</published><updated>2008-09-29T12:51:24.701-07:00</updated><title type='text'>[GENERAL] Re: Is there a parameter to tell postgresql to not attempt to open an  IPv6 socket?</title><content type='html'>On 16 sep, 23:04, &lt;a href="mailto:a...@commandprompt.com"&gt;a...@commandprompt.com&lt;/a&gt; (Andrew Sullivan) wrote:&lt;br&gt;&amp;gt; On Tue, Sep 16, 2008 at 04:46:37PM -0400, Reid.Thompson wrote:&lt;br&gt;&amp;gt; &amp;gt; PostgreSQL appears to all intents to startup fine on the UNIX and IPv4&lt;br&gt;&amp;gt; &amp;gt; sockets. &amp;#160;Is there a parameter to tell postgresql tonotattempt to open&lt;br&gt;&amp;gt; &amp;gt; anIPv6socket?&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; Specify the specific TCP/IP interfaces in the postmaster.conf file.&lt;br&gt;&amp;gt; Otherwise, Postgres will try tobindto all the sockets. &amp;#160;There&amp;#39;s&lt;br&gt;&amp;gt; something hinkey about theIPv6support in AIX, IIRC, so that you end&lt;br&gt;&amp;gt; up with this symptom. &amp;#160;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; A&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; Andrew Sullivan&lt;br&gt;&amp;gt; &lt;a href="mailto:a...@commandprompt.com"&gt;a...@commandprompt.com&lt;/a&gt;&lt;br&gt;&amp;gt; +1 503 667 4564 x104&lt;a href="http://www.commandprompt.com/"&gt;http://www.commandprompt.com/&lt;/a&gt;&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-gene...@postgresql.org"&gt;pgsql-gene...@postgresql.org&lt;/a&gt;)&lt;br&gt;&amp;gt; To make changes to your subscription:&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;p&gt;Hello,&lt;p&gt;I have the same pb. I have looked for a postmaster.conf file but there&lt;br&gt;is none on the server.&lt;br&gt;Apart from the doc and src files, the only files on my server&lt;br&gt;containing the word &amp;quot;postmaster&amp;quot; are :&lt;br&gt;/usr/local/pgsql/bin/postmaster&lt;br&gt;$PGDATA/postmaster.opts&lt;br&gt;$PGDATA/postmaster.pid&lt;p&gt;Do you have an idea why and how then to solve this pb ?&lt;p&gt;Thanks,&lt;p&gt;Yann.&lt;p&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-3134258597593321053?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/3134258597593321053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=3134258597593321053' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3134258597593321053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/3134258597593321053'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/general-re-is-there-parameter-to-tell.html' title='[GENERAL] Re: Is there a parameter to tell postgresql to not attempt to open an  IPv6 socket?'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-4031551325787285390</id><published>2008-09-28T21:57:00.000-07:00</published><updated>2008-09-28T21:58:57.978-07:00</updated><title type='text'>Re: [GENERAL] inserting to a multi-table view</title><content type='html'>On Sun, 28 Sep 2008 21:43:49 -0700,&lt;br&gt;&amp;quot;Richard Broersma&amp;quot; &amp;lt;&lt;a href="mailto:richard.broersma@gmail.com"&gt;richard.broersma@gmail.com&lt;/a&gt;&amp;gt; wrote:&lt;p&gt;[...]&lt;p&gt;&amp;gt; Well, I was able to get PostgreSQL Update-able views to work nearly as&lt;br&gt;&amp;gt; well as the update-able queries did in Access.&lt;p&gt;Would you mind sharing a sample schema?&lt;p&gt;&lt;br&gt;&amp;gt; As a side note, you&amp;#39;ll notice that MS-Access will not allow&lt;br&gt;&amp;gt; update-able queries based on ODBC linked table like it does on its&lt;br&gt;&amp;gt; native tables for this reason.&lt;p&gt;That&amp;#39;s right, I did find that out once but didn&amp;#39;t know whether it was&lt;br&gt;due to ODBC limitations or something else.&lt;p&gt;&lt;br&gt;&amp;gt; Natural Primary key/Foreign key CASCADE UPDATEs don&amp;#39;t work well with&lt;br&gt;&amp;gt; update-able views.  Choose one or the other.&lt;p&gt;Not sure what you mean; can you please tell more about what doesn&amp;#39;t work&lt;br&gt;well with updateable views what the choice is?&lt;p&gt;&lt;br&gt;Thanks for the feedback,&lt;p&gt;-- &lt;br&gt;Seb&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-general mailing list (&lt;a href="mailto:pgsql-general@postgresql.org"&gt;pgsql-general@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-general"&gt;http://www.postgresql.org/mailpref/pgsql-general&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-4031551325787285390?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/4031551325787285390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=4031551325787285390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4031551325787285390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/4031551325787285390'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/re-general-inserting-to-multi-table_2594.html' title='Re: [GENERAL] inserting to a multi-table view'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-1068008239785216243</id><published>2008-09-28T21:54:00.001-07:00</published><updated>2008-09-28T21:54:33.851-07:00</updated><title type='text'>[COMMITTERS] uint - uint: Initial checking for the unsigned integer data type.</title><content type='html'>Log Message:&lt;br&gt;-----------&lt;br&gt;Initial checking for the unsigned integer data type.&lt;p&gt;Added Files:&lt;br&gt;-----------&lt;br&gt;    uint:&lt;br&gt;        Makefile (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/Makefile?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/Makefile?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        uint.c (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/uint.c?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/uint.c?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        &lt;a href="http://uint.sql.in"&gt;uint.sql.in&lt;/a&gt; (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/uint.sql.in?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/uint.sql.in?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        uninstall_uint.sql (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/uninstall_uint.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/uninstall_uint.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;    uint/data:&lt;br&gt;        copy_binary.data (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/data/copy_binary.data?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/data/copy_binary.data?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        copy_text.data (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/data/copy_text.data?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/data/copy_text.data?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        uint1_hash.data (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/data/uint1_hash.data?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/data/uint1_hash.data?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        uint2_hash.data (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/data/uint2_hash.data?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/data/uint2_hash.data?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        uint4_hash.data (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/data/uint4_hash.data?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/data/uint4_hash.data?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;    uint/expected:&lt;br&gt;        bit_ops.out (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/bit_ops.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/bit_ops.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        cast.out (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/cast.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/cast.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        comparision_ops.out (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/comparision_ops.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/comparision_ops.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        &lt;a href="http://copy.out.in"&gt;copy.out.in&lt;/a&gt; (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/copy.out.in?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/copy.out.in?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        hash_joins.out (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/hash_joins.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/hash_joins.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        &lt;a href="http://indexes.out.in"&gt;indexes.out.in&lt;/a&gt; (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/indexes.out.in?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/indexes.out.in?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        init.out (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/init.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/init.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        insert.out (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/insert.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/insert.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        restrict_selops.out (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/restrict_selops.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/restrict_selops.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        tables.out (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/tables.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/expected/tables.out?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;    uint/sql:&lt;br&gt;        bit_ops.sql (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/bit_ops.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/bit_ops.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        cast.sql (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/cast.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/cast.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        comparision_ops.sql (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/comparision_ops.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/comparision_ops.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        &lt;a href="http://copy.sql.in"&gt;copy.sql.in&lt;/a&gt; (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/copy.sql.in?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/copy.sql.in?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        hash_joins.sql (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/hash_joins.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/hash_joins.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        &lt;a href="http://indexes.sql.in"&gt;indexes.sql.in&lt;/a&gt; (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/indexes.sql.in?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/indexes.sql.in?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        init.sql (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/init.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/init.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        insert.sql (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/insert.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/insert.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        restrict_selops.sql (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/restrict_selops.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/restrict_selops.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;br&gt;        tables.sql (r1.1)&lt;br&gt;        (&lt;a href="http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/tables.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup"&gt;http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/uint/uint/sql/tables.sql?rev=1.1&amp;amp;content-type=text/x-cvsweb-markup&lt;/a&gt;)&lt;p&gt;-- &lt;br&gt;Sent via pgsql-committers mailing list (&lt;a href="mailto:pgsql-committers@postgresql.org"&gt;pgsql-committers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-committers"&gt;http://www.postgresql.org/mailpref/pgsql-committers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-1068008239785216243?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/1068008239785216243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=1068008239785216243' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1068008239785216243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/1068008239785216243'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/committers-uint-uint-initial-checking.html' title='[COMMITTERS] uint - uint: Initial checking for the unsigned integer data type.'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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><entry><id>tag:blogger.com,1999:blog-6901926225948375000.post-594868227170937507</id><published>2008-09-28T21:50:00.002-07:00</published><updated>2008-09-28T21:52:07.445-07:00</updated><title type='text'>[COMMITTERS] uint - uint: New Directory</title><content type='html'>Update of /cvsroot/uint/uint/sql&lt;br&gt;In directory pgfoundry.org:/tmp/cvs-serv98957/sql&lt;p&gt;Log Message:&lt;br&gt;Directory /cvsroot/uint/uint/sql added to the repository&lt;p&gt;&lt;br&gt;-- &lt;br&gt;Sent via pgsql-committers mailing list (&lt;a href="mailto:pgsql-committers@postgresql.org"&gt;pgsql-committers@postgresql.org&lt;/a&gt;)&lt;br&gt;To make changes to your subscription:&lt;br&gt;&lt;a href="http://www.postgresql.org/mailpref/pgsql-committers"&gt;http://www.postgresql.org/mailpref/pgsql-committers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6901926225948375000-594868227170937507?l=postgresqlorg.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://postgresqlorg.blogspot.com/feeds/594868227170937507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6901926225948375000&amp;postID=594868227170937507' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/594868227170937507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6901926225948375000/posts/default/594868227170937507'/><link rel='alternate' type='text/html' href='http://postgresqlorg.blogspot.com/2008/09/committers-uint-uint-new-directory_2229.html' title='[COMMITTERS] uint - uint: New Directory'/><author><name>MotoLanka</name><uri>http://www.blogger.com/profile/11169480465676692778</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>
