Обсуждение: DBD::Pg requires at least protocol version 3.0
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
-----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-----
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
-----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-----