Query in postgreSQL version Windows

Started by Ardian Xharraover 20 years ago6 messagesgeneral
Jump to latest
#1Ardian Xharra
axharra@boxxo.info

Hello, there
I installed PostgreSQL on windows and when I try to run some queries pgadmin says an error. I know that if I change the query this it will work but is it possible to make this quey work in this way

SELECT atthasdef
FROM pg_attribute
WHERE attrelid=pg_class.oid AND pg_class.relname='client_overtime' AND attname='id_client_overtime'

This query works fine in PostgreSQL (Linux-Unix platform)
Thx

#2Ardian Xharra
axharra@boxxo.info
In reply to: Ardian Xharra (#1)

Hello, there
I installed PostgreSQL on windows and when I try to run some queries pgadmin says an error. I know that if I change the query this it will work but is it possible to make this quey work in this way

SELECT atthasdef
FROM pg_attribute
WHERE attrelid=pg_class.oid AND pg_class.relname='client_overtime' AND attname='id_client_overtime'

This query works fine in PostgreSQL (Linux-Unix platform)

Thx

#3Michael Fuhr
mike@fuhr.org
In reply to: Ardian Xharra (#2)
Re: Query in postgreSQL version Windows

On Mon, Jan 02, 2006 at 04:01:56PM -0500, Ardian Xharra (Boxxo) wrote:

I installed PostgreSQL on windows and when I try to run some
queries pgadmin says an error.

What version of PostgreSQL? What's the exact error message? That
often provides a clue as to what's wrong. I'll guess that the
Windows box is running 8.1.x and the error is:

ERROR: missing FROM-clause entry for table "pg_class"

I know that if I change the query this it will work but is it
possible to make this quey work in this way

Why don't you want to rewrite the query?

SELECT atthasdef
FROM pg_attribute
WHERE attrelid=pg_class.oid AND pg_class.relname='client_overtime' AND attname='id_client_overtime'

This query works fine in PostgreSQL (Linux-Unix platform)

Another guess: the Linux box is running a version of PostgreSQL
older than 8.1, or if it's running 8.1 then you've enabled
add_missing_from. As the 8.1 Release Notes mention, that option
is now disabled by default. Rather than trying to make the query
work as-is, rewrite it to be proper SQL by adding pg_class to the
FROM clause.

--
Michael Fuhr

#4Ardian Xharra
axharra@boxxo.info
In reply to: Ardian Xharra (#1)
Re: Query in postgreSQL version Windows

Yes it is the version 8.1.1 and the error is
ERROR: missing FROM-clause entry for table "pg_class"
I have too many queries like this in my program and I was thinking maybe is
the fault of installation like I missed something. Is there anything I can
do or it's
the wrong way I was doing the queries in SQL

----- Original Message -----
From: "Michael Fuhr" <mike@fuhr.org>
To: "Ardian Xharra (Boxxo)" <axharra@boxxo.info>
Cc: <pgsql-general@postgresql.org>
Sent: Monday, January 02, 2006 4:29 PM
Subject: Re: [GENERAL] Query in postgreSQL version Windows

On Mon, Jan 02, 2006 at 04:01:56PM -0500, Ardian Xharra (Boxxo) wrote:

I installed PostgreSQL on windows and when I try to run some
queries pgadmin says an error.

What version of PostgreSQL? What's the exact error message? That
often provides a clue as to what's wrong. I'll guess that the
Windows box is running 8.1.x and the error is:

ERROR: missing FROM-clause entry for table "pg_class"

I know that if I change the query this it will work but is it
possible to make this quey work in this way

Why don't you want to rewrite the query?

SELECT atthasdef
FROM pg_attribute
WHERE attrelid=pg_class.oid AND pg_class.relname='client_overtime' AND

attname='id_client_overtime'

This query works fine in PostgreSQL (Linux-Unix platform)

Another guess: the Linux box is running a version of PostgreSQL
older than 8.1, or if it's running 8.1 then you've enabled
add_missing_from. As the 8.1 Release Notes mention, that option
is now disabled by default. Rather than trying to make the query
work as-is, rewrite it to be proper SQL by adding pg_class to the
FROM clause.

--
Michael Fuhr

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.371 / Virus Database: 267.14.11/219 - Release Date:

02/01/2006

--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.371 / Virus Database: 267.14.11/219 - Release Date: 02/01/2006

#5Ardian Xharra
axharra@boxxo.info
In reply to: Ardian Xharra (#4)
Re: Query in postgreSQL version Windows

Thank you Micheal it was the add_missing_from
And sorry for the last post I didn't read the whole message from you.

Ardian

--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.371 / Virus Database: 267.14.11/219 - Release Date: 02/01/2006

#6Tom Lane
tgl@sss.pgh.pa.us
In reply to: Ardian Xharra (#4)
Re: Query in postgreSQL version Windows

"Ardian Xharra \(Boxxo\)" <axharra@boxxo.info> writes:

Yes it is the version 8.1.1 and the error is
ERROR: missing FROM-clause entry for table "pg_class"
I have too many queries like this in my program and I was thinking maybe is
the fault of installation like I missed something. Is there anything I can
do or it's
the wrong way I was doing the queries in SQL

You can set add_missing_from = true to reproduce the pre-8.1 behavior,
but in the long run you'd be better off fixing your code.

regards, tom lane