Обсуждение: psql in shell

Поиск
Список
Период
Сортировка

psql in shell

От
"rx"
Дата:
 hallo,
 
Can you help me for my another question?
 
It work good as under in shell without "where-condition" .

TuxFax:~ # echo 'select * from "Faxeingang";'|psql VEIrx -U postgres

PS: VEIrx is database name. Faxeingang is table name.  In SuSE Linux 8.0, bash, postgreSQL7.2.2

DatumFaxeingang | Filename | CSID

------------------------+-------------------------+-----------

2003-04-03 17:30:45+02 | 2003_04_03_17_30_45.tif | Fax

2003-04-04 10:01:01+02 | df.tif | ds

2003-04-04 10:01:04+02 | ddf.tif | aa

(36 rows)

TuxFax:~ #

 

It work good as under in psql with "where-condition" .

PS: VEIrx is database name. Faxeingang is table name.  Filename is column name.

postgres@TuxFax:/root> psql VEIrx

Welcome to psql, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms

\h for help with SQL commands

\? for help on internal slash commands

\g or terminate with semicolon to execute query

\q to quit

VEIrx=# select * from "Faxeingang" where "Filename"='ddf.tif';

DatumFaxeingang | Filename | CSID

------------------------+----------+------

2003-04-04 10:01:04+02 | ddf.tif | aa

(1 row)

 

But when I execute it with "where-condition" in shell as under, come a Error.

PS: VEIrx is database name. Faxeingang is table name.  Filename is column name.

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"=ddf.tif;'|psql VEIrx -U postgres

ERROR: Relation "ddf" does not exist

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"='ddf.tif';'|psql VEIrx -U postgres

ERROR: Relation "ddf" does not exist

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"="ddf.tif";'|psql VEIrx -U postgres

ERROR: Attribute 'ddf.tif' not found

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"="'ddf.tif'";'|psql VEIrx -U postgres

ERROR: Attribute 'ddf.tif' not found

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"=""ddf.tif"";'|psql VEIrx -U postgres

ERROR: zero-length delimited identifier

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"=''ddf.tif'';'|psql VEIrx -U postgres

ERROR: Relation "ddf" does not exist

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"=/ddf.tif/;'|psql VEIrx -U postgres

ERROR: parser: parse error at or near ";"

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"=/ddf.tif/'|psql VEIrx -U postgres

ERROR: parser: parse error at or near ""

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"=/'ddf.tif'/;'|psql VEIrx -U postgres

ERROR: parser: parse error at or near ";"

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"='/ddf.tif/';'|psql VEIrx -U postgres

ERROR: parser: parse error at or near ";"

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"="/ddf.tif/";'|psql VEIrx -U postgres

ERROR: Attribute '/ddf.tif/' not found

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"=\"ddf.tif"\;'|psql VEIrx -U postgres

invalid command \"ddf.tif"

ERROR: parser: parse error at or near ""

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"=\"ddf.tif\";'|psql VEIrx -U postgres

invalid command \"ddf.tif

ERROR: parser: parse error at or near ""

TuxFax:~ # echo "select * from "Faxeingang" where "Filename"=\"ddf.tif\";"|psql VEIrx -U postgres

ERROR: Relation "faxeingang" does not exist

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"=/"ddf.tif/";'|psql VEIrx -U postgres

ERROR: Attribute 'ddf.tif/' not found

TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"=/"ddf.tif"/;'|psql VEIrx -U postgres

ERROR: parser: parse error at or near ";"

TuxFax:~ #

 

thank you very much for your Help!

best regards!
rong

Re: psql in shell

От
Stephan Szabo
Дата:
On Fri, 4 Apr 2003, rx wrote:

(This really didn't need to go to all those lists/people, so replying to
general only)

> Can you help me for my another question?

> But when I execute it with "where-condition" in shell as under, come a Error.
>
> PS: VEIrx is database name. Faxeingang is table name.  Filename is column name.
>
> TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"=ddf.tif;'|psql VEIrx -U postgres
>
> ERROR: Relation "ddf" does not exist

Right because that's select * from "Faxeingang" where "Filename" =
ddf.tif;  (ie, a reference to a tif column of a table named ddf)

> TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"='ddf.tif';'|psql VEIrx -U postgres
>
> ERROR: Relation "ddf" does not exist

This is probably the same as the above (run just the echo part in your
shell).

> TuxFax:~ # echo 'select * from "Faxeingang" where "Filename"="ddf.tif";'|psql VEIrx -U postgres
>
> ERROR: Attribute 'ddf.tif' not found

This is select * from "Faxeingang" where "Filename" = "ddf.tif"
(ie, a reference to a column named ddf.tif in Faxeingang.

How about something like:

echo "select * from \"Faxeingang\" where \"Filename\"='ddf.tif';"


Re: psql in shell

От
Jan Wieck
Дата:
What about \' ?!?

BTW, some of the attempts are at least funny.


Jan

> rx wrote:
>
>  hallo,
>
> Can you help me for my another question?
>
> It work good as under in shell without "where-condition" .
>
> TuxFax:~ # echo 'select * from "Faxeingang";'|psql VEIrx -U postgres
>
> PS: VEIrx is database name. Faxeingang is table name.  In SuSE Linux
> 8.0, bash, postgreSQL7.2.2
>
> DatumFaxeingang | Filename | CSID
>
> ------------------------+-------------------------+-----------
>
> 2003-04-03 17:30:45+02 | 2003_04_03_17_30_45.tif | Fax
>
> 2003-04-04 10:01:01+02 | df.tif | ds
>
> 2003-04-04 10:01:04+02 | ddf.tif | aa
>
> (36 rows)
>
> TuxFax:~ #
>
>
>
> It work good as under in psql with "where-condition" .
>
> PS: VEIrx is database name. Faxeingang is table name.  Filename is
> column name.
>
> postgres@TuxFax:/root> psql VEIrx
>
> Welcome to psql, the PostgreSQL interactive terminal.
>
> Type: \copyright for distribution terms
>
> \h for help with SQL commands
>
> \? for help on internal slash commands
>
> \g or terminate with semicolon to execute query
>
> \q to quit
>
> VEIrx=# select * from "Faxeingang" where "Filename"='ddf.tif';
>
> DatumFaxeingang | Filename | CSID
>
> ------------------------+----------+------
>
> 2003-04-04 10:01:04+02 | ddf.tif | aa
>
> (1 row)
>
>
>
> But when I execute it with "where-condition" in shell as under, come a
> Error.
>
> PS: VEIrx is database name. Faxeingang is table name.  Filename is
> column name.
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"=ddf.tif;'|psql VEIrx -U postgres
>
> ERROR: Relation "ddf" does not exist
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"='ddf.tif';'|psql VEIrx -U postgres
>
> ERROR: Relation "ddf" does not exist
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"="ddf.tif";'|psql VEIrx -U postgres
>
> ERROR: Attribute 'ddf.tif' not found
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"="'ddf.tif'";'|psql VEIrx -U postgres
>
> ERROR: Attribute 'ddf.tif' not found
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"=""ddf.tif"";'|psql VEIrx -U postgres
>
> ERROR: zero-length delimited identifier
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"=''ddf.tif'';'|psql VEIrx -U postgres
>
> ERROR: Relation "ddf" does not exist
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"=/ddf.tif/;'|psql VEIrx -U postgres
>
> ERROR: parser: parse error at or near ";"
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"=/ddf.tif/'|psql VEIrx -U postgres
>
> ERROR: parser: parse error at or near ""
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"=/'ddf.tif'/;'|psql VEIrx -U postgres
>
> ERROR: parser: parse error at or near ";"
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"='/ddf.tif/';'|psql VEIrx -U postgres
>
> ERROR: parser: parse error at or near ";"
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"="/ddf.tif/";'|psql VEIrx -U postgres
>
> ERROR: Attribute '/ddf.tif/' not found
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"=\"ddf.tif"\;'|psql VEIrx -U postgres
>
> invalid command \"ddf.tif"
>
> ERROR: parser: parse error at or near ""
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"=\"ddf.tif\";'|psql VEIrx -U postgres
>
> invalid command \"ddf.tif
>
> ERROR: parser: parse error at or near ""
>
> TuxFax:~ # echo "select * from "Faxeingang" where
> "Filename"=\"ddf.tif\";"|psql VEIrx -U postgres
>
> ERROR: Relation "faxeingang" does not exist
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"=/"ddf.tif/";'|psql VEIrx -U postgres
>
> ERROR: Attribute 'ddf.tif/' not found
>
> TuxFax:~ # echo 'select * from "Faxeingang" where
> "Filename"=/"ddf.tif"/;'|psql VEIrx -U postgres
>
> ERROR: parser: parse error at or near ";"
>
> TuxFax:~ #
>
>
>
> thank you very much for your Help!
>
> best regards!
> rong


--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #