From: | Ray <rui(dot)vapps(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: upgrade from postgres 8.x to 9.x problem |
Date: | 2010-11-18 02:57:09 |
Message-ID: | 1cc0c960-3563-4ee4-a3e2-69022da861f0@o34g2000vbi.googlegroups.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Nov 17, 8:42 pm, Ray <rui(dot)va(dot)(dot)(dot)(at)gmail(dot)com> wrote:
> Hi,
>
> I have a table column name is called begin, tried to move it to
> postgresql9 from postgresql8.4. the function failed to call
> New.begin.
>
> here is a quick test.
>
> CREATE TABLE test(id serial primary key not null, begin timestamp
> without time zone not null);
> CREATE TABLE test2(id bigint not null, begin timestamp without time
> zone not null);
> create or replace function my_test() returns "trigger"
> as $$
> begin
> insert into test2 values (
> new.id,
> new.begin);
> return null;
> end
> $$
> language plpgsql;
> create trigger my_trigger after insert on test for each row execute
> procedure my_test();
>
> after create everything, run
> INSERT INTO test values (default, now());
>
> on postgresql 8.4
> INSERT INTO test values (default, now());
> INSERT 0 1
>
> on postgresql 9
> INSERT INTO test values (default, now());
> ERROR: missing FROM-clause entry for table "new"
> LINE 3: new.begin)
> ^
> QUERY: insert into test2 values (
> new.id,
> new.begin)
> CONTEXT: PL/pgSQL function "my_test" line 2 at SQL statement
>
> thanks for any help!
figured out. the begin is keyword and need to double quoted.
From | Date | Subject | |
---|---|---|---|
Next Message | Lloyd Parkes | 2010-11-18 03:01:47 | Whose bug is this? |
Previous Message | Ray | 2010-11-18 01:42:44 | upgrade from postgres 8.x to 9.x problem |