<div dir="ltr">Hi Tatsuo,<div><br></div><div>pgpool_regclass was not installed. I installed from ubuntu package and execute psql -f pgpool_regclass to install it, but I still get the same error message: unnamed prepared statement does not exist.</div>
<div><br></div><div>I did not use pgpool-regclass from version 3.3.2, because I could not build it, It searched the source directory of PostgreSQL, but I did not compile it, I used ubuntu package postgresql-9.1-pgpool2. Could there be a problem of version between ubuntu package and pgpool 3.3.2 I compiled ? pgpool2 in ubuntu package is in version 3.1.1</div>
<div><br></div><div>Regards, Denis</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014/1/9 Tatsuo Ishii <span dir="ltr"><<a href="mailto:ishii@postgresql.org" target="_blank">ishii@postgresql.org</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Denis,<br>
<br>
By looking at this:<br>
<div class="im"><br>
> message: unnamed prepared statement does not exist<br>
<br>
</div>I suspect pgpool_regclass is not properly installed. Can you make sure<br>
that?<br>
<br>
Best regards,<br>
<div class="HOEnZb"><div class="h5">--<br>
Tatsuo Ishii<br>
SRA OSS, Inc. Japan<br>
English: <a href="http://www.sraoss.co.jp/index_en.php" target="_blank">http://www.sraoss.co.jp/index_en.php</a><br>
Japanese: <a href="http://www.sraoss.co.jp" target="_blank">http://www.sraoss.co.jp</a><br>
<br>
> Thanks for your help, Tatsuo.<br>
><br>
> Here the pgpool2 logs when I use protocol version 3 :<br>
> ...<br>
> Jan 9 15:48:26 pool pgpool[4077]: connection received: host=192.168.1.11<br>
> port=35923<br>
> Jan 9 15:48:26 pool pgpool[4077]: DB node id: 0 backend pid: 1609<br>
> statement: Parse: SET extra_float_digits = 3<br>
> Jan 9 15:48:26 pool pgpool[4077]: DB node id: 1 backend pid: 1673<br>
> statement: Parse: SET extra_float_digits = 3<br>
> Jan 9 15:48:26 pool pgpool[4077]: DB node id: 0 backend pid: 1609<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4077]: DB node id: 1 backend pid: 1673<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4077]: DB node id: 0 backend pid: 1609<br>
> statement: Execute: SET extra_float_digits = 3<br>
> Jan 9 15:48:26 pool pgpool[4077]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1609 statement: SET<br>
> extra_float_digits = 3 message: execute <unnamed>: SET extra_float_digits =<br>
> 3<br>
> Jan 9 15:48:26 pool pgpool[4077]: DB node id: 1 backend pid: 1673<br>
> statement: Execute: SET extra_float_digits = 3<br>
> Jan 9 15:48:26 pool pgpool[4077]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 1 backend pid: 1673 statement: SET<br>
> extra_float_digits = 3 message: execute <unnamed>: SET extra_float_digits =<br>
> 3<br>
> Jan 9 15:48:26 pool pgpool[4077]: statement: DISCARD ALL<br>
> Jan 9 15:48:26 pool pgpool[4077]: DB node id: 0 backend pid: 1609<br>
> statement: DISCARD ALL<br>
> Jan 9 15:48:26 pool pgpool[4077]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1609 statement: DISCARD<br>
> ALL message: statement: DISCARD ALL<br>
> Jan 9 15:48:26 pool pgpool[4077]: DB node id: 1 backend pid: 1673<br>
> statement: DISCARD ALL<br>
> Jan 9 15:48:26 pool pgpool[4077]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 1 backend pid: 1673 statement: DISCARD<br>
> ALL message: statement: DISCARD ALL<br>
> Jan 9 15:48:26 pool pgpool[4079]: connection received: host=192.168.1.11<br>
> port=35924<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: Parse: SET extra_float_digits = 3<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 1 backend pid: 1672<br>
> statement: Parse: SET extra_float_digits = 3<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 1 backend pid: 1672<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: Execute: SET extra_float_digits = 3<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1608 statement: SET<br>
> extra_float_digits = 3 message: execute <unnamed>: SET extra_float_digits =<br>
> 3<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 1 backend pid: 1672<br>
> statement: Execute: SET extra_float_digits = 3<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 1 backend pid: 1672 statement: SET<br>
> extra_float_digits = 3 message: execute <unnamed>: SET extra_float_digits =<br>
> 3<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: SELECT count(*) from (SELECT has_function_privilege('sensor',<br>
> 'pgpool_regclass(cstring)', 'execute') WHERE EXISTS(SELECT * FROM<br>
> pg_catalog.pg_proc AS p WHERE p.proname = 'pgpool_regclass')) AS s<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: SELECT count(*) FROM pg_catalog.pg_attrdef AS d,<br>
> pg_catalog.pg_class AS c WHERE d.adrelid = c.oid AND d.adsrc ~ 'nextval'<br>
> AND c.relname = 'snsrprobe'<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: Parse: INSERT INTO snsrProbe ( id, probcolor, probcreated,<br>
> probglobal, problevel, probname, probstrategy ) VALUES ( $1, $2,<br>
> now(), $3, $4, $5, $6 )<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: BEGIN<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1608 statement: INSERT<br>
> INTO snsrProbe ( id, probcolor, probcreated, probglobal, problevel,<br>
> probname, probstrategy ) VALUES ( $1, $2, now(), $3, $4, $5, $6 )<br>
> message: unnamed prepared statement does not exist<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: COMMIT<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: Parse: DELETE FROM snsrProbe WHERE id = $1<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: BEGIN<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1608 statement: DELETE<br>
> FROM snsrProbe WHERE id = $1 message: unnamed prepared statement does not<br>
> exist<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: COMMIT<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: Parse: INSERT INTO snsrProbe ( id, probcolor, probcreated,<br>
> probglobal, problevel, probname, probstrategy ) VALUES ( $1, $2,<br>
> now(), $3, $4, $5, $6 )<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: BEGIN<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1608 statement: INSERT<br>
> INTO snsrProbe ( id, probcolor, probcreated, probglobal, problevel,<br>
> probname, probstrategy ) VALUES ( $1, $2, now(), $3, $4, $5, $6 )<br>
> message: unnamed prepared statement does not exist<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: COMMIT<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: Parse: DELETE FROM snsrProbe WHERE id = $1<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: BEGIN<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1608 statement: DELETE<br>
> FROM snsrProbe WHERE id = $1 message: unnamed prepared statement does not<br>
> exist<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: COMMIT<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: Parse: INSERT INTO snsrProbe ( id, probcolor, probcreated,<br>
> probglobal, problevel, probname, probstrategy ) VALUES ( $1, $2,<br>
> now(), $3, $4, $5, $6 )<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: BEGIN<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1608 statement: INSERT<br>
> INTO snsrProbe ( id, probcolor, probcreated, probglobal, problevel,<br>
> probname, probstrategy ) VALUES ( $1, $2, now(), $3, $4, $5, $6 )<br>
> message: unnamed prepared statement does not exist<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: COMMIT<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: Parse: DELETE FROM snsrProbe WHERE id = $1<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: BEGIN<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1608 statement: DELETE<br>
> FROM snsrProbe WHERE id = $1 message: unnamed prepared statement does not<br>
> exist<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: COMMIT<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: Parse: INSERT INTO snsrProbe ( id, probcolor, probcreated,<br>
> probglobal, problevel, probname, probstrategy ) VALUES ( $1, $2,<br>
> now(), $3, $4, $5, $6 )<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: BEGIN<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1608 statement: INSERT<br>
> INTO snsrProbe ( id, probcolor, probcreated, probglobal, problevel,<br>
> probname, probstrategy ) VALUES ( $1, $2, now(), $3, $4, $5, $6 )<br>
> message: unnamed prepared statement does not exist<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: COMMIT<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: Parse: DELETE FROM snsrProbe WHERE id = $1<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: BEGIN<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: B message<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1608 statement: DELETE<br>
> FROM snsrProbe WHERE id = $1 message: unnamed prepared statement does not<br>
> exist<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: COMMIT<br>
> Jan 9 15:48:26 pool pgpool[4079]: ProcessFrontendResponse: failed to read<br>
> kind from frontend. frontend abnormally exited<br>
> Jan 9 15:48:26 pool pgpool[4079]: statement: DISCARD ALL<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 0 backend pid: 1608<br>
> statement: DISCARD ALL<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 0 backend pid: 1608 statement: DISCARD<br>
> ALL message: statement: DISCARD ALL<br>
> Jan 9 15:48:26 pool pgpool[4079]: DB node id: 1 backend pid: 1672<br>
> statement: DISCARD ALL<br>
> Jan 9 15:48:26 pool pgpool[4079]: pool_send_and_wait: Error or notice<br>
> message from backend: : DB node id: 1 backend pid: 1672 statement: DISCARD<br>
> ALL message: statement: DISCARD ALL<br>
><br>
> PostgreSQL master logs :<br>
> ...<br>
> 2014-01-09 15:48:26.558 CET pool LOG: execute <unnamed>: SET<br>
> extra_float_digits = 3<br>
> 2014-01-09 15:48:26.569 CET pool LOG: statement: DISCARD ALL<br>
> 2014-01-09 15:48:26.618 CET pool LOG: execute <unnamed>: SET<br>
> extra_float_digits = 3<br>
> 2014-01-09 15:48:26.644 CET pool LOG: execute pgpool4079/pgpool4079:<br>
> SELECT count(*) from (SELECT has_function_privilege('sensor',<br>
> 'pgpool_regclass(cstring)', 'execute') WHERE EXISTS(SELECT * FROM<br>
> pg_catalog.pg_proc AS p WHERE p.proname = 'pgpool_regclass')) AS s<br>
> 2014-01-09 15:48:26.649 CET pool LOG: execute pgpool4079/pgpool4079:<br>
> SELECT count(*) FROM pg_catalog.pg_attrdef AS d, pg_catalog.pg_class AS c<br>
> WHERE d.adrelid = c.oid AND d.adsrc ~ 'nextval' AND c.relname = 'snsrprobe'<br>
> 2014-01-09 15:48:26.651 CET pool LOG: statement: BEGIN<br>
> 2014-01-09 15:48:26.652 CET pool ERROR: unnamed prepared statement does<br>
> not exist<br>
> 2014-01-09 15:48:26.653 CET pool LOG: statement: COMMIT<br>
> 2014-01-09 15:48:26.731 CET pool LOG: statement: BEGIN<br>
> 2014-01-09 15:48:26.732 CET pool ERROR: unnamed prepared statement does<br>
> not exist<br>
> 2014-01-09 15:48:26.735 CET pool LOG: statement: COMMIT<br>
> 2014-01-09 15:48:26.743 CET pool LOG: statement: BEGIN<br>
> 2014-01-09 15:48:26.744 CET pool ERROR: unnamed prepared statement does<br>
> not exist<br>
> 2014-01-09 15:48:26.745 CET pool LOG: statement: COMMIT<br>
> 2014-01-09 15:48:26.747 CET pool LOG: statement: BEGIN<br>
> 2014-01-09 15:48:26.748 CET pool ERROR: unnamed prepared statement does<br>
> not exist<br>
> 2014-01-09 15:48:26.749 CET pool LOG: statement: COMMIT<br>
> 2014-01-09 15:48:26.753 CET pool LOG: statement: BEGIN<br>
> 2014-01-09 15:48:26.754 CET pool ERROR: unnamed prepared statement does<br>
> not exist<br>
> 2014-01-09 15:48:26.755 CET pool LOG: statement: COMMIT<br>
> 2014-01-09 15:48:26.757 CET pool LOG: statement: BEGIN<br>
> 2014-01-09 15:48:26.758 CET pool ERROR: unnamed prepared statement does<br>
> not exist<br>
> 2014-01-09 15:48:26.758 CET pool LOG: statement: COMMIT<br>
> 2014-01-09 15:48:26.763 CET pool LOG: statement: BEGIN<br>
> 2014-01-09 15:48:26.763 CET pool ERROR: unnamed prepared statement does<br>
> not exist<br>
> 2014-01-09 15:48:26.764 CET pool LOG: statement: COMMIT<br>
> 2014-01-09 15:48:26.766 CET pool LOG: statement: BEGIN<br>
> 2014-01-09 15:48:26.767 CET pool ERROR: unnamed prepared statement does<br>
> not exist<br>
> 2014-01-09 15:48:26.768 CET pool LOG: statement: COMMIT<br>
> 2014-01-09 15:48:26.779 CET pool LOG: statement: DISCARD ALL<br>
> 2014-01-09 15:48:28.625 CET LOG: connection received: host=pool port=35731<br>
> 2014-01-09 15:48:28.627 CET pool LOG: connection authorized: user=sensor<br>
> database=postgres<br>
> 2014-01-09 15:48:28.630 CET pool LOG: disconnection: session time:<br>
> 0:00:00.005 user=sensor database=postgres host=pool port=35731<br>
> 2014-01-09 15:48:38.645 CET LOG: connection received: host=pool port=35733<br>
> 2014-01-09 15:48:38.646 CET pool LOG: connection authorized: user=sensor<br>
> database=postgres<br>
> 2014-01-09 15:48:38.649 CET pool LOG: disconnection: session time:<br>
> 0:00:00.005 user=sensor database=postgres host=pool port=35733<br>
> 2014-01-09 15:48:48.665 CET LOG: connection received: host=pool port=35735<br>
> 2014-01-09 15:48:48.666 CET pool LOG: connection authorized: user=sensor<br>
> database=postgres<br>
> 2014-01-09 15:48:48.669 CET pool LOG: disconnection: session time:<br>
> 0:00:00.004 user=sensor database=postgres host=pool port=35735<br>
> 2014-01-09 15:48:58.688 CET LOG: connection received: host=pool port=35737<br>
><br>
> And slave logs :<br>
> 2014-01-09 15:48:26.556 CET pool LOG: execute <unnamed>: SET<br>
> extra_float_digits = 3<br>
> 2014-01-09 15:48:26.568 CET pool LOG: statement: DISCARD ALL<br>
> 2014-01-09 15:48:26.617 CET pool LOG: execute <unnamed>: SET<br>
> extra_float_digits = 3<br>
> 2014-01-09 15:48:26.778 CET pool LOG: statement: DISCARD ALL<br>
> 2014-01-09 15:48:28.628 CET LOG: connection received: host=pool port=51328<br>
> 2014-01-09 15:48:28.629 CET pool LOG: connection authorized: user=sensor<br>
> database=postgres<br>
> 2014-01-09 15:48:28.630 CET pool LOG: disconnection: session time:<br>
> 0:00:00.002 user=sensor database=postgres host=pool port=51328<br>
> 2014-01-09 15:48:38.648 CET LOG: connection received: host=pool port=51330<br>
> 2014-01-09 15:48:38.649 CET pool LOG: connection authorized: user=sensor<br>
> database=postgres<br>
> 2014-01-09 15:48:38.652 CET pool LOG: disconnection: session time:<br>
> 0:00:00.004 user=sensor database=postgres host=pool port=51330<br>
> 2014-01-09 15:48:48.667 CET LOG: connection received: host=pool port=51332<br>
> 2014-01-09 15:48:48.670 CET pool LOG: connection authorized: user=sensor<br>
> database=postgres<br>
> 2014-01-09 15:48:48.672 CET pool LOG: disconnection: session time:<br>
> 0:00:00.005 user=sensor database=postgres host=pool port=51332<br>
> 2014-01-09 15:48:58.689 CET LOG: connection received: host=pool port=51334<br>
> 2014-01-09 15:48:58.690 CET pool LOG: connection authorized: user=sensor<br>
> database=postgres<br>
> 2014-01-09 15:48:58.693 CET pool LOG: disconnection: session time:<br>
> 0:00:00.004 user=sensor database=postgres host=pool port=51334<br>
> 2014-01-09 15:49:08.709 CET LOG: connection received: host=pool port=51336<br>
> 2014-01-09 15:49:08.709 CET pool LOG: connection authorized: user=sensor<br>
> database=postgres<br>
> 2014-01-09 15:49:08.711 CET pool LOG: disconnection: session time:<br>
> 0:00:00.002 user=sensor database=postgres host=pool port=51336<br>
> 2014-01-09 15:49:18.731 CET LOG: connection received: host=pool port=51338<br>
> 2014-01-09 15:49:18.733 CET pool LOG: connection authorized: user=sensor<br>
> database=postgres<br>
> 2014-01-09 15:49:18.736 CET pool LOG: disconnection: session time:<br>
> 0:00:00.005 user=sensor database=postgres host=pool port=51338<br>
><br>
><br>
><br>
> 2014/1/9 Tatsuo Ishii <<a href="mailto:ishii@postgresql.org">ishii@postgresql.org</a>><br>
><br>
>> Denis,<br>
>><br>
>> >> I currently have no test-bed with a running pgpool, but maybe you<br>
>> >> could create a simple test case: open a JDBC connection (no polling,<br>
>> >> no protocol specified, straight JDBC) to the pgpool, and observe the<br>
>> >> log files on both back-ends. Tatsuo Ishii noted, that the pgpool<br>
>> >> status shows that both back-ends behave differently when the SET is<br>
>> >> executed. There might be something there.<br>
>> >><br>
>> ><br>
>> > The two servers are configured with the same parameters, except fot<br>
>> > replication of course, and wal archiving, not activated on slave. Is it<br>
>> > possible that the problem come from ?<br>
>><br>
>> I don't think so.<br>
>><br>
>> Can you show me PostgreSQL log when you face the problem? There must<br>
>> be a notice message in the log because pgpool-II detects notice<br>
>> ("N"). I think the key to solve the problem is the content of the<br>
>> message.<br>
>> --<br>
>> Tatsuo Ishii<br>
>> SRA OSS, Inc. Japan<br>
>> English: <a href="http://www.sraoss.co.jp/index_en.php" target="_blank">http://www.sraoss.co.jp/index_en.php</a><br>
>> Japanese: <a href="http://www.sraoss.co.jp" target="_blank">http://www.sraoss.co.jp</a><br>
>><br>
</div></div></blockquote></div><br></div>