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 1x66yR-0002DZ-0g for pgsql-general@arkaria.postgresql.org; Mon, 14 Sep 2026 13:43:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1x66yQ-00D9Em-1e for pgsql-general@arkaria.postgresql.org; Mon, 14 Sep 2026 13:43:54 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with utf8esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1x66yP-00D9Ec-34 for pgsql-general@lists.postgresql.org; Mon, 14 Sep 2026 13:43:54 +0000 Received: from rex-mailout.bayern.de ([193.34.207.154]) by makus.postgresql.org with utf8esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1x66yM-000000001V6-1s2S for pgsql-general@lists.postgresql.org; Mon, 14 Sep 2026 13:43:53 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=bayern.de; i=@bayern.de; s=cc-yang; t=1789393430; x=1804945430; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-type:content-transfer-encoding: mime-version; bh=wcDhakrOnNQW+i8qiIJ4tys86eW7omjipCX+6KaFgfI=; b=ob6y43AlCGlOA4jqDE+FRMrULAS4c6YiKOOGJMUUg5se25DRn/2GD0us WFhET0Y/7h2nHoDEs07YoiFlm+RWGg75v5cbIWngG84AgrN5NyKqisHsm LFoy6bil0Z+28FAucABwHABDxwJtm+umdt/Ppf98w4o3l2UbF4an8pxh2 AkGWhf2OgxVyIKcyq+ZOTc1qApEJUswBei8nZHMTYBqkv6oIKHOrUj8dE VvdLMLZz2nRrT8hUXDiy/gLih9l9/XCiTz/qsqSW6kjQM4gb9qINapEQ3 8phrwQWpwsYt8mt1b+rQ7eMb0ahbHHY/QmLL9S1h8CpvrYy+angxtnj7e A==; X-CSE-ConnectionGUID: h54xEa+8SYOdVLtgyH+hZQ== X-CSE-MsgGUID: OI8sTl1kQNaVwyXzQUXvfg== Received: from unknown (HELO rin140.bayern.de) ([10.197.20.140]) by rex135.bayern.de with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 14 Sep 2026 15:43:45 +0200 X-CSE-ConnectionGUID: gxUYyBuaQ5yYmraY/77MKQ== X-CSE-MsgGUID: jzW8GT7aQWyXAj8Otp42cQ== X-Talos-CUID: =?us-ascii?q?9a23=3Aj8Bc/Go9Dhj7cd6sDp2F+oTmUc81T0zM5mrZGhK?= =?us-ascii?q?pOGNzQYzSFgC125oxxg=3D=3D?= X-Talos-MUID: =?us-ascii?q?9a23=3A13rmKw4IcpcVyX1zEIdFXP6sxoxq8Zv+J3xSmKw?= =?us-ascii?q?5qvmtN3xXJy/B1j+OF9o=3D?= X-BYBN-routing: post Received: from zmx-ej2-p25850.max.bayern.de ([10.173.241.200]) by rin140.bayern.de with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Sep 2026 15:43:45 +0200 Received: from ZMX-EJ2-P25850.max.bayern.de (10.173.241.200) by ZMX-EJ2-P25850.max.bayern.de (10.173.241.200) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Mon, 14 Sep 2026 15:43:45 +0200 Received: from ZMX-EJ2-P25850.max.bayern.de ([10.173.241.200]) by ZMX-EJ2-P25850.max.bayern.de ([10.173.241.200]) with mapi id 15.02.2562.046; Mon, 14 Sep 2026 15:43:45 +0200 From: =?utf-8?B?RsOkcmJlciwgRnJhbnotSm9zZWYgKFN0TVVLKQ==?= To: Graham Leggett CC: Daniel Gustafsson , "pgsql-general@lists.postgresql.org" , Manuel Reyes Bravo Subject: AW: Does postgresql have a diff tool? Thread-Topic: Does postgresql have a diff tool? Thread-Index: AQHdREidVxiZdqeQGkSaCN28jmFdNrbOE/jQ Date: Mon, 14 Sep 2026 13:43:45 +0000 Message-ID: <4838de309b6e457886e1ec72ddaf2ae3@stmuk.bayern.de> References: <664C4448-A661-497B-930D-FD920BAB730D@sharp.fm> <09FBA303-3222-4BC6-8D6A-D3FADB888C86@yesql.se> In-Reply-To: Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.171.65.1] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk SGkgR3JhaGFtLA0KDQpjb25jZXJuaW5nIHRoZSBub24tZGV0ZXJtaW5pc3RpYyBDT1BZIGJsb2Nr cyBpbnNpZGUgdGhlIER1bXA6DQoNCkkgdXNlIHRoZSBmb2xsb3dpbmcgYmFzaCBmdW5jdGlvbiAv IGF3ayBzY3JpcHQgdG8gZ2V0IGEgZGV0ZXJtaW5pc3RpYyBvcmRlcjoNCg0KZnVuY3Rpb24gc29y dF9wZ19jb3B5X3N0YXRlbWVudHMoKSB7DQoJbG9jYWwgQVdLU0NSSVBUPScNCgkJQkVHSU4gew0K CQkJIyBlZmZlY3RpdmVseSBkaXNhYmxlIGZpZWxkIHNlcGFyYXRvcjoNCgkJCUZTPSJcbiINCgkJ CVBST0NJTkZPWyJzb3J0ZWRfaW4iXSA9ICJAaW5kX3N0cl9hc2MiDQoJCX0NCgkJL15cXFwuLyB7 DQoJCQlpbl9jb3B5X3N0bXQgPSAwDQoJCQlmb3IgKGkgaW4gYSkNCgkJCQlwcmludCBhW2ldDQoJ CQlkZWxldGUgYQ0KCQl9DQoJCWluX2NvcHlfc3RtdCB7DQoJCQlhWyQwXT0kMA0KCQl9DQoJCSFp bl9jb3B5X3N0bXQgew0KCQkJcHJpbnQgJDANCgkJfQ0KCQkvXkNPUFkgLyB7DQoJCQlpbl9jb3B5 X3N0bXQgPSAxDQoJCX0nDQoNCgljYXQgfCBhd2sgIiRBV0tTQ1JJUFQiDQp9DQoNCg0KVXNlIGl0 IGxpa2UgdGhpczoNCg0KcGdfZHVtcCAtLXlvdXIgLS1wYXJhbXMgfCBzb3J0X3BnX2NvcHlfc3Rh dGVtZW50cw0KDQoNClJlZ2FyZHMsDQpGcmFuei1Kb3NlZiBGw6RyYmVyDQoNCi0tLS0tVXJzcHLD vG5nbGljaGUgTmFjaHJpY2h0LS0tLS0NClZvbjogTWFudWVsIFJleWVzIEJyYXZvIDxtYW51ZWxy ZXllc2JyYXZvQGdtYWlsLmNvbT4gDQpHZXNlbmRldDogTW9udGFnLCAxNC4gU2VwdGVtYmVyIDIw MjYgMTQ6NTYNCkFuOiBHcmFoYW0gTGVnZ2V0dCA8bWluZnJpbkBzaGFycC5mbT4NCkNjOiBEYW5p ZWwgR3VzdGFmc3NvbiA8ZGFuaWVsQHllc3FsLnNlPjsgcGdzcWwtZ2VuZXJhbEBsaXN0cy5wb3N0 Z3Jlc3FsLm9yZw0KQmV0cmVmZjogUmU6IERvZXMgcG9zdGdyZXNxbCBoYXZlIGEgZGlmZiB0b29s Pw0KDQpPbiAxNCBTZXAgMjAyNiwgR3JhaGFtIExlZ2dldHQgd3JvdGU6DQo+IEkgaGF2ZSBhIHBp ZWNlIG9mIGNvZGUgdGhhdCBtb2RpZmllcyBhIHBvc3RncmVzcWwgZGF0YWJhc2UsIGFuZCBJIG5l ZWQgDQo+IHRvIGtub3cgcHJlY2lzZWx5IHdoYXQgY2hhbmdlcyB0aGlzIHBpZWNlIG9mIGNvZGUg aGFzIG1hZGUgdG8gdGhlIA0KPiBkYXRhYmFzZS4gVGhlIGNvZGUgY29udGFpbnMgYW4gT1JNIHRv b2wgc28gaXQgaXMgYSBteXN0ZXJ5IHdoYXQgdGhlIA0KPiB0b29sIGlzIGRvaW5nLg0KPg0KPiBE b2VzIHRoZXJlIGV4aXN0IGFuIGVxdWl2YWxlbnQgb2YgcGdfZHVtcCB0aGF0IGlzIGNhcGFibGUg b2YgZHVtcGluZyBhIA0KPiBkYXRhYmFzZSBpbiBhIGRldGVybWluaXN0aWMgb3JkZXIgc28gdGhh dCBhIHN0YW5kYXJkIGRpZmYgd2lsbCBtYWtlIA0KPiBzZW5zZT8NCg0KSGkgR3JhaGFtLA0KDQpw Z19kdW1wJ3Mgb2JqZWN0IG9yZGVyaW5nIGlzIGFscmVhZHkgZGV0ZXJtaW5pc3RpYyDigJQgdHdv IG90aGVyIHRoaW5ncyBnZXQgaW4gdGhlIHdheSBvZiBhIHBsYWluIGRpZmYsIGFuZCBuZWl0aGVy IGlzIHRoZSBvcmRlcmluZy4NCg0KMS4gcGdfZHVtcCB3cmFwcyBpdHMgb3V0cHV0IGluIHBzcWwn cyBccmVzdHJpY3QgPGtleT4gLyBcdW5yZXN0cmljdCA8a2V5PiwgYW5kIHRoZSBrZXkgaXMgcmVn ZW5lcmF0ZWQgb24gZXZlcnkgcnVuLCBzbyB0d28gZHVtcHMgb2YgYW4gdW5jaGFuZ2VkIGRhdGFi YXNlIGFsd2F5cyBkaWZmZXIgaW4gdHdvIGxpbmVzLiBQaW4gaXQ6DQoNCg0KcGdfZHVtcCAtLXNj aGVtYS1vbmx5IC0tcmVzdHJpY3Qta2V5PXdoYXRldmVyIENoZWNrZWQganVzdCBub3cgb24gMTli ZXRhMiBhbmQgMTguNDogdHdvIGNvbnNlY3V0aXZlIGR1bXBzIHdpdGggYSBmaXhlZCBrZXkgYXJl IGJ5dGUtaWRlbnRpY2FsLCBhbmQgd2l0aCB0aGUgZGVmYXVsdCByYW5kb20ga2V5IHRoZXkgZGlm ZmVyIGluIGV4YWN0bHkgdGhvc2UgdHdvIGxpbmVzIGFuZCBub3RoaW5nIGVsc2UuDQoNCjIuIFRo ZSBkYXRhIGlzIGR1bXBlZCBpbiBoZWFwIG9yZGVyLCBub3Qga2V5IG9yZGVyIOKAlCBhbiBVUERB VEUgcGh5c2ljYWxseSByZWxvY2F0ZXMgdGhlIHJvdy4gSW4gYSAzLXJvdyB0ZXN0IHRhYmxlLCBh ZnRlciBVUERBVEUgLi4uDQpXSEVSRSBpZCA9IDEgdGhlIENPUFkgYmxvY2sgY2FtZSBvdXQgaW4g dGhlIG9yZGVyIDIsIDEsIDQuIE5vdGhpbmcgaW4gcGdfZHVtcCBzb3J0cyBpdCwgYW5kIC0taW5z ZXJ0cyBkb2Vzbid0IGNoYW5nZSB0aGF0LiBGb3IgYSBkaWZmYWJsZSBkYXRhIGR1bXAgeW91IGhh dmUgdG8gc29ydCBwZXIgdGFibGUgeW91cnNlbGY6IENPUFkgKFNFTEVDVCAqIEZST00gdCBPUkRF UiBCWSAxKSBUTyAuLi4uDQoNClRoYXQgZ2l2ZXMgeW91IGEgZGlmZiB0aGF0IG1lYW5zIHNvbWV0 aGluZy4gQnV0IGZvciB5b3VyIGFjdHVhbCBxdWVzdGlvbiBpdCdzIHdvcnRoIHNheWluZzogYSBk aWZmIG9ubHkgc2hvd3MgdGhlIG5ldCByZXN1bHQuIEl0IGNhbid0IHNob3cgeW91IGFuIElOU0VS VCB0aGF0IHdhcyBsYXRlciBkZWxldGVkLCBvciB0aGUgb3JkZXIgaW4gd2hpY2ggdGhpbmdzIGhh cHBlbmVkLiBUd28gZmVhdHVyZXMgYW5zd2VyIHRoYXQgZXhhY3RseS4NCg0KRGF0YSBjaGFuZ2Vz IOKAlCBjcmVhdGUgYSBsb2dpY2FsIHNsb3QgYmVmb3JlIHJ1bm5pbmcgdGhlIGNvZGUgKHdhbF9s ZXZlbCA9IGxvZ2ljYWwpOg0KDQoNCg0KU0VMRUNUICogRlJPTSBwZ19jcmVhdGVfbG9naWNhbF9y ZXBsaWNhdGlvbl9zbG90KCdvcm1fd2F0Y2gnLCAndGVzdF9kZWNvZGluZycpOw0KLS0gcnVuIHRo ZSBjb2RlIC0tDQpTRUxFQ1QgZGF0YSBGUk9NIHBnX2xvZ2ljYWxfc2xvdF9nZXRfY2hhbmdlcygn b3JtX3dhdGNoJywgTlVMTCwgTlVMTCk7DQoNCldpdGggQUxURVIgVEFCTEUgLi4uIFJFUExJQ0Eg SURFTlRJVFkgRlVMTCB5b3UgZ2V0IGJlZm9yZS1pbWFnZXMgYXMgd2VsbDoNCg0KDQoNCnRhYmxl IHB1YmxpYy5jbGllbnRlczogVVBEQVRFOiBvbGQta2V5OiBpZDoxIHBsYW46J2ZyZWUnIG5ldy10 dXBsZToNCmlkOjEgcGxhbjoncHJvJw0KDQpUaGF0IGlzIHJlYWQgZnJvbSBXQUwsIGluIGNvbW1p dCBvcmRlciDigJQgd2hhdCBhY3R1YWxseSBoYXBwZW5lZCwgbm90IHdoYXQgaGFwcGVucyB0byBi ZSBsZWZ0IGF0IHRoZSBlbmQuDQoNCg0KU2NoZW1hIGNoYW5nZXMg4oCUIGxvZ2ljYWwgZGVjb2Rp bmcgZG9lc24ndCBkZWNvZGUgRERMLCBidXQgYW4gZXZlbnQgdHJpZ2dlciBkb2VzOiBPTiBkZGxf Y29tbWFuZF9lbmQgY2FsbGluZyBwZ19ldmVudF90cmlnZ2VyX2RkbF9jb21tYW5kcygpLCBzdG9y aW5nIGN1cnJlbnRfcXVlcnkoKSBmb3IgdGhlIGxpdGVyYWwgc3RhdGVtZW50LiBBZGQgYW4gc3Fs X2Ryb3AgdHJpZ2dlciBmb3IgZHJvcHMuIFVzZWZ1bCBzaWRlDQplZmZlY3Q6IGJlY2F1c2UgdGhl IHRyaWdnZXIgd3JpdGVzIHJvd3MsIHRoZSBEREwgYWxzbyBzaG93cyB1cCBpbiB0aGUgbG9naWNh bCBzdHJlYW0sIGludGVybGVhdmVkIHdpdGggdGhlIERNTCBpbiB0aGUgcmlnaHQgb3JkZXIuDQoN CklmIHlvdSdkIHJhdGhlciBjb21wYXJlIHR3byBsaXZlIGRhdGFiYXNlcywgbWlncmEgYW5kIHBn LXNjaGVtYS1kaWZmIGVtaXQgYSBEREwgZGVsdGEgaW5zdGVhZCBvZiBhIHRleHQgZGlmZi4NCg0K QW5kIHRoZSBjaGVhcGVzdCBvcHRpb24sIGlmIHlvdSBvbmx5IHdhbnQgdG8gc2VlIHdoYXQgU1FM IHRoZSBPUk0NCmVtaXRzOiBsb2dfc3RhdGVtZW50ID0gJ2FsbCcgKHNldHRhYmxlIHBlciByb2xl IG9yIGRhdGFiYXNlIHdpdGggQUxURVIgUk9MRSAuLi4gU0VUKSwgb3IgcGdhdWRpdC4NCg0KUmVn YXJkcywNCk1hbnUNCg0KDQpFbCBsdW4sIDE0IHNlcHQgMjAyNiBhIGxhcyA5OjM4LCBEYW5pZWwg R3VzdGFmc3NvbiAoPGRhbmllbEB5ZXNxbC5zZT4pIGVzY3JpYmnDszoNCj4NCj4gPiBPbiAxNCBT ZXAgMjAyNiwgYXQgMTQ6MzMsIEdyYWhhbSBMZWdnZXR0IDxtaW5mcmluQHNoYXJwLmZtPiB3cm90 ZToNCj4NCj4gPiBJIGhhdmUgYSBwaWVjZSBvZiBjb2RlIHRoYXQgbW9kaWZpZXMgYSBwb3N0Z3Jl c3FsIGRhdGFiYXNlLCBhbmQgSSBuZWVkIHRvIGtub3cgcHJlY2lzZWx5IHdoYXQgY2hhbmdlcyB0 aGlzIHBpZWNlIG9mIGNvZGUgaGFzIG1hZGUgdG8gdGhlIGRhdGFiYXNlLiBUaGUgY29kZSBjb250 YWlucyBhbiBPUk0gdG9vbCBzbyBpdCBpcyBhIG15c3Rlcnkgd2hhdCB0aGUgdG9vbCBpcyBkb2lu Zy4NCj4gPg0KPiA+IERvZXMgdGhlcmUgZXhpc3QgYW4gZXF1aXZhbGVudCBvZiBwZ19kdW1wIHRo YXQgaXMgY2FwYWJsZSBvZiBkdW1waW5nIGEgZGF0YWJhc2UgaW4gYSBkZXRlcm1pbmlzdGljIG9y ZGVyIHNvIHRoYXQgYSBzdGFuZGFyZCBkaWZmIHdpbGwgbWFrZSBzZW5zZT8NCj4NCj4gVGhpcyBp cyBhIHF1ZXN0aW9uIGJldHRlciBzdWl0ZWQgZm9yIHRoZSBwZ3NxbC1nZW5lcmFsQCBtYWlsaW5n bGlzdC4gIA0KPiBUaGVyZSBhcmUgYSBudW1iZXIgb2Ygc2NoZW1hIGRpZmYgdG9vbHMgYXZhaWxh YmxlLCBidXQgSSBjYW5ub3QgDQo+IGNvbW1lbnQgb24gdGhlIG1lcml0cyBvZiB0aGVtIGFzIEkn dmUgbmV2ZXIgdHJpZWQgdGhlbSBteXNlbGYuDQo+DQo+IC0tDQo+IERhbmllbCBHdXN0YWZzc29u DQo+DQo+DQo+DQoNCg0KLS0NClNhbHVkb3MgY29yZGlhbGVzLA0KDQpNYW51ZWwgUmV5ZXMNCg0K DQo=