Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
Привет Народ! У меня вопрос: Есть ли возможность в PG хранить переменные для каждой сесии? В Oracle это можно было делать с помощью пакетов: объявив в них переменные они хранились для каждого сеанса их можно было менять и работать с ними... Подскажите как такое можно реализовать в PG8 Win? Заранее благодарен. Креативу нет предела ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2005, 15:13 |
|
||
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
Почти все PL-языки сохраняют свои глобальные переменные на уровне сессии - нужно лишь создать словарь данных (хэш) для доступа к переменной по имени. Где-то я видел функции на C, но как всегда под виндами с компиляцией морока. А на перле делается элементарно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 04:04 |
|
||
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
этой фишки нету в PlPgsql - 100%... в процедурах написаных на сях и plperl есть.. в голом постгресе есть только "встроенные" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 10:14 |
|
||
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
фффф собирал ли plperl под Windows? если несложно, мог бы сделать небольшое описание? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 10:55 |
|
||
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
Да, некорректно выразился. SQL и PL/PgSQL не позволяют глобальную переменную сделать. Переформулирую: у каждого серверного процесса есть свои данные, сохраняющиеся в рамках сессии. И некоторые языки позволяют к ним обращаться. Niemiсобирал ли plperl под Windows? Нет, пользуюсь готовым (pginstaller). Для компиляции некоторых contrib'ов исходники Постгреса конфигурировал. И сервер собирал, но не пользуюсь. Не очень я с C дружу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 03:41 |
|
||
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
Я для работы с глобальными переменными использую pl/tcl. Да и в доке, когда речь идет о повторном использовании планов выполнения в процедурах, все примеры - на tcl. Но запутанный немного язык, много времени идет, чтобы отловить все баги и процедуру отладить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 18:42 |
|
||
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
strizhЯ для работы с глобальными переменными использую pl/tcl. Да и в доке, когда речь идет о повторном использовании планов выполнения в процедурах, все примеры - на tcl. Но запутанный немного язык, много времени идет, чтобы отловить все баги и процедуру отладить. не подскажите, как насчупать глобальную переменную в Pl/Tcl ??? Например Код: plaintext 1. 2. 3. 4. ДокаThe global name of this variable is the function's internal name, and the local name is GD. It is recommended that GD be used for private data of a function. вот такое вот не работает Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2005, 19:45 |
|
||
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
Первой строкой тела функции на pltcl должна быть команда global GD Если это не сделать - и работать не будет :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 10:44 |
|
||
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
strizhПервой строкой тела функции на pltcl должна быть команда global GD Если это не сделать - и работать не будет :) Привел бы вариантик. А то ж я сидю на винде без тисиэлю, что тама и как - в упор не знаю. Всего-то потребовалось ф-ии сбацать для размещения переменной сессии в память и забора ея-же (триггерами, отрабатывающими в этой сессии). Ан надо букварь искать. Харашо, что есть люди, сидящие на линухах, написали (без global и GD, но через upvar) я так понял, что GD() - это типа рекомендованного "соглашения об именах" , а ни фуга не некая встрояенная в pgtcl структура. Если так - то идут они лесом со своим хелпом, где пишется про ихо "предпочтение" имен, но не пишется, чо надо делать "в натуре". Предпочитатели, мля ЗЫ: Кстати, как поставить pgtcl на 8.0 beta под винду? А то у меня даже dll -ки такой не нашлось. pgperl.dll есть ( но не ставится простым криэйт-ленгом - чё - то надо подкрутить, што ли). А то проверить некий глючок нада (наблюдённый в 7.3. с вызовом SELECT pgtcl_function(); из триггера) ан не на чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 10:58 |
|
||
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
да, всего лишь соглашение. Но спасибо. Раьотает так (и так , и так ): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 11:17 |
|
||
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
Я так и не додумался как поставить такие вкусноти plperl, plpython,pltcl под Windows. Может кто поделиться провиденьем? А может стукнет по голове большой и толстой книжкой и отметит страницы. -- интересно у вас тут ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2005, 13:04 |
|
||
|
Переменыые для Сесии
|
|||
|---|---|---|---|
|
#18+
NiemiЯ так и не додумался как поставить такие вкусноти plperl, plpython,pltcl под Windows. Может кто поделиться провиденьем? А может стукнет по голове большой и толстой книжкой и отметит страницы. Да я в общем уже написал как. По шагам: - скачать и поставить ActiveState Perl; - убедится что c:\program files\perl\bin прописан в переменную PATH; Установка переменой окружения на сервис действует только после полной перезагрузки. Может кто знает, как без перезагрузки environment менять? - доустановить из postgresql-8.msi библиотеку plperl.dll - выполнить Код: plaintext 1. 2. Остальные ставятся аналогично. TCL качается тоже с activestate.com, питон с оффсайта python.org. Только plpython.dll слинкован с определенной версией библиотеки pythonXX.dll, нужно качать соответствующую версию (2.3 кажется). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2005, 03:45 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=32962225&tid=2007389]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 492ms |

| 0 / 0 |
