Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dNG7K-00037a-Hw for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Jun 2017 10:10:38 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1dNG7J-0003Dw-6o for pgsql-hackers@arkaria.postgresql.org; Tue, 20 Jun 2017 10:10:37 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dNG7G-0003Cl-Gd for pgsql-hackers@postgresql.org; Tue, 20 Jun 2017 10:10:34 +0000 Received: from mail-lf0-x244.google.com ([2a00:1450:4010:c07::244]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1dNG7C-0002Fh-K2 for pgsql-hackers@postgresql.org; Tue, 20 Jun 2017 10:10:33 +0000 Received: by mail-lf0-x244.google.com with SMTP id n136so2354863lfn.2 for ; Tue, 20 Jun 2017 03:10:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=WxzlxRg6mil3XfA8Z0RDpsUEjaRixKE2TlZOLv4JPBM=; b=uANSXZgDpafmi9ttXGRRixA91FlM927As0IK10wMgX/dh72o8XSymilJQtEvly07jG zBIpjsFa6Ej3zYOUUHXp+SoHXnpVkLLlIZ3lJWcapblrlHv9FoTYkIKdK/i/795n4qdq ssdmJWjCNhfa+sQAc2hbVCLQvlCK4yKOMgXo+AKBy8V7c8R9OfKa4D9tH2Viqta/fLh3 y65MSScHS+r7J3M4T0nLSTTJRN3FUiVJiii6wYBoYcmyJ4Msn/AWjBQN+DCu17E5WSyx kQzsZ254Lw23n2raSYEjMGp0IGXT58EZuIvBBphpD9Bb/+ZHkSsfY/tj6vql01C08AMB 8KLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=WxzlxRg6mil3XfA8Z0RDpsUEjaRixKE2TlZOLv4JPBM=; b=DtB0d5pS3lPeqPO9+60z4hq6Z9wJa+AV0BQv+y0t/v+Qg3L94B0DT408Bc/QID1Dpa JbolWEgHzwTR1bR+/ziAz8kpNnTbxbuzqUEjid4O8ZZRhi1qOKxMJA7cGX1eEquZu0s6 fj77vVRVN3h2fA6ULyiM0hwzJuhIvCVUP0jYq637eFPEbDxh26vaxQXZo9nnBzRksEVK DfuRnJ3cJohqX5iWm7kCtidHFtYyvhDQgrE4aTZOJ1UxwThhPZIZINWvATB4SFdIMb5C 9aHgOyaOsnpd7SK3r1j6ee/thmK4e+4jlRrMTSqAvCIS/vk8AvxD6Xd2WBINU1p5Bl3O mLLA== X-Gm-Message-State: AKS2vOx0MoyUQK9irngNhYGSYiHqmsK/5N8UhsqJO46uEq38drUP3WqV +tPLCpT+WHWpxviLuFTVOw== X-Received: by 10.46.74.25 with SMTP id x25mr8374843lja.127.1497953428729; Tue, 20 Jun 2017 03:10:28 -0700 (PDT) Received: from seb.koffice.internal ([81.1.171.161]) by smtp.gmail.com with ESMTPSA id f72sm343348lfk.52.2017.06.20.03.10.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Jun 2017 03:10:27 -0700 (PDT) From: Sergey Burladyan To: Bruce Momjian Cc: PostgreSQL-development , Amit Kapila , Dmitriy Sarafannikov , Vladimir Borodin Subject: Re: Broken hint bits (freeze) References: <20170613193124.GQ13873@momjian.us> <87mv98af8j.fsf@seb.koffice.internal> <20170616164641.GP11450@momjian.us> <87fuezalc3.fsf@seb.koffice.internal> <20170619222113.GF3180@momjian.us> <20170620025919.GA28277@momjian.us> <20170620033726.GB28277@momjian.us> Date: Tue, 20 Jun 2017 13:10:26 +0300 In-Reply-To: <20170620033726.GB28277@momjian.us> (Bruce Momjian's message of "Mon, 19 Jun 2017 23:37:26 -0400") Message-ID: <87h8zb6kbx.fsf@seb.koffice.internal> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-hackers Precedence: bulk Sender: pgsql-hackers-owner@postgresql.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Bruce Momjian writes: > On Mon, Jun 19, 2017 at 10:59:19PM -0400, Bruce Momjian wrote: > > On Tue, Jun 20, 2017 at 03:50:29AM +0300, Sergey Burladyan wrote: > > > 20 =D0=B8=D1=8E=D0=BD. 2017 =D0=B3. 1:21 =D0=BF=D0=BE=D0=BB=D1=8C=D0= =B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8C "Bruce Momjian" =D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0=BB:=C2=A0 > > >=20 > > >=20 > > > We are saying that Log-Shipping should match "Latest checkpoint > > > location", but the WAL for that will not be sent to the standby, = so it > > > will not match, but that is OK since the only thing in the non-sh= ipped > > > WAL file is the checkpoint record.=C2=A0 How should we modify the= wording on > > > this? > > >=20 > > >=20 > > > I am afraid that without this checkpoint record standby cannot make > > > restartpoint > > > and without restartpoint it does not sync shared buffers into disk at > > > shutdown.=C2=A0 > >=20 > > Uh, as I understand it the rsync is going to copy the missing WAL file > > from the new master to the standby, right, and I think pg_controldata > > too, so it should be fine. Have you tested to see if it fails? It need old WAL files from old version for correct restore heap files. New WAL files from new version does not have this information. > The point is that we are checking the "Latest checkpoint location" to > make sure all the WAL was replayed. We are never going to start the > old standby server. Rsync is going to copy the missing/changed files. Only if missing/changed files changed in size, because rsync run with --size-only it does not copy changed files with same size. I have this test script and without copy_last_wal it make standby broken in the first few loops, like: =3D=3D=3D run 1, cnt: 700000 =3D=3D=3D run 2, cnt: 729450 PS: I think what with big shared_buffers I can make it broken more quickly, but with big shared_buffers I cannot break it at all, hm... --=20 Sergey Burladyan --=-=-= Content-Type: application/x-sh Content-Disposition: attachment; filename=test_rsync.sh Content-Transfer-Encoding: base64 IyEvYmluL2Jhc2gKCldEPSQocmVhZGxpbmsgLWYgLi90ZXN0KQpQRzkyX0JJ Tj1+L2luc3QvcGc5LjIvYmluClBHOTRfQklOPX4vaW5zdC9wZzkuNC9iaW4K CmV4cG9ydCBMQ19BTEw9QwpleHBvcnQgUEdEQVRBQkFTRT10ZXN0CgpbWyAi JFdEIiBdXSB8fCBleGl0IDEKY2QgIiRXRCIgfHwgZXhpdCAxCgp0cnlfcnVu ICgpCnsKICAgIGV4ZWMgMz4mMSA0PiYyCiAgICBleGVjID4gbG9nZmlsZSAy PiYxCgogICAgZWNobyAiaW5pdCIgPiY0CgogICAgbWtkaXIgbSBzIHcKCiAg ICAiJFBHOTJfQklOIi9pbml0ZGIgLUEgdHJ1c3QgLUUgVVRGLTggLS1sb2Nh bGU9QyBtLzkuMiB8fCBleGl0IDEKICAgICIkUEc5NF9CSU4iL2luaXRkYiAt QSB0cnVzdCAtRSBVVEYtOCAtLWxvY2FsZT1DIG0vOS40IHx8IGV4aXQgMQoK ICAgIGNhdCA8PEVPRiA+IG0vOS4yL3Bvc3RncmVzcWwuY29uZgpwb3J0ID0g NTQzMApzaGFyZWRfYnVmZmVycyA9IDMyTUIKd2FsX2xldmVsID0gaG90X3N0 YW5kYnkKIyBzaGFyZWRfYnVmZmVycyA9IDUxMk1CCiMgY2hlY2twb2ludF9z ZWdtZW50cyA9IDMwCiMgY2hlY2twb2ludF90aW1lb3V0ID0gMTVtaW4KIyBj aGVja3BvaW50X2NvbXBsZXRpb25fdGFyZ2V0ID0gMS4wCmFyY2hpdmVfbW9k ZSA9IG9uCmFyY2hpdmVfY29tbWFuZCA9ICd0ZXN0ICEgLWYgIiRXRC93LyVm IiAmJiBjcCAlcCAiJFdEL3cvJWYiJwptYXhfd2FsX3NlbmRlcnMgPSA1Cmhv dF9zdGFuZGJ5ID0gb24KbG9nX2xpbmVfcHJlZml4ID0gJyV0ICcKbG9nX2No ZWNrcG9pbnRzID0gb24KbGNfbWVzc2FnZXMgPSBDCmF1dG92YWN1dW0gPSBv ZmYKRU9GCiAgICBjYXQgPDxFT0YgPj4gbS85LjIvcGdfaGJhLmNvbmYKbG9j YWwgICByZXBsaWNhdGlvbiAgICAgYWxsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0cnVzdApob3N0ICAgIHJlcGxpY2F0aW9uICAgICBhbGwg ICAgICAgIDEyNy4wLjAuMS8zMiAgICAgICAgICAgIHRydXN0Cmhvc3QgICAg cmVwbGljYXRpb24gICAgIGFsbCAgICAgICAgOjoxLzEyOCAgICAgICAgICAg ICAgICAgdHJ1c3QKRU9GCgogICAgY3AgbS85LjIvcG9zdGdyZXNxbC5jb25m IG0vOS40L3Bvc3RncmVzcWwuY29uZgogICAgY3AgbS85LjIvcGdfaGJhLmNv bmYgbS85LjQvcGdfaGJhLmNvbmYKCiAgICBlY2hvICJzdGFydCBtYXN0ZXIg OS4yIiA+JjQKCiAgICAiJFBHOTJfQklOIi9wZ19jdGwgLXcgLUQgbS85LjIg LWwgbG9nZmlsZS5tLjkyIHN0YXJ0IHx8IGV4aXQgMQoKICAgIGVjaG8gImJh c2UgYmFja3VwIiA+JjQKCiAgICAiJFBHOTJfQklOIi9wZ19iYXNlYmFja3Vw IC1wIDU0MzAgLWMgZmFzdCAtWCBzdHJlYW0gLUQgcy85LjIvIHx8IGV4aXQg MQogICAgY2F0IDw8RU9GID4+IHMvOS4yL3Bvc3RncmVzcWwuY29uZgpwb3J0 ID0gNTQzMQpFT0YKICAgIGNhdCA8PEVPRiA+IHJlY292ZXJ5LmNvbmYKcmVz dG9yZV9jb21tYW5kID0gJ2NwICIkV0Qvdy8lZiIgJXAnCnN0YW5kYnlfbW9k ZSA9IG9uCkVPRgogICAgY3Agcy85LjIvcG9zdGdyZXNxbC5jb25mIHNiX3Bv c3RncmVzcWwuY29uZgogICAgY3AgcmVjb3ZlcnkuY29uZiBzLzkuMi9yZWNv dmVyeS5jb25mCgogICAgZWNobyAic3RhcnQgc3RhbmRieSA5LjIiID4mNAoK ICAgICIkUEc5Ml9CSU4iL3BnX2N0bCAtdyAtRCBzLzkuMiAtbCBsb2dmaWxl LnMuOTIgc3RhcnQgfHwgZXhpdCAxCgogICAgIwogICAgIiRQRzkyX0JJTiIv cHNxbCAtWCAtcSAtcCA1NDMwIC1kIHBvc3RncmVzIC1jICdjcmVhdGUgZGF0 YWJhc2UgdGVzdCcKICAgICIkUEc5Ml9CSU4iL3BzcWwgLVggLXEgLXAgNTQz MCAtZi0gPDxFT0YKY3JlYXRlIHRhYmxlIHRlc3QgKGlkIGludCBwcmltYXJ5 IGtleSwgdiB0ZXh0KTsKaW5zZXJ0IGludG8gdGVzdCBzZWxlY3QgbiwgJ3Ro aXMgaXMgbG9uZyBsaW5lIGZvciBmaWxsIHRhYmxlLCBsaW5lIG51bWJlciAn IHx8IG4gZnJvbSBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAwMDAwMCkgbjsKLS0g dmFjdXVtIGFuYWx5emUgdGVzdDsKc2VsZWN0IHBnX2N1cnJlbnRfeGxvZ19p bnNlcnRfbG9jYXRpb24oKTsKRU9GCgogICAgZWNobyAicnVuIERFTEVURSIg PiY0CgogICAgIyBzb21lIHRyYW5zYWN0aW9ucwogICAgZm9yICgoIGkgPSAz MDA7IGkgPD0gMzAwMDAwOyBpICs9IDMwMCApKTsgZG8KICAgICAgICAiJFBH OTJfQklOIi9wc3FsIC1YIC1xIC1wIDU0MzAgLWMgImRlbGV0ZSBmcm9tIHRl c3Qgd2hlcmUgaWQgPD0gJGkiCiAgICBkb25lCiAgICAiJFBHOTJfQklOIi9w c3FsIC1YIC1xIC1wIDU0MzAgLWMgJ3NlbGVjdCBwZ19jdXJyZW50X3hsb2df aW5zZXJ0X2xvY2F0aW9uKCknCgogICAgbHNuPSQoIiRQRzkyX0JJTiIvcHNx bCAtWCAtQXQgLXEgLXAgNTQzMCAtYyAnc2VsZWN0IHBnX2N1cnJlbnRfeGxv Z19pbnNlcnRfbG9jYXRpb24oKScpCgogICAgZWNobyAic3RvcCBtYXN0ZXIg OS4yIiA+JjQKCiAgICAiJFBHOTJfQklOIi9wZ19jdGwgLXcgLUQgbS85LjIg c3RvcCB8fCBleGl0IDEKCiAgICBlY2hvICJ3YWl0IGZvciBzdGFuZGJ5IGNh dGNoIHVwIG1hc3RlcjogJGxzbiIgPiY0CiAgICBkaWZmPS0xCiAgICB3aGls ZSBbWyAiJGRpZmYiIC1sdCAwIF1dOyBkbwogICAgICAgIHNsZWVwIDE7CiAg ICAgICAgZGlmZj0kKCIkUEc5Ml9CSU4iL3BzcWwgLVggLUF0IC1xIC1wIDU0 MzEgLWMgInNlbGVjdCBwZ194bG9nX2xvY2F0aW9uX2RpZmYocGdfbGFzdF94 bG9nX3JlcGxheV9sb2NhdGlvbigpLCAnJGxzbicpIikKICAgICAgICBlY2hv ICJkaWZmOiAkZGlmZiIgPiY0CiAgICBkb25lCgogICAgI2NvcHlfbGFzdF93 YWwKCiAgICBlY2hvICJzdG9wIHN0YW5kYnkgOS4yIiA+JjQKCiAgICAiJFBH OTJfQklOIi9wZ19jdGwgLXcgLUQgcy85LjIgc3RvcCB8fCBleGl0IDEKCiAg ICAjIGNoZWNrIHJlc3RhcnRwb2ludCwgaXQgaXMgbm90IGVxdWFsIHRvIG1h c3RlciBzaHV0ZG93bgogICAgZ3JlcCAncmVjb3ZlcnkgcmVzdGFydCBwb2lu dCBhdFx8cmVzdG9yZWQgbG9nIGZpbGUnIGxvZ2ZpbGUucy45MgoKICAgICMg Y29tcGFyZSBjaGVja3BvaW50IGxvY2F0aW9uCiAgICBwciAtbSAtdCAtdyAx NDAgPCgiJFBHOTJfQklOIi9wZ19jb250cm9sZGF0YSBtLzkuMi8pIDwoIiRQ RzkyX0JJTiIvcGdfY29udHJvbGRhdGEgcy85LjIvKSA+IGNvbnRyb2xkYXRh LmJlZm9yZV91cGdyYWRlCiAgICBsZXNzIC14OCBjb250cm9sZGF0YS5iZWZv cmVfdXBncmFkZSB8IGdyZXAgY2hlY2twb2ludFxcXHxNaW5pbXVtCgogICAg IyB0YXIgLUMgLi4gLWNmIC0gLS1leGNsdWRlPWJlZm9yZS50YXIuYnoyIHRl c3QgfCBwYnppcDIgPiBiZWZvcmUudGFyLmJ6MgoKICAgICMgdXBncmFkZQoK ICAgIGVjaG8gInJ1biB1cGdyYWRlIiA+JjQKCiAgICAiJFBHOTRfQklOIi9w Z191cGdyYWRlIC1iICIkUEc5Ml9CSU4iIC1CICIkUEc5NF9CSU4iIC1kIG0v OS4yIC1EIG0vOS40IC1rIC1jIHx8IGV4aXQgMQoKICAgICIkUEc5NF9CSU4i L3BnX3VwZ3JhZGUgLWIgIiRQRzkyX0JJTiIgLUIgIiRQRzk0X0JJTiIgLWQg bS85LjIgLUQgbS85LjQgLWsgfHwgZXhpdCAxCgogICAgZWNobyAicmVzZXQg d2FsX2xldmVsIiA+JjQKICAgICIkUEc5NF9CSU4iL3BnX2N0bCAtdyAtRCBt LzkuNCAtbCBsb2dmaWxlLm0uOTQgc3RhcnQgfHwgZXhpdCAxCiAgICAiJFBH OTRfQklOIi9wZ19jdGwgLXcgLUQgbS85LjQgc3RvcCB8fCBleGl0IDEKCiAg ICBwcyBheHUgfCBncmVwIHBvc3RncmVzCgogICAgcnN5bmMgLXEgLXYgLWkg LS1hcmNoaXZlIC0tZGVsZXRlIC0taGFyZC1saW5rcyAtLXNpemUtb25seSBt LzkuMiBtLzkuNCBzIC0tbG9nLWZpbGUgcnN5bmMubG9nCgogICAgIyByZXN0 b3JlIHJlY292ZXJ5LmNvbmYgYW5kIHBvc3RncmVzcWwuY29uZgogICAgY3Ag cmVjb3ZlcnkuY29uZiBzLzkuNC9yZWNvdmVyeS5jb25mCiAgICBjcCBzYl9w b3N0Z3Jlc3FsLmNvbmYgcy85LjQvcG9zdGdyZXNxbC5jb25mCgogICAgZWNo byAic3RhcnQgc3RhbmRieSA5LjQiID4mNAoKICAgICIkUEc5NF9CSU4iL3Bn X2N0bCAtdyAtRCBzLzkuNCAtbCBsb2dmaWxlLnMuOTQgc3RhcnQgfHwgZXhp dCAxCgogICAgIyBjb3VudAoKICAgICIkUEc5NF9CSU4iL3BzcWwgLVggLWUg LXAgNTQzMSAtZi0gPDxFT0YKZXhwbGFpbiBzZWxlY3QgY291bnQoMSkgZnJv bSB0ZXN0OwpzZWxlY3QgcGdfbGFzdF94bG9nX3JlcGxheV9sb2NhdGlvbigp OwpFT0YKCiAgICBjbnQ9JCgiJFBHOTRfQklOIi9wc3FsIC1YIC1BdCAtcSAt cCA1NDMxIC1jICdzZWxlY3QgY291bnQoMSkgZnJvbSB0ZXN0JykKICAgIGVj aG8gIiRjbnQiID4mMwogICAgZWNobyAiY291bnQ6ICRjbnQiCgogICAgZWNo byAic3RvcCBzdGFuZGJ5IDkuNCIgPiY0CgogICAgIiRQRzk0X0JJTiIvcGdf Y3RsIC13IC1EIHMvOS40IHN0b3AgfHwgZXhpdCAxCgogICAgZXhlYyAxPiYz IDI+JjQKfQoKY29weV9sYXN0X3dhbCAoKQp7CiAgICBlY2hvICJmaXhpbmcg KHNlbmQgbGFzdCBXQUwgdG8gYXJjaGl2ZSkgLi4uIiA+JjQKCiAgICBsb2Nh bCByX2xzbj0kKCIkUEc5Ml9CSU4iL3BnX2NvbnRyb2xkYXRhIG0vOS4yLyB8 IGdyZXAgJ0xhdGVzdCBjaGVja3BvaW50IGxvY2F0aW9uOicgfCByZXYgfCBh d2sgJ3sgcHJpbnQgJDEgfScpCiAgICBsb2NhbCBsc249JChyZXYgPDw8ICIk cl9sc24iKQoKICAgIGxvY2FsIHRsPTAwMDAwMDAxCiAgICBsb2NhbCBvZmY9 JChJRlM9LyByZWFkIC1yIHJfb2ZmIHRtcCA8PDwgIiRyX2xzbiI7IHJldiA8 PDwgIiR7cl9vZmY6Nn0iKQogICAgbG9jYWwgc2VnPSQoSUZTPS8gcmVhZCAt ciB0bXAgcl9zZWcgPDw8ICIkcl9sc24iOyByZXYgPDw8ICIkcl9zZWciKQog ICAgbG9jYWwgd2FsPSIkKHByaW50ZiAiJThzJThzJThzIiAkdGwgJHNlZyAk b2ZmKSIKICAgIHdhbD0ke3dhbC8vIC8wfQoKICAgIGVjaG8gIm5lZWQgV0FM OiAnJHdhbCciID4mNAogICAgIyBkbyBub3Qgc3RhcnQgb2xkIG1hc3RlciBh ZnRlciB0aGF0CiAgICBjcCAtbiBtLzkuMi9wZ194bG9nLyIkd2FsIiAiJFdE Ii93LwoKICAgIGVjaG8gIndhaXQgaXQgcmVwbGF5IC4uLiIgPiY0CgogICAg bG9jYWwgZGlmZj0tMQogICAgd2hpbGUgW1sgIiRkaWZmIiAtbHQgMCBdXTsg ZG8KICAgICAgICBzbGVlcCAxOwogICAgICAgID4mNCAiJFBHOTJfQklOIi9w c3FsIC1YIC1BdCAtcSAtcCA1NDMxIC1jIFwKICAgICAgICAgICAgInNlbGVj dCBwZ19sYXN0X3hsb2dfcmVwbGF5X2xvY2F0aW9uKCksICckbHNuJywgcGdf eGxvZ19sb2NhdGlvbl9kaWZmKHBnX2xhc3RfeGxvZ19yZXBsYXlfbG9jYXRp b24oKSwgJyRsc24nKSIKICAgICAgICBkaWZmPSQoIiRQRzkyX0JJTiIvcHNx bCAtWCAtQXQgLXEgLXAgNTQzMSAtYyAic2VsZWN0IHBnX3hsb2dfbG9jYXRp b25fZGlmZihwZ19sYXN0X3hsb2dfcmVwbGF5X2xvY2F0aW9uKCksICckbHNu JykiKQogICAgICAgIGVjaG8gImRpZmY6ICRkaWZmIiA+JjQKICAgIGRvbmUg ICAgCn0KCmxvb3BzPTAKd2hpbGUgdHJ1ZTsgZG8KICAgIHJtIC1yIG0gcyB3 IGxvZ2ZpbGUuKiBjb250cm9sZGF0YS4qIGFuYWx5emVfbmV3X2NsdXN0ZXIu c2ggZGVsZXRlX29sZF9jbHVzdGVyLnNoIHJlY292ZXJ5LmNvbmYgcnN5bmMu bG9nIGxvZ2ZpbGUgc2JfcG9zdGdyZXNxbC5jb25mCgogICAgbGV0IGxvb3Bz KysKICAgIGNudD0kKHRyeV9ydW4pIHx8IGV4aXQgMQogICAgZWNobyAiPT09 IHJ1biAkbG9vcHMsIGNudDogJGNudCIKICAgIGlmIFtbICRjbnQgPSAnNzAw MDAwJyBdXTsgdGhlbgogICAgICAgIDo7CiAgICBlbHNlCiAgICAgICAgYnJl YWsKICAgIGZpCmRvbmUK --=-=-= Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers --=-=-=--