> -----Original Message-----
> From: pgsql-general-owner@postgresql.org
> [mailto:pgsql-general-owner@postgresql.org]On Behalf Of Greenhorn
> Sent: Monday, 23 March 2009 3:03 PM
> To: pgsql-general@postgresql.org; pgsql-sql@postgresql.org
> Subject: [GENERAL] bash & postgres
>
>
> Hi,
>
> I'm trying to pass variables on a bash script embedded with
> psql commands.
>
> cat header.txt
>
> "to1","from1","subject1"
> "to2","from2","subject2"
> "to3","from3","subject3"
> "to4","from4","subject4"
>
> cat b.sh
>
> #!/bin/bash
> two="2"
>
> psql -h localhost -U postgres -d mobile -c "create temp table header (
>
> field_1 text not null,
> field_2 text not null,
> field_3 text not null
>
> );
>
> \\copy header FROM header.txt CSV
>
> SELECT * FROM header limit "$two"; "
>
>
> When I execute b.sh
> ================================
> ERROR: syntax error at or near "\"
> LINE 10: \copy header FROM header.txt CSV
> ^
>
> How do I use \c (or any other psql commands beginning with a "\") in a
> bash script?
>
> Thanks.
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
> #!/bin/bash
> two="2"
Try something like
psql -h localhost -U postgres -d mobile <<ENDOFSQL
create temp table header (
field_1 text not null,
field_2 text not null,
field_3 text not null
);
\copy header FROM header.txt CSV
SELECT * FROM header limit $two;
ENDOFSQL
The material contained in this email may be confidential, privileged or copyrighted. If you are not the intended
recipient,use, disclosure or copying of this information is prohibited. If you have received this document in error,
pleaseadvise the sender and delete the document. Neither OneSteel nor the sender accept responsibility for any viruses
containedin this email or any attachments.