40.9. ÐодÑли и команда unknown
PL/Tcl поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ Ð°Ð²ÑозагÑÑÐ·ÐºÑ ÐºÐ¾Ð´Ð° Tcl. ÐÐ»Ñ ÑÑого он задейÑÑвÑÐµÑ ÑпеÑиалÑнÑÑ ÑаблиÑÑ, pltcl_modules, пÑедназнаÑеннÑÑ Ð´Ð»Ñ ÑазмеÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´Ñлей кода Tcl. ÐÑли ÑÑа ÑаблиÑа ÑÑÑеÑÑвÑеÑ, из ÑаблиÑÑ Ð²ÑбиÑаеÑÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ unknown и загÑÑжаеÑÑÑ Ð² инÑеÑпÑеÑаÑÐ¾Ñ Tcl непоÑÑедÑÑвенно пеÑед пеÑвÑм вÑполнением ÑÑнкÑии PL/Tcl в ÑеанÑе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
. (ÐÑо пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð½ÐµÐ·Ð°Ð²Ð¸Ñимо Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ инÑеÑпÑеÑаÑоÑа Tcl, еÑли иÑ
неÑколÑко в одном ÑеанÑе; Ñм. Раздел 40.4.)
ХоÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ unknown Ð¼Ð¾Ð¶ÐµÑ Ð½Ð° Ñамом деле ÑодеÑжаÑÑ Ð»Ñбой нÑжнÑй вам ÑкÑÐ¸Ð¿Ñ Ð¸Ð½Ð¸ÑиализаÑии, обÑÑно в нÑм опÑеделÑеÑÑÑ Ð¿ÑоÑедÑÑа unknown ÑзÑка Tcl, коÑоÑÐ°Ñ Ð²ÑзÑваеÑÑÑ Ð²ÑÑкий Ñаз, когда Tcl не ÑаÑпознаÑÑ Ð¸Ð¼Ñ Ð²ÑзÑваемой пÑоÑедÑÑÑ. ÐÑинÑÑÐ°Ñ Ð² PL/Tcl веÑÑÐ¸Ñ ÑÑой пÑоÑедÑÑÑ Ð¿ÑÑаеÑÑÑ Ð½Ð°Ð¹Ñи в pltcl_modules модÑлÑ, в коÑоÑом бÑÐ´ÐµÑ Ð¾Ð¿Ñеделена ÑÑебÑÐµÐ¼Ð°Ñ Ð¿ÑоÑедÑÑа. ÐÑли Ñакой модÑÐ»Ñ Ð½Ð°Ñ
одиÑÑÑ, он загÑÑжаеÑÑÑ Ð² инÑеÑпÑеÑаÑÐ¾Ñ Ð¸ заÑем вÑполнение изнаÑалÑного вÑзова пÑоÑедÑÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿Ñодолжено. ÐополниÑелÑÐ½Ð°Ñ ÑаблиÑа pltcl_modfuncs ÑодеÑÐ¶Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑ, ÑвÑзÑваÑÑий ÑÑнкÑии Ñ Ð¼Ð¾Ð´ÑлÑми, в коÑоÑÑÑ
они опÑеделенÑ, Ñак ÑÑо поиÑк вÑполнÑеÑÑÑ Ð´Ð¾Ð²Ð¾Ð»Ñно бÑÑÑÑо.
Ð ÑоÑÑаве Postgres Pro поÑÑавлÑÑÑÑÑ Ð²ÑпомогаÑелÑнÑе ÑкÑипÑÑ Ð´Ð»Ñ Ð¾Ð±ÑлÑÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ ÑÑиÑ
ÑаблиÑ: pltcl_loadmod, pltcl_listmod, pltcl_delmod, а Ñакже иÑÑ
однÑй код ÑÑандаÑÑного модÑÐ»Ñ unknown в share/unknown.pltcl. ÐÐ»Ñ Ð¿Ð¾Ð´Ð´ÐµÑжки меÑ
анизма авÑозагÑÑзки ÑÑÐ¾Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ изнаÑалÑно загÑÑжаÑÑÑÑ Ð² каждÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
.
ТаблиÑÑ pltcl_modules и pltcl_modfuncs Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð´Ð¾ÑÑÑÐ¿Ð½Ñ Ð½Ð° ÑÑение вÑем, но ÑазÑеÑаÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ð² ниÑ
ÑазÑмно ÑолÑко админиÑÑÑаÑоÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
(и ÑолÑко он должен бÑÑÑ Ð¸Ñ
владелÑÑем). РкаÑеÑÑве меÑÑ Ð¿ÑедоÑÑоÑожноÑÑи PL/Tcl бÑÐ´ÐµÑ Ð¸Ð³Ð½Ð¾ÑиÑоваÑÑ ÑаблиÑÑ pltcl_modules (и Ñаким обÑазом, не бÑÐ´ÐµÑ Ð¿ÑÑаÑÑÑÑ Ð·Ð°Ð³ÑÑзиÑÑ Ð¼Ð¾Ð´ÑÐ»Ñ unknown), еÑли она пÑÐ¸Ð½Ð°Ð´Ð»ÐµÐ¶Ð¸Ñ Ð½Ðµ ÑÑпеÑполÑзоваÑелÑ. Ðо пÑаво на изменение даннÑÑ
в ней можно даÑÑ Ð¸ дÑÑгим полÑзоваÑелÑм, еÑли они заÑлÑживаÑÑ Ñакого довеÑиÑ.