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 1pe959-0005YL-AB for pgsql-admin@arkaria.postgresql.org; Mon, 20 Mar 2023 06:33:23 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pe958-0003UL-71 for pgsql-admin@arkaria.postgresql.org; Mon, 20 Mar 2023 06:33:22 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1pe957-0003UC-NB for pgsql-admin@lists.postgresql.org; Mon, 20 Mar 2023 06:33:21 +0000 Received: from mail-qv1-xf35.google.com ([2607:f8b0:4864:20::f35]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pe950-0003GA-Ie for pgsql-admin@postgresql.org; Mon, 20 Mar 2023 06:33:21 +0000 Received: by mail-qv1-xf35.google.com with SMTP id 59so1143098qva.11 for ; Sun, 19 Mar 2023 23:33:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1679293992; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:content-transfer-encoding:from:to:cc:subject:date :message-id:reply-to; bh=gCYbpsUGTvIIw5VoYyRxMv89hHirUo2JBXtmYqiW15w=; b=jDoGJFot6BOi6AxJVlNOITty9Kwym1Side1aU9WiQisQBdJIwpHZjLZX2BQl7AvEMr IuKYMmlX3B3tbCy1jOioGImztDSJIQ1PVjeDzNHKfSUS4VgpxvnDkyLgbtHg5MsvF8P4 mFhYuH5oETY9DtO0ZMfFuLpz4NO2k/C1kxyS4HI6WIAMxaK86rXePHKJre2cwhbmuqXN lH4QrWOGxbPmK5V6VWsoKB6InbICMuWNyLYFLShafrEFr/+NmeC4i8rIvJn6QT2y/lKl lSrAvNb+itQk5zZp4CkxZzrbWLJZr9xnFNA09ZQl5ItMdHhE31NGmB4bCw2PporZn+d6 LR5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679293992; h=to:references:message-id:cc:date:in-reply-to:from:subject :mime-version:content-transfer-encoding:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=gCYbpsUGTvIIw5VoYyRxMv89hHirUo2JBXtmYqiW15w=; b=60ArQdj5V4vycdACZ8RqjTNi8ADHwgQM21xHf31vOY7K3K0sWDRt1U9aFmquDv1aK/ MCU7hY9KnAr25BP+qmVpVCKBB8WaOUT2O4Y/KPZdrOmSdwHzcnocPTA9glr1+/bjZwtp /ocNBSYVBnWOyhcqtAipXsgpLi8AQlAXmdGXBkMnTthwTREtpChwSJ81fIX8ZnmXoSHv zasFRq0+4kdCh4kPQJRbafodqJJYon/hIqGQvLeV9NHD/ZjaSHWRIRFa4kWyK0WtNaOc PEOjtWLTU383ecSEX/8yLknLGB56EHzdDEZfJArLH0H13o5wU7ttVnlHaIFwzMpYJYNO 7BUA== X-Gm-Message-State: AO0yUKW7MQITaN2fWLpcKHbOFEQ1UopFh/HZK8p/mApdR8PfLbKKvR8B 1wDjw+6Ns3WmikgdcHT919vrhGZD8Oc= X-Google-Smtp-Source: AK7set/SJ3pcQgBuCf8q/a7XdweoQeq7ISMNRyCMJbvCtu6cwc3MBDW+NF87JYtMT/YJPePTGNfrvQ== X-Received: by 2002:a05:6214:27ef:b0:5a6:9028:7b89 with SMTP id jt15-20020a05621427ef00b005a690287b89mr37671407qvb.35.1679293992551; Sun, 19 Mar 2023 23:33:12 -0700 (PDT) Received: from smtpclient.apple ([2601:14b:4100:252f:f1f7:5da:112:7fe0]) by smtp.gmail.com with ESMTPSA id y126-20020a376484000000b007468765b411sm1467569qkb.45.2023.03.19.23.33.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 19 Mar 2023 23:33:12 -0700 (PDT) Content-Type: multipart/alternative; boundary=Apple-Mail-5BD3A5B3-8D34-4B95-9E05-EBCBDD2E67C6 Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (1.0) Subject: Re: PostgreSQL equivalents to dbms_metadata.get_ddl & dbms_metadata.get_dependent_ddl From: "Edward J. Sabol" In-Reply-To: Date: Mon, 20 Mar 2023 02:33:01 -0400 Cc: pgsql-admin Message-Id: References: To: richard coleman X-Mailer: iPad Mail (20D67) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --Apple-Mail-5BD3A5B3-8D34-4B95-9E05-EBCBDD2E67C6 Content-Type: multipart/related; type="text/html"; boundary=Apple-Mail-0D6375A1-AF67-49BD-A1EC-4E4B48CD3D3B Content-Transfer-Encoding: 7bit --Apple-Mail-0D6375A1-AF67-49BD-A1EC-4E4B48CD3D3B Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: quoted-printable
= On Mar 19, 2023, at 10:49 PM, richard coleman <rcoleman.ascentgl@gmail.co= m> wrote:
I wonder how di= fficult it would have been to create SQL functions out of what is basically p= sql or pg_dump magic.

If you ignore t= he answers on StackOverflow that say to use pg_dump and "psql -E", there mus= t be close to 10 other answers with various SQL functions which do exactly t= hat here:

I recommend you read through them and test them to find the best versio= n. I hope one of them fits your needs. If so, I hope you report back here wi= th which one you went with. :-)

Hoping this helps,
Ed

<= /div>= --Apple-Mail-0D6375A1-AF67-49BD-A1EC-4E4B48CD3D3B Content-Type: image/png; name="apple-touch-icon@2.png"; x-apple-part-url=DF0BAEB5-57F4-47D5-B14E-DCC967E427AA Content-Disposition: inline; filename="apple-touch-icon@2.png" Content-Transfer-Encoding: base64 Content-Id: iVBORw0KGgoAAAANSUhEUgAAATwAAAE8CAYAAABdBQ0GAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6 eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDE0IDc5LjE1 Njc5NywgMjAxNC8wOC8yMC0wOTo1MzowMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1N OkRvY3VtZW50SUQ9InhtcC5kaWQ6RkE1MTZBNzU1MDE1MTFFNUEzODE5OTE2QTE2M0ExOTYiIHht cE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RkE1MTZBNzQ1MDE1MTFFNUEzODE5OTE2QTE2M0ExOTYi IHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1N OkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTg1MTQ5NjM5NDRGMTFFNDlE NzZCNkZGMjlBQTI4N0QiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTg1MTQ5NjQ5NDRGMTFF NDlENzZCNkZGMjlBQTI4N0QiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94Onht cG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6xm0OTAAAWFUlEQVR42uzdDbxuU53A8X0nYUQplPSh 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 RU5ErkJggg== --Apple-Mail-0D6375A1-AF67-49BD-A1EC-4E4B48CD3D3B-- --Apple-Mail-5BD3A5B3-8D34-4B95-9E05-EBCBDD2E67C6--