Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iPgR3-0000tF-58 for pgsql-admin@arkaria.postgresql.org; Wed, 30 Oct 2019 05:22:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iPgR1-0004GS-AB for pgsql-admin@arkaria.postgresql.org; Wed, 30 Oct 2019 05:22:19 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iPgR0-0004GL-UI for pgsql-admin@lists.postgresql.org; Wed, 30 Oct 2019 05:22:19 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1iPgQy-0004qd-8a for pgsql-admin@postgresql.org; Wed, 30 Oct 2019 05:22:17 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id x9U5MDCp028393; Wed, 30 Oct 2019 01:22:13 -0400 From: Tom Lane To: Wells Oliver cc: pgsql-admin Subject: Re: Upgrading from 9.6 to 12 and running into cast issues with pg_catalog.text() In-reply-to: References: Comments: In-reply-to Wells Oliver message dated "Tue, 29 Oct 2019 20:17:40 -0700" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <28391.1572412933.1@sss.pgh.pa.us> Date: Wed, 30 Oct 2019 01:22:13 -0400 Message-ID: <28392.1572412933@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Wells Oliver writes: > I have some implicit casts such as real to text where they depend on the > function pg_catalog.text(real) which seems to no longer exist in 12. The > pg_upgrade failure says: > Command was: CREATE CAST (real AS "text") WITH FUNCTION > "pg_catalog"."text"(real) AS IMPLICIT; Hm, there wasn't any such function in 9.6 either, so I suspect you've forgotten some critical details about how these casts got created. But anyway, if you really want that behavior, creating the cast "WITH INOUT" is probably the best way to do it. regards, tom lane