Могут ли пользовательские функции использоваться в запросах ETL, если у вас нет прав администратора для БД? - PullRequest
0 голосов
/ 20 февраля 2019
CREATE OR REPLACE FUNCTION f_stop_distance (Float, Float, Float, Float) /* This calculates distance in meters between two sets of lat and long */
   RETURNS FLOAT
 IMMUTABLE
 AS $$
   SELECT
      2 * 6373000 * ASIN( SQRT( ( SIN( RADIANS(($3 - $1) / 2) ) ) ^ 2 + COS(RADIANS($1)) * COS(RADIANS($3)) * (SIN(RADIANS(($4 - $2) / 2))) ^ 2))
 $$ LANGUAGE sql
;

Выше приведен фрагмент кода, который я использовал для вычисления расстояния между двумя парами длинных лат.Мой вопрос: могу ли я использовать вышесказанное и в запросах ETL?

Примечание. Я не являюсь суперпользователем, и мне не будут предоставлены права суперпользователя.

Обновление: я уже пытался выполнить в ETL.Вот ошибка, которую я получил:

2019-02-20 03:19:56,594 ERROR ExtractAdapterForRedshiftWithUnload prepareS3Dataset():609 - Error Code from SQL state 42501
org.postgresql.util.PSQLException: ERROR: must be owner of function f_stop_distance
    at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2270)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...