Ðлава 43. PL/Python â пÑоÑедÑÑнÑй ÑзÑк Python
- СодеÑжание
- 43.1. Python 2 и Python 3
- 43.2. ФÑнкÑии на PL/Python
- 43.3. ÐнаÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
- 43.1. Python 2 и Python 3
- 43.4. СовмеÑÑное иÑполÑзование даннÑÑ
- 43.5. ÐнонимнÑе блоки кода
- 43.6. ТÑиггеÑнÑе ÑÑнкÑии
- 43.7. ÐбÑаÑение к базе даннÑÑ
- 43.5. ÐнонимнÑе блоки кода
- 43.8. ÐеÑвнÑе подÑÑанзакÑии
- 43.9. ÐÑпомогаÑелÑнÑе ÑÑнкÑии
- 43.10. ÐеÑеменнÑе окÑÑжениÑ
ÐÑоÑедÑÑнÑй ÑзÑк PL/Python позволÑÐµÑ Ð¿Ð¸ÑаÑÑ ÑÑнкÑии PostgreSQL на ÑзÑке Python.
ЧÑÐ¾Ð±Ñ ÑÑÑановиÑÑ PL/Python в опÑеделÑннÑÑ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , вÑполниÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ CREATE EXTENSION plpythonu, либо запÑÑÑиÑе в оболоÑке ÑиÑÑÐµÐ¼Ñ createlang plpythonu имÑ_даннÑÑ (но ÑмоÑÑиÑе Ñакже Раздел 43.1).
ÐодÑказка: ÐÑли ÑзÑк ÑÑÑанавливаеÑÑÑ Ð² template1, он бÑÐ´ÐµÑ Ð°Ð²ÑомаÑиÑеÑки ÑÑÑановлен во вÑе ÑоздаваемÑе впоÑледÑÑвии Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ .
PL/Python пÑедÑÑавлен ÑолÑко в виде "недовеÑенного" ÑзÑка, ÑÑо ознаÑаеÑ, ÑÑо он никаким ÑпоÑобом не огÑаниÑÐ¸Ð²Ð°ÐµÑ Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелей, и поÑÑÐ¾Ð¼Ñ Ð¾Ð½ назÑваеÑÑÑ plpythonu. ÐовеÑÐµÐ½Ð½Ð°Ñ Ð²Ð°ÑиаÑÐ¸Ñ plpython Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾ÑвиÑÑÑÑ Ð² бÑдÑÑем, еÑли в Python бÑÐ´ÐµÑ ÑазÑабоÑан безопаÑнÑй Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ вÑполнениÑ. ÐвÑÐ¾Ñ ÑÑнкÑии на недовеÑенном ÑзÑке PL/Python должен позабоÑиÑÑÑÑ Ð¾ Ñом, ÑÑÐ¾Ð±Ñ ÑÑÑ ÑÑнкÑÐ¸Ñ Ð½ÐµÐ»ÑÐ·Ñ Ð±Ñло иÑполÑзоваÑÑ Ð½Ðµ по назнаÑениÑ, Ñак как она Ð¼Ð¾Ð¶ÐµÑ Ð´ÐµÐ»Ð°ÑÑ Ð²ÑÑ, ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ñ Ð¿Ñавами админиÑÑÑаÑоÑа баз даннÑÑ . СоздаваÑÑ ÑÑнкÑии на недовеÑеннÑÑ ÑзÑÐºÐ°Ñ , ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº plpythonu, ÑазÑеÑено ÑолÑко ÑÑпеÑполÑзоваÑелÑм.
ÐамеÑание: ÐолÑзоваÑели, имеÑÑие дело Ñ Ð¸ÑÑ Ð¾Ð´Ð½Ñм кодом, Ð´Ð¾Ð»Ð¶Ð½Ñ Ñвно вклÑÑиÑÑ ÑбоÑÐºÑ PL/Python в пÑоÑеÑÑе ÑÑÑановки. (Ðа дополниÑелÑнÑми ÑведениÑми обÑаÑиÑеÑÑ Ðº инÑÑÑÑкÑиÑм по ÑÑÑановке.) ÐолÑзоваÑели двоиÑнÑÑ Ð¿Ð°ÐºÐµÑов могÑÑ Ð½Ð°Ð¹Ñи PL/Python в оÑделÑном модÑле.
| ÐÑед. | ÐаÑало | След. |
| ÐнÑÑÑенние оÑобенноÑÑи PL/Perl | УÑÐ¾Ð²ÐµÐ½Ñ Ð²ÑÑе | Python 2 и Python 3 |