Hi Alvaro,

In the function I'm trying to drop this table if it already exists:

BEGIN

DROP TABLE vertices_tmp;
EXCEPTION 
 WHEN UNDEFINED_TABLE THEN
END;
                                                                    
CREATE TABLE vertices_tmp ( id serial );

...

Thanks,
Anton.

> Anton wrote:
> 
> > 
> > CREATE TABLE vertices_tmp(id serial);
> > 
> > It's working fine with PostgreSQL 8.2.4 but crashes with segfault at
> > versions 8.1.9 and 8.2.5.
> 
> Works for me:
> 
> alvherre=# create function test_anton() returns void language plpgsql
as $$ begin create table anton(a serial); end; $$;
> CREATE FUNCTION
> alvherre=# select test_anton();
> NOTICE:  CREATE TABLE will create implicit sequence "anton_a_seq" for
serial column "anton.a"
> CONTEXT:  SQL statement "create table anton(a serial)"
> PL/pgSQL function "test_anton" line 1 at SQL statement
>  test_anton 
> ------------
>  
> (1 row)
> 
> alvherre=# select version();
>
version                                                          
>
---------------------------------------------------------------------------------------------------------------------------
>  PostgreSQL 8.2.5 on x86_64-unknown-linux-gnu, compiled by GCC gcc-4.1
(GCC) 4.1.3 20070831 (prerelease) (Debian 4.1.2-16)
> (1 row)
> 
> My guess is you are doing something else on the function that you
> aren't showing.  Whatever you do after the CREATE TABLE perhaps.
> 



---------------------------(end of broadcast)---------------------------
TIP 7: You can help support the PostgreSQL project by donating at

                http://www.postgresql.org/about/donate

Reply via email to