Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wVaqK-0024JQ-0J for pgsql-general@arkaria.postgresql.org; Fri, 05 Jun 2026 20:08:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wVaqI-00EPJa-35 for pgsql-general@arkaria.postgresql.org; Fri, 05 Jun 2026 20:08:34 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wVaqI-00EPJR-21 for pgsql-general@lists.postgresql.org; Fri, 05 Jun 2026 20:08:34 +0000 Received: from momjian.us ([72.94.173.45]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wVaqG-00000001I9d-2Vsn for pgsql-general@lists.postgresql.org; Fri, 05 Jun 2026 20:08:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=momjian.us; s=2026010100; h=In-Reply-To:Content-Transfer-Encoding:Content-Type: MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-ID:Content-Description; bh=qRpFzNHUGRsFUwG0+H8EHvT1nmD7nsgj8SrOz7qrYdU=; b=Ft0u1CCMhDoWs7ux/4UC8c2C7X fDsnEbFTi1i0YNRwkMO6RbGuiuamKWPS/IDDrdlj5tmdVIVJugrsRzPbUNiluwKUZrBG+iGClRrF+ +tJEyliY6at4F6q890QkDSpSZZk+RA6BZJaFHlHsbd4Rk5vI9Rbwajyk5K4A3J+Uhbr9QWrNK/qzP fqPUGJ0wBRvC2tI9X/dAExW8uBBgxCTXYgnztXvJ6coEgVC3USXK/x9Fbm7jCuucyGYSgIo4f9Lib VSAvIx6SglXQ7w4iuYzOVfXw2KuV7ZMZuDP3c2TmIvB1+qo2dUmdFGAWC4CsyyQYy8tvPDRKnt7QE 0A8xiPvQ==; Received: from bruce by momjian.us with local (Exim 4.98.2) (envelope-from ) id 1wVaqF-0000000Cw7l-0Dnf; Fri, 05 Jun 2026 16:08:31 -0400 Date: Fri, 5 Jun 2026 16:08:31 -0400 From: Bruce Momjian To: Boris =?utf-8?B?RG92xI3DrWs=?= Cc: pgsql-general@lists.postgresql.org Subject: Re: Postgres 12 update to new major version Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Fri, Jun 5, 2026 at 02:11:12PM +0200, Boris Dovčík wrote: > Hello all, > > I have a question regarding the update of the production database (multiple TB > of data) from version 12 to higher major version. We would like to jump to 15 > or 16. DB is installed on a Linux server with one replica on another, it is not > on cloud. > > First question is should we perform updates one by one? 12 -> 13 -> 14 etc. or > is it viable to jump to 16 right away? (We have few functions but usually its > plain tables) > > Second we are contemplating options for the update since we are limited with > downtime. We could get 4 hours of downtime for the whole update (either via > pg_update or dumps). We are not sure how to estimate the time for direct update > or dumps. What would be the recommended way for it? > > One option we see could be logical replication to the new major version on a > new machine, but we received feedback that in our setup it might not be > recommendable. Does it make sense to try logical replica? What would be the > downsides of it? I think you want this web page: https://www.postgresql.org/support/versioning/ -- Bruce Momjian https://momjian.us EDB https://enterprisedb.com Do not let urgent matters crowd out time for investment in the future.