16.3. УÑÑановка дополниÑелÑно поÑÑавлÑемÑÑ Ð¼Ð¾Ð´Ñлей
Postgres Pro поÑÑавлÑеÑÑÑ Ñ Ð½Ð°Ð±Ð¾Ñом дополниÑелÑнÑÑ
ÑеÑвеÑнÑÑ
ÑаÑÑиÑений, или модÑлей. Ð Linux они ÑаÑпÑоÑÑÑанÑÑÑÑÑ Ð² оÑделÑном пакеÑе postgrespro-contrib. Ð Windows они ÑÑÑанавливаÑÑÑÑ Ð²Ð¼ÐµÑÑе Ñ ÑеÑвеÑнÑми компоненÑами.
УÑÑановив двоиÑнÑе ÑайлÑ, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑазвеÑнÑÑÑ Ð² базе даннÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе нÑжнÑе вам ÑаÑÑиÑениÑ. РболÑÑинÑÑве ÑлÑÑае Ð´Ð»Ñ ÑÑого доÑÑаÑоÑно вÑполниÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ CREATE EXTENSION. Ðднако Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ ÑаÑÑиÑений Ñакже ÑÑебÑеÑÑÑ, ÑÑÐ¾Ð±Ñ Ð¿Ñи запÑÑке ÑеÑвеÑа загÑÑжалиÑÑ Ð¾Ð¿ÑеделÑннÑе ÑазделÑемÑе библиоÑеки. ÐÑли Ð²Ñ Ñ Ð¾ÑиÑе иÑполÑзоваÑÑ Ñакие ÑаÑÑиÑениÑ, вам нÑжно наÑÑÑоиÑÑ Ð¿Ð°ÑамеÑÑ
shared_preload_libraries = 'lib1,lib2,lib3'
в Ñайле postgresql.conf ваÑего ÑкземплÑÑа Postgres Pro и пеÑезапÑÑÑиÑÑ ÑеÑвеÑ, а заÑем вÑполниÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ CREATE EXTENSION.
Ðолее конкÑеÑнÑе инÑÑÑÑкÑии по ÑÑÑановке и наÑÑÑойке опÑеделÑнного ÑаÑÑиÑÐµÐ½Ð¸Ñ Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе найÑи в его докÑменÑаÑии в Ñазделе ÐÑиложение F.
ЧÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ ÑпиÑок ÑаÑÑиÑений, доÑÑÑпнÑÑ
в ваÑей инÑÑаллÑÑии Postgres Pro, пÑоÑмоÑÑиÑе ÑиÑÑемнÑй каÑалог pg_available_extensions.
16.3.1. УÑÑановка новÑÑ ÑаÑÑиÑений в ÑеÑÑиÑиÑиÑованной ÑедакÑии
РабоÑа в ÑÑеде, ÑÑебÑÑÑей вÑÑокого ÑÑÐ¾Ð²Ð½Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи, накладÑÐ²Ð°ÐµÑ Ð½ÐµÐºÐ¾ÑоÑÑе огÑаниÑениÑ. ÐоÑколÑÐºÑ ÑабоÑаÑÑ Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ ÑÑпеÑполÑзоваÑÐµÐ»Ñ Ð·Ð°Ð¿ÑеÑаеÑÑÑ Ð¸Ð·-за неогÑаниÑеннÑÑ Ð¿Ñав доÑÑÑпа, вÑполнение опеÑаÑий можно поÑÑÑиÑÑ Ð¾Ð±ÑÑнÑм полÑзоваÑелÑм (напÑимеÑ, админиÑÑÑаÑоÑÑ Ð¡Ð£ÐÐ).
УÑÑанавливаÑÑ Ð´Ð¾Ð²ÐµÑеннÑе ÑаÑÑиÑÐµÐ½Ð¸Ñ Ð¸ ÑабоÑаÑÑ Ñ Ð½Ð¸Ð¼Ð¸ можно Ñ Ð¿Ñавами обÑÑнÑÑ Ð¿Ð¾Ð»ÑзоваÑелей, а пÑоÑие ÑаÑÑиÑÐµÐ½Ð¸Ñ ÑÑебÑÑÑ Ð¿Ð¾Ð²ÑÑенного ÑÑÐ¾Ð²Ð½Ñ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑи. УÑÑÐ°Ð½Ð¾Ð²ÐºÑ Ð½ÐµÐºÐ¾ÑоÑÑÑ ÑаÑÑиÑений в ÑÑеде Ñ Ð²ÑÑоким ÑÑовнем безопаÑноÑÑи, напÑÐ¸Ð¼ÐµÑ pg_proaudit, ÑледÑÐµÑ Ð¾ÑÑÑеÑÑвлÑÑÑ Ð¿Ð¾ ÑпеÑиалÑной пÑоÑедÑÑе.
Ð ÑÑой пÑоÑедÑÑе ÑÑаÑÑвÑÑÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑÐ¾Ñ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ Ð¸ админиÑÑÑаÑÐ¾Ñ Ð¡Ð£ÐÐ:
ÐдминиÑÑÑаÑÐ¾Ñ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ Ð¾ÑвеÑÐ°ÐµÑ Ð·Ð° обÑÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑÑ ÑиÑÑÐµÐ¼Ñ Ð¸ не ÑпÑавлÑÐµÑ Postgres Pro.
ÐдминиÑÑÑаÑÐ¾Ñ Ð¡Ð£ÐÐ, пÑедÑÑавленнÑй в Postgres Pro ÑолÑÑ
PGPRO_DBMS_ADMIN, оÑвеÑÐ°ÐµÑ Ð·Ð° конÑигÑÑаÑиÑ, наÑÑÑÐ¾Ð¹ÐºÑ Ð¸ админиÑÑÑиÑование СУÐÐ Postgres Pro.
ÐейÑÑвиÑ, коÑоÑÑе админиÑÑÑаÑоÑам ÑледÑÐµÑ Ð²ÑполниÑÑ Ð´Ð»Ñ ÑÑÑановки нового ÑаÑÑиÑениÑ, Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð½Ð° РиÑÑнке 16.1.
РиÑÑнок 16.1. ÐейÑÑÐ²Ð¸Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑов Ð´Ð»Ñ ÑÑÑановки ÑаÑÑиÑениÑ
16.3.1.1. ÐдминиÑÑÑаÑÐ¾Ñ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ: Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе дейÑÑвиÑ
Ð¤Ð°Ð¹Ð»Ñ ÐºÐ¾Ð½ÑигÑÑаÑии ÑаÑÑиÑений в каÑалоге share/extension ÑазÑеÑено изменÑÑÑ ÑолÑко админиÑÑÑаÑоÑÑ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ.
Файл .sql ÑаÑÑиÑÐµÐ½Ð¸Ñ ÑодеÑÐ¶Ð¸Ñ Ð¾Ð±ÑÑвление SQL-ÑÑнкÑий. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð²ÑзÑваÑÑ Ð¸Ñ
могÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели. Ð Ñ
оде пÑоÑедÑÑÑ ÑÑÑановки ÑаÑÑиÑÐµÐ½Ð¸Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑÐ¾Ñ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ Ð²ÑполнÑÐµÑ ÑледÑÑÑие дейÑÑвиÑ:
ÐобавлÑÐµÑ Ð¿ÑедложениÑ
GRANTв Ñайл.sql, как показано ниже, ÑÑо позволÑÐµÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑоÑÑ Ð¡Ð£ÐРиÑполÑзоваÑÑ ÑÑи ÑÑнкÑии без Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи запÑаÑиваÑÑ Ð´Ð¾ÑÑÑп Ñ ÑÑпеÑполÑзоваÑелÑ:-- Создание новÑÑ Ð²ÐµÑÑий обÑекÑов CREATE FUNCTION pg_proaudit_show() RETURNS TABLE(db_name text, event_type text, object_type text, object_oid oid, role_name text) AS 'MODULE_PATHNAME', 'pg_proaudit_show_conf' LANGUAGE C VOLATILE; REVOKE ALL ON FUNCTION pg_proaudit_show() FROM public;
ÐдминиÑÑÑаÑÐ¾Ñ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ Ð¿ÑедоÑÑавлÑÐµÑ Ð¿Ñава обÑÑÐ½Ð¾Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ:
-- Создание новÑÑ Ð²ÐµÑÑий обÑекÑов CREATE FUNCTION pg_proaudit_show() RETURNS TABLE(db_name text, event_type text, object_type text, object_oid oid, role_name text) AS 'MODULE_PATHNAME', 'pg_proaudit_show_conf' LANGUAGE C VOLATILE; REVOKE ALL ON FUNCTION pg_proaudit_show() FROM public; GRANT ALL ON FUNCTION pg_proaudit_show() TO PGPRO_DBMS_ADMIN;
ÐозволÑÐµÑ Ð¾Ð±ÑÑÐ½Ð¾Ð¼Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ ÑÑÑановиÑÑ ÑаÑÑиÑение, изменÑÑ Ð¸Ð»Ð¸ добавлÑÑ ÑвойÑÑво
trustedв Ñайле.controlÑаÑÑиÑениÑ, и Ñем ÑамÑм пÑедоÑÑавлÑÑ Ð²Ñеменное ÑазÑеÑение на ÑÑÑановкÑ:trusted = true
ÐÐ»Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¾Ð±ÑÑÑок ÑÑоÑонниÑ
даннÑÑ
ÑолÑÑ PGPRO_DBMS_ADMIN ÑÑебÑеÑÑÑ ÑпеÑиалÑное ÑазÑеÑение безопаÑноÑÑи. ЧÑÐ¾Ð±Ñ Ð¿ÑедоÑÑавиÑÑ Ñакое ÑазÑеÑение, админиÑÑÑаÑÐ¾Ñ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÐµÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ GRANT USAGE ON FOREIGN DATA WRAPPER в ÑооÑвеÑÑÑвÑÑÑий Ñайл .sql ÑаÑÑиÑениÑ. Ðиже пÑиведÑн пÑÐ¸Ð¼ÐµÑ Ð´Ð»Ñ postgres_fdw:
GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO PGPRO_DBMS_ADMIN;
16.3.1.2. ÐдминиÑÑÑаÑÐ¾Ñ Ð¡Ð£ÐÐ: Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ñе дейÑÑвиÑ
ÐдминиÑÑÑаÑоÑÑ Ð¡Ð£ÐÐ ÑазÑеÑено изменÑÑÑ ÑÐ°Ð¹Ð»Ñ ÐºÐ¾Ð½ÑигÑÑаÑии Postgres Pro, за иÑклÑÑением pg_hba.conf, в коÑоÑом Ñ
ÑаниÑÑÑ Ð¸Ð½ÑоÑмаÑиÑ, оÑноÑÑÑаÑÑÑ Ðº безопаÑноÑÑи. ÐзменÑÑÑ Ñайл конÑигÑÑаÑии pg_hba.conf ÑазÑеÑено ÑолÑко админиÑÑÑаÑоÑÑ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ. Ð ÑамкаÑ
пÑоÑедÑÑÑ ÑÑÑановки ÑаÑÑиÑÐµÐ½Ð¸Ñ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑÐ¾Ñ Ð¡Ð£ÐРвÑполнÑÐµÑ ÑледÑÑÑие дейÑÑвиÑ:
ÐобавлÑÐµÑ Ñайл ÑооÑвеÑÑÑвÑÑÑей библиоÑеки в пеÑеменнÑÑ
shared_preload_librariesв Ñайле конÑигÑÑаÑииpostgresql.confи пеÑезагÑÑÐ¶Ð°ÐµÑ ÑеÑÐ²ÐµÑ Ð±Ð°Ð· даннÑÑ Ð´Ð»Ñ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹.СоздаÑÑ ÑаÑÑиÑение, иÑполÑзÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ CREATE EXTENSION.
16.3.1.3. ÐдминиÑÑÑаÑÐ¾Ñ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ: поÑледний Ñаг
ЧÑÐ¾Ð±Ñ Ð¾Ð±ÐµÑпеÑиÑÑ Ð±ÐµÐ·Ð¾Ð¿Ð°ÑноÑÑÑ Ð²Ð¾ вÑÐµÐ¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑаÑÑиÑениÑ, админиÑÑÑаÑÐ¾Ñ Ð¸Ð½ÑÑаÑÑÑÑкÑÑÑÑ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ ÑвойÑÑво trusted в иÑÑ
одное ÑоÑÑоÑние:
ÐÑли ÑвойÑÑво не бÑло Ñказано, ÑдалÑÐµÑ ÐµÐ³Ð¾.
ÐÑли ÑвойÑÑво имело знаÑение
FALSE, возвÑаÑÐ°ÐµÑ ÐµÐ¼Ñ Ð·Ð½Ð°ÑениеFALSE.