2017-01-24 6 views
2

Есть ли функция redshift/sql для декодирования строки base64? Если нет, предложите мне написать функцию в redshift для декодирования base64?Base64 decode in redshift

+0

Пожалуйста, добавьте более подробную информацию о вашем контексте –

+0

Это довольно просто, у меня есть БД, где некоторые данные хранятся в base64 закодированном формате, и мне нужно, чтобы показать результаты в декодируются текстовый формат. – Paba

ответ

2

См. Это http://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_FUNCTION.html. Вы можете создать функцию в Redshift, и вы можете использовать python для ее кодирования.

Вот некоторые из возможных способов сделать это в Python Python base64 data decode

+0

Спасибо. Но вы должны быть суперпользователем для создания функций в redshift. Любые другие предложения? – Paba

2

Спасибо большое за предложение. Это сработало. Вот моя функция. Только проблема заключается в том, что для создания функции вы должны быть суперпользователем.

create function f_base64decode (a varchar) 
    returns varchar 
stable 
as $$ 
    import base64 
    return base64.b64decode(a) 
$$ language plpythonu; 

Мы можем проверить, является ли язык программирования доверенным или нет, запросив таблицу pg_language. Если он не доверяет, то lanpltrusted ЛЖИ

SELECT lanpltrusted 
FROM pg_language 
WHERE lanname LIKE 'plpythonu';