Обсуждение: psql and pg_dump using obselete copy commands
Should psql and pg_dump be upgraded to use the new v3 protocol copy functions if they are available, as they are currently using the deprecated API. Chris
Christopher Kings-Lynne wrote: > Should psql and pg_dump be upgraded to use the new v3 protocol copy > functions if they are available, as they are currently using the > deprecated API. We have been telling people to use newer pg_dump's on older servers, but we only support reloading into the current PostgreSQL version, so I see no reason not to updated it to the current syntax. We added the new syntax in 7.3. Added to TODO: o Update pg_dump to use the newer COPY syntax -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
> We have been telling people to use newer pg_dump's on older servers, but > we only support reloading into the current PostgreSQL version, so I see > no reason not to updated it to the current syntax. > > We added the new syntax in 7.3. > > Added to TODO: > > o Update pg_dump to use the newer COPY syntax I think you misunderstood me - all I think we should do is switch to using PQgetCopyData instead of PQgetline (deprecated) if the libpq pg_dump is built against has it. (And the protocol supports it.) Same for PQputCopyData vs. PQputline. Chris
Christopher Kings-Lynne wrote: > > We have been telling people to use newer pg_dump's on older servers, but > > we only support reloading into the current PostgreSQL version, so I see > > no reason not to updated it to the current syntax. > > > > We added the new syntax in 7.3. > > > > Added to TODO: > > > > o Update pg_dump to use the newer COPY syntax > > I think you misunderstood me - all I think we should do is switch to > using PQgetCopyData instead of PQgetline (deprecated) if the libpq > pg_dump is built against has it. (And the protocol supports it.) > > Same for PQputCopyData vs. PQputline. Oh, if we do that, do we disallow connecting to older servers? TODO item removed. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania19073
> Oh, if we do that, do we disallow connecting to older servers? Not at all, since the logic would be like this: if we have new copy functions and we have protocol version function and protocol version >= 3 then use new copyfunctions else use old copy functions That would be even simpler if someone would answer my question about the new copy functions working on a pre v3 server. (I'm setting up to test that atm) Chris
Christopher Kings-Lynne wrote:
> > Oh, if we do that, do we disallow connecting to older servers?
> 
> Not at all, since the logic would be like this:
> 
> if we have new copy functions
>    and we have protocol version function
>      and protocol version >= 3
>        then use new copy functions
> else
>    use old copy functions
> 
> That would be even simpler if someone would answer my question about the 
> new copy functions working on a pre v3 server.  (I'm setting up to test 
> that atm)
I just talked to Christopher via IM. He says the new fuctions work with
older server, and pg_dump always uses the libpq version that shipped
with that version (or a newer one) so we have for TODO added:
      o Update pg_dump and psql to use the new COPY libpq API
--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073