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 1peI5y-0005ve-9g for pgsql-admin@arkaria.postgresql.org; Mon, 20 Mar 2023 16:10:50 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1peI5x-0000hK-75 for pgsql-admin@arkaria.postgresql.org; Mon, 20 Mar 2023 16:10:49 +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 1peI5w-0000hA-RK for pgsql-admin@lists.postgresql.org; Mon, 20 Mar 2023 16:10:48 +0000 Received: from mout.gmx.net ([212.227.17.20]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1peI5u-0003VT-AM for pgsql-admin@lists.postgresql.org; Mon, 20 Mar 2023 16:10:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=s31663417; t=1679328644; i=shammat@gmx.net; bh=xFvEwOcm7wc7zhzl6SKsdoxK2PS5j18+op7ssGPhcBc=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=bkSgIn0R68HL1laR4RhZqEZFh3lhpR1kBdz7dSB+tmukYMz6RGaxeqeHHAX3DctyX l/wOSQkvN7JaBUrlEdDT0nwwrxMuBZAuk8UgclmK9n8eecInSC+0GocpRj69lIAXIE XLklFys0jJtqzdAw77j3BPk7NZLpTfMs9vAP5R7Q2KN8MhBRCJ3FghUeK5uK1T1KW7 lNasbRDfUbJEMkkso6W+corqZe3sDDvYVqUWlVooNec5RVnzz0toJjuqmb55TaQbO/ l7Fgc/b+OvOmkjH8AwGcrsmOZrij7QsXsxxzY4r2boEXekCxWL0Ls2v7oFhMmSMhcp idc531FzXdikQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [10.1.34.101] ([185.40.248.10]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M2f9b-1pe1Nb0T6d-004EIk for ; Mon, 20 Mar 2023 17:10:44 +0100 Subject: Re: PostgreSQL equivalents to dbms_metadata.get_ddl & dbms_metadata.get_dependent_ddl To: pgsql-admin@lists.postgresql.org References: <938034.1679325008@sss.pgh.pa.us> From: Thomas Kellerer Message-ID: Date: Mon, 20 Mar 2023 17:10:42 +0100 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:SpLgTMYMj9PSHLY+knSj0g0Fdf8idg4p/Pia03q631FE7ROMXvB 7O4m7lhBVfCyxWFCwfEBXcHQBypXiDPwpnfvfnA+6XcYYsIIyk+2TtEQ5i/8jYMVPJSZhFW gWqxexCZxoYiNLyou3JsIcXvOf4i040WCxejUlN6+QL6xhhfIoRRjjLpMfJ+BMPhZz1XBDD QestHptNJ5S21NlHZt1rA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:mE1p/i0EIf4=;1d5TiPeIdWG9shszx7W3z7FQZZG cuFkdEqq/+A1fz6sdXdXtmMFpsoaJHchk8vP3E/hQqNfMEpe6nTi4DiR+fGkvm6zS7PhKpGrX f7ymtkSE8E3tMgZCH4Vd2Q3i9D5cHYcL4cSs5y228wNm/fvS4VzWtay/LGpepTxCin/IhxttF j2KcE5bdNxQZr5tjDnfOQ7yXqTLPpekO5zbv7bWql+h8SQ46n3yWWtw6UvUJofsE8skrUVht+ S/xL2zl+BWCI851C/EAyeVDMq4cEKnDxDFed30Uz7cZ0FHP3XZzPaey7GjsQSj8R7fwv37t5K tGzRB+nqHGgFuy6ad0cjbvI1lAnEwlZKN5ProE3bhcfj5U4ro6PYwvUnWg2a37GIbennLZB6V g19vHM6rJZTUK5Cd3uykl1epz1rpE+q/RkLY4LPgI7W8HW0EHLqbgmjvYrAS/AaDCz1wSDBif 2vSw0lTb42bHX7ek+uMuZo8P0qa1NIMCYyBy0brjfZ3teV5rGadAZoFCqOB1zrBqwLfzogeOZ dFdrzQzGHx4v3GAH1eeDYa9j7+J1ioozCjIBU+YvFWnt+Tv6VcZMUvrjsiRYHPXEbQOKwOY/g EWzCgXIYnKuj2uwHNzLQN97y66IhxwsT5l8SfekoSpdBK8SsmNPNerK9wPyzNUMleJHNuIpz5 mqN1jV+GhMh6wRolVyPH1Qc9+4xHovdCrMFpZpbk+Wn6pZeRo0VCtFyLhcxz0/Fi/s50mPp60 xoQ3NDctJg3POF/XYqe8LXNt5iu1BI6pq9lNNUI7RUYP9tQZ0v5rYyyiy1XIg8DVYG+B7uv2G KePFtjUjJ6/huexbsO9SgzkSKR49JOZDGBOR/UG03cVXBRSnj0tjkcnW5vxnq1mLQq8YqgXoh IpOWR09rdVcBRLizvYzsqo6de05Mjwtvd+xuYAdHMq7g0omet2JSP7Irv+wje5EmGPQRFP4FJ PRszTg== List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk richard coleman schrieb am 20.03.2023 um 16:48: > My use case is copying and maintaining the same tables in Oracle and > PostgreSQL as well as detecting and applying DDL changes between the > two systems. We are using Liquibase as a schema migration tool which allows us to specify a single "changelog" (using their XML format) that can be applied to Oracle and Postgres alike. So we never need to "compare" definitions, we just run the changelog script to update the database schema. Some differences in e.g. available data types can be dealt with using Liquibase's properties or if everything else fails using different changesets for Postgres and Oracle (which is typically only needed for views and procedural code). Of course it might not be feasible to re-structure your existing infrastructure for schema migrations to use a completely different approach. Thomas