Ðлава 44. PL/Python â пÑоÑедÑÑнÑй ÑзÑк Python
СодеÑжание
- 44.1. Python 2 и Python 3
- 44.2. ФÑнкÑии на PL/Python
- 44.3. ÐнаÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
- 44.2. ФÑнкÑии на PL/Python
- 44.4. СовмеÑÑное иÑполÑзование даннÑÑ
- 44.5. ÐнонимнÑе блоки кода
- 44.6. ТÑиггеÑнÑе ÑÑнкÑии
- 44.7. ÐбÑаÑение к базе даннÑÑ
- 44.5. ÐнонимнÑе блоки кода
- 44.8. ЯвнÑе подÑÑанзакÑии
- 44.9. УпÑавление ÑÑанзакÑиÑми
- 44.10. ÐÑпомогаÑелÑнÑе ÑÑнкÑии
- 44.11. ÐеÑеменнÑе окÑÑжениÑ
- 44.10. ÐÑпомогаÑелÑнÑе ÑÑнкÑии
ÐÑоÑедÑÑнÑй ÑзÑк PL/Python позволÑÐµÑ Ð¿Ð¸ÑаÑÑ ÑÑнкÑии и пÑоÑедÑÑÑ Postgres Pro на ÑзÑке Python.
ЧÑÐ¾Ð±Ñ ÑÑÑановиÑÑ PL/Python в опÑеделÑннÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, вÑполниÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ CREATE EXTENSION plpythonu (но ÑмоÑÑиÑе Ñакже Раздел 44.1).
ÐодÑказка
ÐÑли ÑзÑк ÑÑÑанавливаеÑÑÑ Ð² template1, он бÑÐ´ÐµÑ Ð°Ð²ÑомаÑиÑеÑки ÑÑÑановлен во вÑе ÑоздаваемÑе впоÑледÑÑвии Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
.
PL/Python пÑедÑÑавлен ÑолÑко в виде «недовеÑенного» ÑзÑка, ÑÑо ознаÑаеÑ, ÑÑо он никаким ÑпоÑобом не огÑаниÑÐ¸Ð²Ð°ÐµÑ Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей, и поÑÑÐ¾Ð¼Ñ Ð¾Ð½ назÑваеÑÑÑ plpythonu. ÐовеÑÐµÐ½Ð½Ð°Ñ Ð²Ð°ÑиаÑÐ¸Ñ plpython Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑвиÑÑÑÑ Ð² бÑдÑÑем, еÑли в Python бÑÐ´ÐµÑ ÑазÑабоÑан безопаÑнÑй меÑ
анизм вÑполнениÑ. ÐвÑÐ¾Ñ ÑÑнкÑии на недовеÑенном ÑзÑке PL/Python должен позабоÑиÑÑÑÑ Ð¾ Ñом, ÑÑÐ¾Ð±Ñ ÑÑÑ ÑÑнкÑÐ¸Ñ Ð½ÐµÐ»ÑÐ·Ñ Ð±Ñло иÑполÑзоваÑÑ Ð½Ðµ по назнаÑениÑ, Ñак как она Ð¼Ð¾Ð¶ÐµÑ Ð´ÐµÐ»Ð°ÑÑ Ð²ÑÑ, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ñ Ð¿Ñавами админиÑÑÑаÑоÑа баз даннÑÑ
. СоздаваÑÑ ÑÑнкÑии на недовеÑеннÑÑ
ÑзÑкаÑ
, ÑакиÑ
как plpythonu, ÑазÑеÑено ÑолÑко ÑÑпеÑполÑзоваÑелÑм.
ÐÑимеÑание
ÐолÑзоваÑели, имеÑÑие дело Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ñм кодом, Ð´Ð¾Ð»Ð¶Ð½Ñ Ñвно вклÑÑиÑÑ ÑбоÑÐºÑ PL/Python в пÑоÑеÑÑе ÑÑÑановки. (Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº инÑÑÑÑкÑиÑм по ÑÑÑановке.) ÐолÑзоваÑели двоиÑнÑÑ Ð¿Ð°ÐºÐµÑов могÑÑ Ð½Ð°Ð¹Ñи PL/Python в оÑделÑном модÑле.