Re: small parallel restore optimization

ohp@pyrenet.fr

From: ohp@pyrenet.fr
To: Guillaume Smet <guillaume.smet@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Andrew Dunstan <andrew@dunslane.net>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2009-03-07T07:40:53Z
Lists: pgsql-hackers
On Fri, 6 Mar 2009, Guillaume Smet wrote:

> Date: Fri, 6 Mar 2009 18:58:58 +0100
> From: Guillaume Smet <guillaume.smet@gmail.com>
> To: Tom Lane <tgl@sss.pgh.pa.us>
> Cc: Andrew Dunstan <andrew@dunslane.net>,
>     PostgreSQL-development <pgsql-hackers@postgresql.org>, ohp@pyrenet.fr
> Subject: Re: [HACKERS] small parallel restore optimization
> 
> On Fri, Mar 6, 2009 at 6:20 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Can you put together even a weakly reproducible test case?  Something
>> that only fails every tenth or hundredth time would still help.
not sure, none of my tests did fail at the same place.
the only thing I could come  with is a calloc(1,12) that seems to alloc 
mem for filename, in that case sdewitte.dmp; so  the alloc is not counting 
the null char at the end.
not sure it could explain everything though
   >
> It seems that Olivier can reproduce the problem at will on Unixware. I
> don't know if it's easy to find useful information to debug the
> problem on this platform though.
>
> See http://archives.postgresql.org/pgsql-hackers/2009-03/msg00201.php
>
>

-- 
Olivier PRENANT        	        Tel: +33-5-61-50-97-00 (Work)
15, Chemin des Monges                +33-5-61-50-97-01 (Fax)
31190 AUTERIVE                       +33-6-07-63-80-64 (GSM)
FRANCE                          Email: ohp@pyrenet.fr
------------------------------------------------------------------------------
Make your life a dream, make your dream a reality. (St Exupery)
>From pgsql-hackers-owner@postgresql.org  Sat Mar  7 05:55:23 2009
Received: from localhost (unknown [200.46.204.183])
	by mail.postgresql.org (Postfix) with ESMTP id 7F1E4632803
	for <pgsql-hackers-postgresql.org@mail.postgresql.org>; Sat,  7 Mar 2009 05:55:16 -0400 (AST)
Received: from mail.postgresql.org ([200.46.204.86])
 by localhost (mx1.hub.org [200.46.204.183]) (amavisd-maia, port 10024)
 with ESMTP id 90730-10
 for <pgsql-hackers-postgresql.org@mail.postgresql.org>;
 Sat,  7 Mar 2009 05:55:09 -0400 (AST)
X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
Received: from smtp.guitar.ocn.ne.jp (guitar.ocn.ne.jp [122.28.30.209])
	by mail.postgresql.org (Postfix) with ESMTP id 0A51663219C
	for <pgsql-hackers@postgresql.org>; Sat,  7 Mar 2009 05:55:01 -0400 (AST)
Received: from HIRO57887DE653 (p5023-ipadfx01funabasi.chiba.ocn.ne.jp [218.43.105.23])
	by smtp.guitar.ocn.ne.jp (Postfix) with SMTP
	id 262E8278B; Sat,  7 Mar 2009 18:54:58 +0900 (JST)
Message-ID: <459F93FBB5474274BACADD11D25F16E9@HIRO57887DE653>
From: "Hiroshi Saito" <z-saito@guitar.ocn.ne.jp>
To: "Peter Eisentraut" <peter_e@gmx.net>,
	"Alvaro Herrera" <alvherre@commandprompt.com>
Cc: <pgsql-hackers@postgresql.org>
References: <20090217113434.439D77559ED@cvs.postgresql.org> <20090217162747.GD3173@alvh.no-ip.org> <499BF4C8.7000202@gmx.net> <B931FEADCC0D4A1799C008E7C7D6777A@HIRO57887DE653>
Subject: Re: Re: [COMMITTERS] pgsql: Redefine _() to dgettext() instead of	gettext() so that it uses
Date: Sat, 7 Mar 2009 18:54:56 +0900
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_00C3_01C99F56.35140C80"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.5512
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
X-Virus-Scanned: Maia Mailguard 1.0.1
X-Spam-Status: No, hits=1.819 tagged_above=0 required=5
 tests=MIME_QP_LONG_LINE=1.819
X-Spam-Level: *
X-Archive-Number: 200903/287
X-Sequence-Number: 134966

This is a multi-part message in MIME format.

------=_NextPart_000_00C3_01C99F56.35140C80
Content-Type: text/plain;
	format=flowed;
	charset="ISO-8859-1";
	reply-type=original
Content-Transfer-Encoding: 7bit

Hi.

Ummm, I present is not understood by the reason of Japanese. ... 
Therefore, It was made into the Spanish case. 
I know that Alvaro-san will understand Spanish well. 

==postgresql.conf==
lc_messages= 'es' 

server.log of a patch before and after was applied. 
Please see it. 

Regards,
Hiroshi Saito

----- Original Message ----- 
From: "Hiroshi Saito" <z-saito@guitar.ocn.ne.jp>


> Hi Peter-san.
> 
> I see the problem for being an original domain in plpgsql. It differs from what 
> codeset meant at postmaster by Japanese windows....
> Please see, this look at the problem on which SJIS enters into a message. 
> http://winpg.jp/~saito/pg_work/LC_MESSAGE_CHECK/plpgsql/before_plpgsql_server.log
> This state is the following.  
> ==
> lc_messages=ja
> server_encoding=utf-8
> ==
> 
> Therefore,  it needs to be codeset called for an original domain. It is the procedure in which
> only a server module must correspond. Then, It is solvable by this patch. 
> http://winpg.jp/~saito/pg_work/LC_MESSAGE_CHECK/plpgsql/after_plpgsql_server.log
> 
> Please take this into consideration. 
> Tahnks.
> 
> Regards,
> Hiroshi Saito
> 
> ----- Original Message ----- 
> From: "Peter Eisentraut" <peter_e@gmx.net>
> 
> 
>> Alvaro Herrera wrote:
>>> Peter Eisentraut wrote:
>>>> Log Message:
>>>> -----------
>>>> Redefine _() to dgettext() instead of gettext() so that it uses the plpgsql
>>>> text domain, instead of the postgres one (or whatever the default may be).
>>> 
>>> Hmm, so is this needed on all other PLs too?
>> 
>> In principle yes.  Or call dgettext() explicitly, which is also done in 
>> some cases.  However, in most cases messages are issued through 
>> ereport(), which handles this automatically (which you implemented, I 
>> recall).
>
------=_NextPart_000_00C3_01C99F56.35140C80
Content-Type: application/octet-stream;
	name="plpgsql_es_before.log"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="plpgsql_es_before.log"

LOG:  el sistema de bases de datos fue apagado en 2009-03-07 18:24:31 JST=0A=
LOG:  el sistema de bases de datos est=81La listo para aceptar =
conexiones
LOG:  lanzador de autovacuum iniciado=0A=
ERROR:  un identificador entre comillas est=81La inconcluso=0A=
CONTEXTO:  compilation of PL/pgSQL function "func1" near line 2=0A=
SENTENCIA:  create function func1() returns int as '=0A=
	begin=0A=
	select "a;=0A=
	end;=0A=
	' language 'plpgsql';=0A=
ERROR:  secuencia de bytes no v=C3=A1lida para codificaci=C3=B3n =
=C2=ABUTF8=C2=BB: 0x81=0A=
HINT:  Este error tambi=C3=A9n puede ocurrir si la secuencia de bytes no =
coinciden con la codificaci=C3=B3n esperada por el servidor, lo cual es =
controlado por el par=C3=A1metro =C2=ABclient_encoding=C2=BB.=0A=
SENTENCIA:  create function func1() returns int as '=0A=
	begin=0A=
	select "a;=0A=
	end;=0A=
	' language 'plpgsql';=0A=
LOG:  se recibi=81Lo petici=81Lon de apagado inteligente
LOG:  apagando lanzador de autovacuum=0A=
LOG:  apagando=0A=
LOG:  el sistema de bases de datos est=81La apagado=0A=

------=_NextPart_000_00C3_01C99F56.35140C80
Content-Type: application/octet-stream;
	name="plpgsql_es_after.log"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="plpgsql_es_after.log"

LOG:  el sistema de bases de datos fue apagado en 2009-03-07 18:25:46 JST=0A=
LOG:  el sistema de bases de datos est=81La listo para aceptar =
conexiones
LOG:  lanzador de autovacuum iniciado=0A=
ERROR:  un identificador entre comillas est=C3=A1 inconcluso=0A=
CONTEXTO:  compilation of PL/pgSQL function "func1" near line 2=0A=
SENTENCIA:  create function func1() returns int as '=0A=
	begin=0A=
	select "a;=0A=
	end;=0A=
	' language 'plpgsql';=0A=
LOG:  se recibi=81Lo petici=81Lon de apagado inteligente
LOG:  apagando lanzador de autovacuum=0A=
LOG:  apagando=0A=
LOG:  el sistema de bases de datos est=81La apagado=0A=

------=_NextPart_000_00C3_01C99F56.35140C80
Content-Type: application/octet-stream;
	name="plpgsql_test.sql"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="plpgsql_test.sql"

\encoding latin1=0A=
show client_encoding;=0A=
show server_encoding;=0A=
set lc_messages to es;=0A=
show lc_messages;=0A=
create function func1() returns int as '=0A=
begin=0A=
select "a;=0A=
end;=0A=
' language 'plpgsql';=0A=

------=_NextPart_000_00C3_01C99F56.35140C80--