Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lO2E1-0001YM-41 for pgsql-hackers@arkaria.postgresql.org; Sun, 21 Mar 2021 17:50:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lO2Dy-0005DK-K2 for pgsql-hackers@arkaria.postgresql.org; Sun, 21 Mar 2021 17:50:50 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lO2Dy-0005DB-D9 for pgsql-hackers@lists.postgresql.org; Sun, 21 Mar 2021 17:50:50 +0000 Received: from mail-qt1-x82f.google.com ([2607:f8b0:4864:20::82f]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1lO2Dw-0007Ur-8f for pgsql-hackers@postgresql.org; Sun, 21 Mar 2021 17:50:49 +0000 Received: by mail-qt1-x82f.google.com with SMTP id u7so10726380qtq.12 for ; Sun, 21 Mar 2021 10:50:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wi3ck-info.20150623.gappssmtp.com; s=20150623; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language; bh=e1ROZ7kWKFX6z4q7RX1XXhw8Nxxa64Fk5CkRlyFd9ns=; b=XrOnUODFYBk3xRJdkgGJi99cjrwjMwgtcV7RJArhTmc2YoDSz7Wd8BojyuR8In07GH k5wRgMlWymbxk/KWWhgrUGNh2EomD4sLz5XxQeycoKTaBmNf4+FIi+axWwHxqmHG3fwA 1FEbEzRuHcuqEBcQXBn61UwZ6fMeLt4FLBRU5YYmPMaoNuG6PP3d9FweLbRe+KhZKgbZ KBO1mhsHlME+ZIFE/Lb5ulzqV/gKkKd6BJmC9ID3SqRP4gLNZPeZD8jjy0WRAFWL8XpR sttbmeytiGFxBeDH5rUOx3oM9ujB4jt14QZFpCWNpfD5ZI+nrosuGFQ8RFN5X65kxLkf UfcQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=e1ROZ7kWKFX6z4q7RX1XXhw8Nxxa64Fk5CkRlyFd9ns=; b=gPVaLTldboTwkPoewlvemWwJ4/VYKj8f7ndIgRgEEiaktYCyR1TFOkx2Yp/moRQ57P GzieQ4OLLytIwmOtxNHU2Ew7V9ymWbsgXGcwoQ7/Kq/mVJtSoA0MEqGtujWEjBmcJun7 0nHRtEU9BqhPY3q5b4FRXlvH1uzEhxbLpoXADDGLInXGbvu7KNSVCoOL9HaLEm9k/ugI VI7Sr4cUM9LOIUsxZgbF9BmX4fNHXW6G101NyNgBt5LeYXce+OHuZ2sQleHh8N9A7Htr DvNvLhQFI+uZQa2yJ2fLVoJTrW68cg+mYEiNcDCO6qBeT6jlEfx2glTZG6FzfhdDaa9g LVKg== X-Gm-Message-State: AOAM533asEKQ2i96mjnl28GfFJonMlu1+MNjGS1ShGz3dy5Wba+vsmd5 OPbUUXGODfPP0N+D03yY/UUxMSe6wZ9WTz73 X-Google-Smtp-Source: ABdhPJzJnYMM9+qQa0RYn23hfIwKghS49TzUoStzNSUiRsQGC2I2kcnTTbSQN6+7K4jpY7ulJWYTlg== X-Received: by 2002:ac8:59d6:: with SMTP id f22mr6835707qtf.83.1616349046880; Sun, 21 Mar 2021 10:50:46 -0700 (PDT) Received: from jupiter.onmars.janwieck.no-ip.info (pool-98-114-241-134.phlapa.fios.verizon.net. [98.114.241.134]) by smtp.gmail.com with ESMTPSA id y9sm8916605qkm.19.2021.03.21.10.50.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 21 Mar 2021 10:50:46 -0700 (PDT) Subject: Re: Fix pg_upgrade to preserve datdba From: Jan Wieck To: Tom Lane Cc: Magnus Hagander , Robins Tharakan , Peter Eisentraut , "pgsql-hackers@postgresql.org" References: <1742698.1615221182@sss.pgh.pa.us> <1743618.1615222719@sss.pgh.pa.us> <4fbf92f2-ec91-f4fa-a259-f0968e34f3d7@wi3ck.info> <0b5d506d-70d2-1506-bbdf-89e6453c0289@wi3ck.info> <384713.1616345832@sss.pgh.pa.us> <2284b71d-af55-2625-f8c2-cedf1f1a70ca@wi3ck.info> Message-ID: Date: Sun, 21 Mar 2021 13:50:45 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.0 MIME-Version: 1.0 In-Reply-To: <2284b71d-af55-2625-f8c2-cedf1f1a70ca@wi3ck.info> Content-Type: multipart/mixed; boundary="------------405F13DB9E789D279F146CBA" Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------405F13DB9E789D279F146CBA Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 3/21/21 1:15 PM, Jan Wieck wrote: > On 3/21/21 12:57 PM, Tom Lane wrote: >> Jan Wieck writes: >>> On 3/20/21 12:39 AM, Jan Wieck wrote: >>>> On the way pg_upgrade also mangles the pg_database.datdba >>>> (all databases are owned by postgres after an upgrade; will submit a >>>> separate patch for that as I consider that a bug by itself). >> >>> Patch attached. >> >> Hmm, doesn't this lose all *other* database-level properties? >> >> I think maybe what we have here is a bug in pg_restore, its >> --create switch ought to be trying to update the database's >> ownership. > > Possibly. I didn't look into that route. Thanks for that. I like this patch a lot better. Regards, Jan -- Jan Wieck Principle Database Engineer Amazon Web Services --------------405F13DB9E789D279F146CBA Content-Type: text/x-patch; charset=UTF-8; name="pg_restore-preserve-datdba.v1.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="pg_restore-preserve-datdba.v1.diff" diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c index f8bec3f..19c1e71 100644 --- a/src/bin/pg_dump/pg_dump.c +++ b/src/bin/pg_dump/pg_dump.c @@ -3030,6 +3030,8 @@ dumpDatabase(Archive *fout) resetPQExpBuffer(creaQry); resetPQExpBuffer(delQry); + appendPQExpBuffer(creaQry, "ALTER DATABASE %s OWNER TO %s;\n", qdatname, dba); + if (strlen(datconnlimit) > 0 && strcmp(datconnlimit, "-1") != 0) appendPQExpBuffer(creaQry, "ALTER DATABASE %s CONNECTION LIMIT = %s;\n", qdatname, datconnlimit); --------------405F13DB9E789D279F146CBA--