| From: | Kenneth Downs <ken(at)secdat(dot)com> |
|---|---|
| To: | Patrick TJ McPhee <ptjm(at)interlog(dot)com> |
| Cc: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: are there static variables in pgsql? |
| Date: | 2006-06-12 15:08:31 |
| Message-ID: | 448D836F.3040004@secdat.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Patrick TJ McPhee wrote:
>I'm not sure a static variable is the right way to achieve this, but
>you could use a custom_variable_class for this. Add this to your
>postgresql.conf:
> custom_variable_classes='global'
>
>Then you can set and show variables prefixed by global.:
> set global.success = 'true';
>
>
>
This is very intriguing, but I'd like to make sure it is doing what I
think it is doing. Is it tracking variables in a connection across SQL
commands? If so, shouldn't this work (Assume the existence of table
"detail" with a column called "val2").
create or replace function SetVal2() returns void as
$$
begin
update detail set val2=global.val2;
end;
$$
language plpgsql
set global.val2=5;
select SetVal2();
I'm getting the following error which I don't understand. Seems I don't
know how to access the variable once it is set.
ERROR: missing FROM-clause entry for table "global"
CONTEXT: SQL statement "update detail set val2=global.val2"
PL/pgSQL function "setval2" line 2 at SQL statement
| Attachment | Content-Type | Size |
|---|---|---|
| ken.vcf | text/x-vcard | 186 bytes |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Lincoln Yeoh | 2006-06-12 15:13:54 | Re: Disk corruption detection |
| Previous Message | gl | 2006-06-12 13:38:11 | pg_dump: missing pg_database entry |