From: | Marek Lewczuk <newsy(at)lewczuk(dot)com> |
---|---|
To: | fryk <fryk(at)tlen(dot)pl> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Client's variables |
Date: | 2005-01-20 19:09:27 |
Message-ID: | 41F001E7.50903@lewczuk.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
fryk napisał(a):
> Hi,
>
> How to set such variable after (during?) client connection (PHP)?
>
> I want to use it in view - so view could depends on it:
>
> If I could set client's variable i.e. MY_VAR='hello' then I could do
> something like this:
>
> CREATE VIEW my_view AS SELECT * FROM pg_tables WHERE tablename ~* (SELECT
> MY_VAR FROM ???)
You have (at least) two choices. First is to use temporary table, where
you can store anything you wish and it will be visible and available for
current connection/session.
Read more:
http://www.postgresql.org/docs/8.0/interactive/sql-createtable.html
Another solution is to use plperl - this is more flexible then the first
one. plperl supports global values - go to:
http://www.postgresql.org/docs/8.0/interactive/plperl-global.html
and see examples set_var and get_var.
You decide what is the best solution for your needs.
In Polish:
Masz dwa wyjścia. Pierwszy wykorzystać tablice tymczasową, w której
możesz trzymać co chcesz. Będzie ona widoczna tylko dla jednego
użytkownika w obecnej sesji/połączeniu. Zobacz więcej:
http://www.postgresql.org/docs/8.0/interactive/sql-createtable.html
Drugie rozwiązanie to skorzystać z plperl'a - to jest bardziej
elastyczne rozwiązanie. Plperl posiada możliwość tworzenia globalnych
zmiennych. Zobacz więcej:
http://www.postgresql.org/docs/8.0/interactive/plperl-global.html
Masz tam przykładowe funkcje, które możesz śmiało wykorzystać.
Sam zdecyduj co jest lepszym rozwiązaniem w Twojej aplikacji.
ML
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2005-01-20 19:14:05 | Re: Unique Index |
Previous Message | Dann Corbit | 2005-01-20 18:55:50 | Re: Unique Index |