No subject


Sun Nov 18 18:09:07 JST 2012


I have the same problem when I try it with python: (this shows better what
I mean)

>>> import pyodbc>>> conn = pyodbc.connect('DSN=PostgreSQL')>>> cursor=conn.cursor()>>> query = "INSERT INTO table foo () values (), ()">>> cursor.execute(query)<pyodbc.Cursor object at 0x7f52858e2f30>>>> conn.commit()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('HY000', 'The driver did not supply an error!')>>>
cursor.execute(query)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
pyodbc.Error: ('08S01', '[08S01] Could not send Query(connection
dead);\nCould not send Query(connection dead) (26) (SQLExecDirectW)')


Is there a way we can get around that?

This script works great when we connect to postgres without going through
pgpool.

wkr,
Bert

--e89a8ff2535c5c331404d3dfb813
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div><div>Hello, <br><br></div>We are currently migra=
ting from db2 to postgres. Our setup is quite simple: we have one tool that=
 reads (reporting service), and only 2 tools that write.=C2=A0 This means t=
hat we&#39;ll never get in the situation where we have &gt;20 connections t=
o the db at the same time. <br>
But because our sql statements are sometimes very complicated we have set u=
p postgres with streaming replication, and placed pgpool in front. <br><br>=
</div>pgpool really works good for read-only cursors: our reporting system =
works great, and connections are send to both server.<br>
However we have a problem with our ETL system.<br>From the moment it starts=
 writing data it fails. <br><br></div>I have the same problem when I try it=
 with python: (this shows better what I mean)<br><pre style class=3D""><cod=
e><span class=3D"">&gt;&gt;&gt;</span><span class=3D""> import pyodbc
</span><span class=3D"">&gt;&gt;&gt;</span><span class=3D""> conn </span><s=
pan class=3D"">=3D</span><span class=3D""> pyodbc</span><span class=3D"">.<=
/span><span class=3D"">connect</span><span class=3D"">(</span><span class=
=3D"">&#39;DSN=3DPostgreSQL&#39;</span><span class=3D"">)</span><span class=
=3D"">
</span><span class=3D"">&gt;&gt;&gt;</span><span class=3D""> </span><span c=
lass=3D"">cursor</span><span class=3D"">=3D</span><span class=3D"">conn</sp=
an><span class=3D"">.</span><span class=3D"">cursor</span><span class=3D"">=
()</span><span class=3D"">
</span><span class=3D"">&gt;&gt;&gt;</span><span class=3D""> query </span><=
span class=3D"">=3D</span><span class=3D""> </span><span class=3D"">&quot;I=
NSERT INTO table foo () values (), ()&quot;</span><span class=3D"">
</span><span class=3D"">&gt;&gt;&gt;</span><span class=3D""> </span><span c=
lass=3D"">cursor</span><span class=3D"">.</span><span class=3D"">execute</s=
pan><span class=3D"">(</span><span class=3D"">query</span><span class=3D"">=
)</span><span class=3D"">
</span><span class=3D"">&lt;</span><span class=3D"">pyodbc</span><span clas=
s=3D"">.</span><span class=3D"">Cursor</span><span class=3D""> object at </=
span><span class=3D"">0x7f52858e2f30</span><span class=3D"">&gt;</span><spa=
n class=3D"">
</span><span class=3D"">&gt;&gt;&gt;</span><span class=3D""> conn</span><sp=
an class=3D"">.</span><span class=3D"">commit</span><span class=3D"">()</sp=
an><span class=3D"">
Traceback </span><span class=3D"">(</span><span class=3D"">most recent call=
 last</span><span class=3D"">):</span><span class=3D"">
  </span><span class=3D"">File</span><span class=3D""> </span><span class=
=3D"">&quot;&lt;stdin&gt;&quot;</span><span class=3D"">,</span><span class=
=3D""> line </span><span class=3D"">1</span><span class=3D"">,</span><span =
class=3D""> </span><span class=3D"">in</span><span class=3D""> </span><span=
 class=3D"">&lt;</span><span class=3D"">module</span><span class=3D"">&gt;<=
/span><span class=3D"">
pyodbc</span><span class=3D"">.</span><span class=3D"">Error</span><span cl=
ass=3D"">:</span><span class=3D""> </span><span class=3D"">(</span><span cl=
ass=3D"">&#39;HY000&#39;</span><span class=3D"">,</span><span class=3D""> <=
/span><span class=3D"">&#39;The driver did not supply an error!&#39;</span>=
<span class=3D"">)</span><span class=3D"">
</span><span class=3D"">&gt;&gt;&gt;</span><span class=3D""> </span><span c=
lass=3D"">cursor</span><span class=3D"">.</span><span class=3D"">execute</s=
pan><span class=3D"">(</span><span class=3D"">query</span><span class=3D"">=
)</span><span class=3D"">
Traceback </span><span class=3D"">(</span><span class=3D"">most recent call=
 last</span><span class=3D"">):</span><span class=3D"">
  </span><span class=3D"">File</span><span class=3D""> </span><span class=
=3D"">&quot;&lt;stdin&gt;&quot;</span><span class=3D"">,</span><span class=
=3D""> line </span><span class=3D"">1</span><span class=3D"">,</span><span =
class=3D""> </span><span class=3D"">in</span><span class=3D""> </span><span=
 class=3D"">&lt;</span><span class=3D"">module</span><span class=3D"">&gt;<=
/span><span class=3D"">
pyodbc</span><span class=3D"">.</span><span class=3D"">Error</span><span cl=
ass=3D"">:</span><span class=3D""> </span><span class=3D"">(</span><span cl=
ass=3D"">&#39;08S01&#39;</span><span class=3D"">,</span><span class=3D""> <=
/span><span class=3D"">&#39;[08S01] Could not send Query(connection dead);\=
nCould not send Query(connection dead) (26) (SQLExecDirectW)&#39;</span><sp=
an class=3D"">)<br>
<br></span></code></pre><br><div><div>Is there a way we can get around that=
? <br><br></div><div>This script works great when we connect to postgres wi=
thout going through pgpool.<br><br>wkr,<br>Bert<br></div></div></div>

--e89a8ff2535c5c331404d3dfb813--


More information about the pgpool-general mailing list