Обсуждение: DBD::Pg requires at least protocol version 3.0

Поиск
Список
Период
Сортировка

DBD::Pg requires at least protocol version 3.0

От
Lee Duynslager
Дата:
Hi I have no other alternative but to connect to an old version of postgres sever that uses protocol v 2, it might be v
6or 7, i have no control over that server, so i cant update it. 

What can i do to get perl to be able to Connect up to this old remote pg server?  I am running ubuntu 12.04.   With 8.4
postgresserver loaded. 



Thanks

LD

Re: DBD::Pg requires at least protocol version 3.0

От
"Greg Sabino Mullane"
Дата:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160


> Hi I have no other alternative but to connect to an old version of postgres sever
> that uses protocol v 2, it might be v 6 or 7, i have no control over that server,
> so i cant update it.
>
> What can i do to get perl to be able to Connect up to this old remote
> pg server?  I am running ubuntu 12.04.   With 8.4 postgres server loaded.

Where exactly is it failing? DBD::Pg can still talk to old server, but it is
very, very limited in what it can do. Your best option is probably to download
an old version of DBD::Pg. Find out what version of Postgres it is, then
visit CPAN and see what is available in about the same time frame as that
version of Postgres. DBD::Pg has downloads available all the way back to
version 1.10 in 2002. You may need to download an older version of Postgres
(libpq) to compile against as well.

- --
Greg Sabino Mullane greg@turnstep.com
End Point Corporation http://www.endpoint.com/
PGP Key: 0x14964AC8 201306082310
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----

iEYEAREDAAYFAlGz8m8ACgkQvJuQZxSWSsh7uACgyaZfQ+u0buTJAA3uwiFW+0dY
5JsAoKmpdYDTt8DLwbUJze5tUuWUuiVl
=QFzD
-----END PGP SIGNATURE-----




Re: DBD::Pg requires at least protocol version 3.0

От
l duynslager
Дата:
Hi Greg thanks for writing:

I know the server I am trying to connect to is not 7.4 or above.    All I
ever do with this old server is to run select queries.   The error happens
when I attempt to execute the select query.

I updated my distribution of ubuntu and I had this set up to use an older
version of DBD::Pg  which according to my records may've been 1.49-5.

I couldn't find that one from the CPAN site so I downloaded 1.32.

I got this when I tried to do make:

make
cp Pg.pm blib/lib/DBD/Pg.pm
/usr/bin/perl -p -e "s/~DRIVER~/Pg/g" /usr/lib/perl5/auto/DBI/Driver.xst >
Pg.xsi
/usr/bin/perl /usr/share/perl/5.14/ExtUtils/xsubpp  -typemap
/usr/share/perl/5.14/ExtUtils/typemap  Pg.xs > Pg.xsc && mv Pg.xsc Pg.c
cc -c  -I/usr/include/postgresql -I/usr/lib/perl5/auto/DBI -D_REENTRANT
-D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-DHAVE_PQescapeString -DHAVE_PQescapeBytea -DHAVE_PQunescapeBytea
-DHAVE_PQfreemem -O2 -g  -DPERL_EXTMALLOC_DEF -Dmalloc=Perl_malloc
-Dfree=Perl_mfree -Drealloc=Perl_realloc -Dcalloc=Perl_calloc
-DVERSION=\"1.32\" -DXS_VERSION=\"1.32\" -fPIC "-I/usr/lib/perl/5.14/CORE"
  Pg.c
Pg.xs: In function ŒXS_DBD__Pg__db_quote¹:
Pg.xs:95:8: warning: format Œ%i¹ expects argument of type Œint¹, but
argument 2 has type ŒIV¹ [-Wformat]
Pg.xs: In function ŒXS_DBD__Pg__db_lo_open¹:
Pg.xs:166:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs:166:59: note: each undeclared identifier is reported only once for
each function it appears in
Pg.xs: In function ŒXS_DBD__Pg__db_lo_close¹:
Pg.xs:173:52: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:173:62: error: Œsv_no¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_read¹:
Pg.xs:194:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_write¹:
Pg.xs:205:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_lseek¹:
Pg.xs:216:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_creat¹:
Pg.xs:225:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_tell¹:
Pg.xs:234:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_unlink¹:
Pg.xs:242:57: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:242:67: error: Œsv_no¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_import¹:
Pg.xs:251:53: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_export¹:
Pg.xs:260:67: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:260:77: error: Œsv_no¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_putline¹:
Pg.xs:269:32: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:269:42: error: Œsv_no¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_getline¹:
Pg.xs:287:32: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:287:42: error: Œsv_no¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_endcopy¹:
Pg.xs:294:47: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:294:57: error: Œsv_no¹ undeclared (first use in this function)
make: *** [Pg.o] Error 1
root@www:/home/lee/DBD-Pg-1.32# make  >> makefile.txt
Pg.xs: In function ŒXS_DBD__Pg__db_quote¹:
Pg.xs:95:8: warning: format Œ%i¹ expects argument of type Œint¹, but
argument 2 has type ŒIV¹ [-Wformat]
Pg.xs: In function ŒXS_DBD__Pg__db_lo_open¹:
Pg.xs:166:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs:166:59: note: each undeclared identifier is reported only once for
each function it appears in
Pg.xs: In function ŒXS_DBD__Pg__db_lo_close¹:
Pg.xs:173:52: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:173:62: error: Œsv_no¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_read¹:
Pg.xs:194:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_write¹:
Pg.xs:205:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_lseek¹:
Pg.xs:216:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_creat¹:
Pg.xs:225:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_tell¹:
Pg.xs:234:59: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_unlink¹:
Pg.xs:242:57: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:242:67: error: Œsv_no¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_import¹:
Pg.xs:251:53: error: Œsv_undef¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_lo_export¹:
Pg.xs:260:67: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:260:77: error: Œsv_no¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_putline¹:
Pg.xs:269:32: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:269:42: error: Œsv_no¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_getline¹:
Pg.xs:287:32: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:287:42: error: Œsv_no¹ undeclared (first use in this function)
Pg.xs: In function ŒXS_DBD__Pg__db_endcopy¹:
Pg.xs:294:47: error: Œsv_yes¹ undeclared (first use in this function)
Pg.xs:294:57: error: Œsv_no¹ undeclared (first use in this function)
make: *** [Pg.o] Error 1

Does that mean I am missing a certain version of a library?  Where could I
get that at?



Lee




Re: DBD::Pg requires at least protocol version 3.0

От
"Greg Sabino Mullane"
Дата:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160


> I got this when I tried to do make:
...
> Pg.xs:166:59: error: 'sv_undef' undeclared (first use in this function)

That indicates you do not have the Perl headers installed. Look
for something similar to "libperl-dev" via your packaging
system.

- --
Greg Sabino Mullane greg@turnstep.com
End Point Corporation http://www.endpoint.com/
PGP Key: 0x14964AC8 201308262204
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----

iEYEAREDAAYFAlIcCUQACgkQvJuQZxSWSsi2RgCfe4fu7R8/k9eAPWjigpmxWz/l
pNAAoMp1bJbDPsHsstSeouaj8SMqKOQ7
=ahT0
-----END PGP SIGNATURE-----