Re: upgrade from postgres 8.x to 9.x problem - Mailing list pgsql-general

From Ray
Subject Re: upgrade from postgres 8.x to 9.x problem
Date
Msg-id 1cc0c960-3563-4ee4-a3e2-69022da861f0@o34g2000vbi.googlegroups.com
Whole thread Raw
Responses Re: upgrade from postgres 8.x to 9.x problem  (Robert Gravsjö <robert@blogg.se>)
List pgsql-general
On Nov 17, 8:42 pm, Ray <rui.va...@gmail.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.

pgsql-general by date:

Previous
From: Andres Freund
Date:
Subject: Re: ERROR row is too big size 9336, exceeds size 8160 when populating record with tsquery and tsvector fields
Next
From: Lloyd Parkes
Date:
Subject: Whose bug is this?