On 12/1/24 12:05, PopeRigby wrote:
> On 11/30/24 19:58, Tom Lane wrote:
>> "David G. Johnston" <david.g.johnston@gmail.com> writes:
>>> Ok, so the error is not emanating from your code but rather the body
>>> of the
>>> ll_to_earth function defined in the earthdistance extension.
>> Yeah. That is
>>
>> CREATE FUNCTION ll_to_earth(float8, float8)
>> RETURNS earth
>> LANGUAGE SQL
>> IMMUTABLE STRICT
>> PARALLEL SAFE
>> AS 'SELECT
>>
cube(cube(cube(earth()*cos(radians($1))*cos(radians($2))),earth()*cos(radians($1))*sin(radians($2))),earth()*sin(radians($1)))::earth';
>>
>> which is problematic: the function calls are not schema-qualified and
>> there's not a really easy way to fix that. There's work afoot to fix
>> that [1], but it's not committed yet let alone in any shipping
>> version. Nonetheless, your best bet for fixing this might be
>> to install the earthdistance 1.2 files from the latest patchset in
>> that thread.
>>
>> regards, tom lane
>>
>> [1]
>> https://www.postgresql.org/message-id/flat/3395418.1618352794@sss.pgh.pa.us
>
> I've applied the following patch to postgres:
>
> https://www.postgresql.org/message-id/attachment/122092/0002-earthdistance-sql-functions.patch
>
> I'm still getting this error:
>
> psql:all.sql:4102: ERROR: type "earth" does not exist
> LINE 1: ...ians($1))*sin(radians($2))),earth()*sin(radians($1)))::earth
>
The issue is still this:
SELECT pg_catalog.set_config('search_path', '', false);
in the pg_dumpall output.
As was suggested before change the above to:
SELECT pg_catalog.set_config('search_path', 'public', false);
in the pg_dumpall output file.
--
Adrian Klaver
adrian.klaver@aklaver.com