[GRASS5] Re: [GRASSLIST:9511] Re: switching to postgres

Radim Blazek radim.blazek at gmail.com
Tue Jan 3 10:50:39 EST 2006


Do you use CVS version of GRASS?

Radim

On 1/3/06, Leonardo Lami <lami at faunalia.it> wrote:
> Hi all,
> I see that this problem is common to many commands.
> We see this problem when we change Postgres 8.0 in Postgre 8.1
> In the new version the table are created without oid like you can read above:
>
> (default_with_oids (boolean)
>  This controls whether CREATE TABLE and CREATE TABLE AS include an OID column
> in newly-created tables, if neither WITH OIDS nor WITHOUT OIDS is specified.
> It also determines whether OIDs will be included in tables created by SELECT
> INTO. In PostgreSQL 8.1 default_with_oids is disabled by default; in prior
> versions of PostgreSQL, it was on by default.
>  The use of OIDs in user tables is considered deprecated, so most
> installations should leave this variable disabled. Applications that require
> OIDs for a particular table should specify WITH OIDS when creating the table.
> This variable can be enabled for compatibility with old applications that do
> not follow this behavior.)
>
> If you want create a table with oid cloumn you must use the follow sql:
> 'create table tablename with oids';
>
> or you can change the file:
> /etc/postgresql/8.1/main/postgresql.conf
> setting:
> default_with_oids = true
>
> but, probably, the rigth way is debug GRASS modules
>
> Best regards
>
> Leonardo
>
> Alle 18:54, giovedì 15 dicembre 2005, hai scritto:
> > > 6. use db.describe to check out the vector in GRASS
> > >
> > > GRASS 6.1.cvs (spearfish60):~ > db.describe table=spearfish_soils
> > > driver=pg database=spearfish_soils
> > > DBMI-Postgres driver error:
> > > select * from spearfish_soils where oid < 0
> > > ERROR:  column "oid" does not exist
> > >
> > > What is oid? I can see from the columns that postgres printed out that I
> > > have only columns cat and label, no oid. Is this something that should
> > > have copied and did not?
> >
> > This is bug.  By default postgres is using OID (hidden) column
> > for each table. But it is possible to configure postgres to create tables
> > without that column. My fault, it was stupid to use oid.
> > Fixed in CVS.
> >
> > Radim
>




More information about the grass-dev mailing list