[postgis-users] To OID or not to OID?

Mike Leahy mgleahy at alumni.uwaterloo.ca
Thu Dec 14 12:45:33 PST 2006


Hello Bruce,

 From my perspective as a frequent user of PostgreSQL/PostGIS (though 
not an expert), I would recommend the latter of the two options you 
mention.  I've found that not using OIDs makes the database/tables more 
portable using pg_dump.  With OIDs, which are no longer default in 
PostgreSQL, you'll always need to remember to include the option to dump 
OIDs when you export/backup your data.  Using a field like gid 
explicitly declared in the table makes things simpler down the road.  I 
can't say for sure whether there are performance benefits one way or the 
other, but I would guess that since the gid field gets indexed when it 
is declared as the primary key, the performance would be essentially the 
same.

Mike

Bruce Rindahl wrote:
> I am creating and populating a table with X and Y values as attributes.
> After the table is created I will add a geometry column and populate it with
> points from the X and Y attributes.  My question is what is the better
> approach?  Something like this?
> 
> CREATE TABLE wells
> (
>   receipt varchar(8),
>   utm_x float8,
>   utm_y float8
> ) 
> WITH OIDS;
> SELECT AddGeometryColumn('','wells','the_geom','26913','POINT',2);
> 
> Or the method used by shp2pgsql?
> 
> CREATE TABLE wells
>  (
>    gid serial PRIMARY KEY,
>    receipt" varchar(8),
>    utm_x" numeric,
>    utm_y" numeric
> );
> SELECT AddGeometryColumn('','wells','the_geom','26913','POINT',2);
> 
> In the first method the oid field becomes the primary key where in the
> second method the gid field becomes the primary key.
> 
> Is there a performance difference?
> 
> Thanks
> Bruce Rindahl
> 
> 
> _______________________________________________
> postgis-users mailing list
> postgis-users at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users
> 



More information about the postgis-users mailing list