Я хочу загрузить jsonbx в экземпляр RDS. Поддерживаемые функции RDS PostgreSQL показывают только встроенные функции. Означает ли это, что мы не можем установить расширение для RDS, которого нет в Feature Matrix ? Есть ли обходной путь для этого?
Я хочу загрузить jsonbx в экземпляр RDS. Поддерживаемые функции RDS PostgreSQL показывают только встроенные функции. Означает ли это, что мы не можем установить расширение для RDS, которого нет в Feature Matrix ? Есть ли обходной путь для этого?
Ответы:
Вы не можете добавлять свои собственные расширения в RDS, по крайней мере, те, которые требуют прав суперпользователя (как и все, что связано с кодом C). Это один из недостатков, которые вы принимаете в обмен на удобное управление.
Если расширение включает только простые функции plpgsql и sql, вы можете добавить эти функции вручную. Это невозможно с тем, что требует привилегий суперпользователя, включая любое расширение с кодом C.
jsonbx добавляет функции и операторы. Исходный код содержит код C , поэтому вы не можете загрузить его в RDS. Когда-либо. Совсем. RDS не позволяет вам запускать что-либо, что может дать вам суперпользовательский доступ или доступ к базовой виртуальной машине, на которой работает PostgreSQL, а также не предоставляет способ загрузки расширений, даже если это позволит вам загрузить их.
Вам нужно будет перейти на запуск автономного сервера PostgreSQL (скажем, на EC2), убедить поддержку Amazon сделать это расширение доступным как часть их поддерживаемого набора расширений или обойтись без него.
В настоящее время в Amazon RDS есть несколько доступных расширений, подробно описанных в главе «Функции компонента Database Engine».
Вы можете выполнить следующую команду, чтобы получить список поддерживаемых расширений:
SHOW rds.extensions;