Постоянно ли загружает PostgreSQL свои интерпретаторы pl *?

Asked
Viewd285

3

Если бы я написал что-нибудь в plperlu, когда бы этот модуль был перезагружен? Каждый раз, когда функция запускалась? В первый раз запустился? Выгружается ли Perl DLL, если она не использовалась какое-то время, а потом будет перезагружен еще один модуль?

1 ответов

4

Я думаю, что модуль будет загружаться один раз для каждого серверного процесса (т.е. для нового сеанса / соединения) при первом использовании этого языка в рамках этого сеанса.

Вы можете предварительно загрузить их, чтобы избежать задержек при первом использовании, за руководство для shared_preload_libraries и local_preload_libraries а>.

В старых версиях PostgreSQL был только один параметр preload_libraries; см. руководство к своей версии, если вы используете что-то очень старое.

  • Actually, I guess you answered the title of the question dead on. I should open a second question. Thanks!

    Kev18 февраля 2009, 20:43
  • I realize I asked about the DLL too, only because I wondered if the pure-perl modules get precompiled and kept around, thus making module reloading dependent on DLL reloading.

    Kev18 февраля 2009, 20:34
  • Oh…this is handy knowledge, but I think I wasn’t clear, I mean a Perl module, i.e., one actually written in Perl, like Net::SMTP, not the Perl module, plperlu.dll or whatever the Perl interpreter module itself is called.

    Kev18 февраля 2009, 20:31