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 1pfRMZ-0006ks-Ey for pgsql-admin@arkaria.postgresql.org; Thu, 23 Mar 2023 20:16:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1pfRMY-0004m9-5W for pgsql-admin@arkaria.postgresql.org; Thu, 23 Mar 2023 20:16:42 +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 1pfRMX-0004lz-MQ for pgsql-admin@lists.postgresql.org; Thu, 23 Mar 2023 20:16:41 +0000 Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1pfRMT-0008Tz-So for pgsql-admin@lists.postgresql.org; Thu, 23 Mar 2023 20:16:41 +0000 Received: by mail-ed1-x52d.google.com with SMTP id o12so91699675edb.9 for ; Thu, 23 Mar 2023 13:16:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec-at.20210112.gappssmtp.com; s=20210112; t=1679602597; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=0F6Fjsr2AvEIvEyJXrNTvx4sNkRvOgpdpb13+JgsL+w=; b=rr05IhToSTmB+mDPgMsXU1O5XBT7zHbkxaM/lf+oMO8ECO97H4L+OL19kYKKmC9eiS RNKJMu9lZBEqaEmbd8iA+IW0Yof3hGp0/JOFXsXjC2spo34kmmLG4MKsdXDmnj59AWdY 5q/yo6nPzdrmEBx60CDDE0EwDIc0E9CcdEwEELCm0S8A19Iu0oe9SC8r6qiZoLHL1LLd VrPcoRdas0COdBzOxIDd06Kz8njxFQTPHTthET8/pvot42BD1tTvDJA6Q4LaSZCV9BCC MCTW01w0O6doRe9RZ0+lgjJAQKELMKZwbcluIWf9jOXxv/CrrqWzue03bq57toTJ9ZaV zHbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679602597; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=0F6Fjsr2AvEIvEyJXrNTvx4sNkRvOgpdpb13+JgsL+w=; b=dOpCSORvYvhkgBSVUY9Mm4JBhQzhx+G8kE16Pjgy8lTnRoaAhTbWT+kPA4gGvi6eh5 A+d3nd7YMMCda2tdMMDCsQ050RwDi727zAwgB74l+4yXZ8Boi0PifFRfmy5IhztHkbkc eKq0gODsjNAd0eswxjbHS0FE+7RJsD+JEpLX2zgeKQErwgPFicXhciVIQkHeT2VAiWn8 /yCx/hO1jF1sFZcKXh6VfNtjbJYRy5an/iuRF+nDWl/sfBcsrXSQZisVraSiVOqmbVrN Uz0fTGBtofEFWUavsCBsu/fRMIcf9onlpNQPK+1r2Otf7tWa2k76sLffHTiYSKQ7Eaqo JVJg== X-Gm-Message-State: AAQBX9d5P3iVFtGd1yltGYGrS/IQWSpYhMYGzxY9jCQim0w3n+245nIk 8zGYTbYHSFasEt/xbBxITy90St0qNIQKfOdj5os= X-Google-Smtp-Source: AKy350bBaIZuJV4o6FKT+M+Ff6nBrJbR/HG8dG8NZ1IeeARDKgN9OlP7vSOn/Bc5+SpWMQ6S0uVHPw== X-Received: by 2002:a17:906:9f19:b0:93c:847d:a456 with SMTP id fy25-20020a1709069f1900b0093c847da456mr329657ejc.22.1679602596984; Thu, 23 Mar 2023 13:16:36 -0700 (PDT) Received: from localhost.localdomain (178-190-170-115.adsl.highway.telekom.at. [178.190.170.115]) by smtp.gmail.com with ESMTPSA id d7-20020a1709067f0700b00882f9130eafsm9035459ejr.26.2023.03.23.13.16.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 23 Mar 2023 13:16:36 -0700 (PDT) Message-ID: <64362c8d5a5326d9911b9826dbc272dde8079b86.camel@cybertec.at> Subject: Re: PL/pgSQL function to run DDL on a remote server/cluster? From: Laurenz Albe To: Tom Lane Cc: Sbob , Pgsql-admin Date: Thu, 23 Mar 2023 21:16:36 +0100 In-Reply-To: <1951203.1679598919@sss.pgh.pa.us> References: <1951203.1679598919@sss.pgh.pa.us> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Thu, 2023-03-23 at 15:15 -0400, Tom Lane wrote: > Laurenz Albe writes: > > On Thu, 2023-03-23 at 12:03 -0600, Sbob wrote: > > > Is it possible to execute DDL on a remote server/cluster from a PL/pg= SQL=20 > > > function? > > > If so can someone point me to docs or an example? >=20 > > You cannot do that with the built-in tools. > > You'd have to write an extension that can do that. >=20 > You do need an extension, but contrib/dblink should do fine. Ah, of course. Silly of me. Yours, Laurenz Albe