Обсуждение: Upgrading from 9.6 to 12 and running into cast issues with pg_catalog.text()
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;
Should I just DROP CAST (real as text) or is there a better solution?
Wells Oliver <wells.oliver@gmail.com> 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
Re: Upgrading from 9.6 to 12 and running into cast issues with pg_catalog.text()
От
Wells Oliver
Дата:
Thanks, Tom! I found some long ago (8.3) code that created 15 implicit casts (AND the needed functions within pg_catalog that I had been using through the years, so I was able to drop them and move forward. Ah, memory lane.
On Tue, Oct 29, 2019 at 10:22 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Wells Oliver <wells.oliver@gmail.com> 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
--
Wells Oliver
wells.oliver@gmail.com
wells.oliver@gmail.com