Re: postgresql-common: use latest version of pg_dump/restore - Mailing list pgsql-pkg-debian

From Christoph Berg
Subject Re: postgresql-common: use latest version of pg_dump/restore
Date
Msg-id ZE+Mg+Gd88J+E8N/@msg.df7cb.de
Whole thread Raw
In response to Re: postgresql-common: use latest version of pg_dump/restore  (Justin Pryzby <pryzby@telsasoft.com>)
List pgsql-pkg-debian
Re: Justin Pryzby
> Maybe I'm misundertanding your diagram - did you mean this ?
> 
> > source server version <= pg_dump <= pg_restore <= target server

Sorry, yes of course.

> I think you're considering the issue where pg_dump support is dropped
> for very old versions - that'd be something that's like ~10 years old.
> For example if someone has a pg9.1 server, and then installs pg15
> clients, which dropped support for v9.1.

If you use pg_dump X on an older version Y, it will still emit all the
SET commands that are applicable for version X:

-- Dumped from database version 9.3.25
-- Dumped by pg_dump version 16devel (Debian 16~~devel-1.pgdg+~20230428.1656.g81eaaf6)

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;

If you then try to feed that back to version Y, it will raise errors.

$ pg_dump -s | psql
SET
Zeit: 0,229 ms
SET
Zeit: 0,111 ms
FEHLER:  42704: unbekannter Konfigurationsparameter »idle_in_transaction_session_timeout«
ORT:  set_config_option, guc.c:5229

Christoph



pgsql-pkg-debian by date:

Previous
From: Juliana de los Ríos
Date:
Subject: ARM64 AND PGADMIN WITH POSTGRESQL
Next
From: Christoph Berg
Date:
Subject: Re: Ubuntu 18.04 Support