Ðлава 45. PL/Python â пÑоÑедÑÑнÑй ÑзÑк Python
СодеÑжание
- 45.1. ФÑнкÑии на PL/Python
- 45.2. ÐнаÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
- 45.3. СовмеÑÑное иÑполÑзование даннÑÑ
- 45.4. ÐнонимнÑе блоки кода
- 45.5. ТÑиггеÑнÑе ÑÑнкÑии
- 45.6. ÐбÑаÑение к базе даннÑÑ
- 45.4. ÐнонимнÑе блоки кода
- 45.7. ЯвнÑе подÑÑанзакÑии
- 45.8. УпÑавление ÑÑанзакÑиÑми
- 45.9. ÐÑпомогаÑелÑнÑе ÑÑнкÑии
- 45.10. Python 2 и Python 3
- 45.11. ÐеÑеменнÑе окÑÑжениÑ
- 45.8. УпÑавление ÑÑанзакÑиÑми
ÐÑоÑедÑÑнÑй ÑзÑк PL/Python позволÑÐµÑ Ð¿Ð¸ÑаÑÑ ÑÑнкÑии и пÑоÑедÑÑÑ Postgres Pro на ÑзÑке Python.
ЧÑÐ¾Ð±Ñ ÑÑÑановиÑÑ PL/Python в опÑеделÑннÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, вÑполниÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ CREATE EXTENSION plpython3u.
ÐодÑказка
ÐÑли ÑзÑк ÑÑÑанавливаеÑÑÑ Ð² template1, он бÑÐ´ÐµÑ Ð°Ð²ÑомаÑиÑеÑки ÑÑÑановлен во вÑе ÑоздаваемÑе впоÑледÑÑвии Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
.
PL/Python пÑедÑÑавлен ÑолÑко в виде «недовеÑенного» ÑзÑка, ÑÑо ознаÑаеÑ, ÑÑо он никаким ÑпоÑобом не огÑаниÑÐ¸Ð²Ð°ÐµÑ Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей, и поÑÑÐ¾Ð¼Ñ Ð¾Ð½ назÑваеÑÑÑ plpython3u. ÐовеÑÐµÐ½Ð½Ð°Ñ Ð²Ð°ÑиаÑÐ¸Ñ plpython Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑвиÑÑÑÑ Ð² бÑдÑÑем, еÑли в Python бÑÐ´ÐµÑ ÑазÑабоÑан безопаÑнÑй меÑ
анизм вÑполнениÑ. ÐвÑÐ¾Ñ ÑÑнкÑии на недовеÑенном ÑзÑке PL/Python должен позабоÑиÑÑÑÑ Ð¾ Ñом, ÑÑÐ¾Ð±Ñ ÑÑÑ ÑÑнкÑÐ¸Ñ Ð½ÐµÐ»ÑÐ·Ñ Ð±Ñло иÑполÑзоваÑÑ Ð½Ðµ по назнаÑениÑ, Ñак как она Ð¼Ð¾Ð¶ÐµÑ Ð´ÐµÐ»Ð°ÑÑ Ð²ÑÑ, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ñ Ð¿Ñавами админиÑÑÑаÑоÑа баз даннÑÑ
. СоздаваÑÑ ÑÑнкÑии на недовеÑеннÑÑ
ÑзÑкаÑ
, ÑакиÑ
как plpython3u, ÑазÑеÑено ÑолÑко ÑÑпеÑполÑзоваÑелÑм.
ÐÑимеÑание
ÐолÑзоваÑели, имеÑÑие дело Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ñм кодом, Ð´Ð¾Ð»Ð¶Ð½Ñ Ñвно вклÑÑиÑÑ ÑбоÑÐºÑ PL/Python в пÑоÑеÑÑе ÑÑÑановки. (Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº инÑÑÑÑкÑиÑм по ÑÑÑановке.) ÐолÑзоваÑели двоиÑнÑÑ Ð¿Ð°ÐºÐµÑов могÑÑ Ð½Ð°Ð¹Ñи PL/Python в оÑделÑном модÑле.