Re: [GENERAL] bash postgres

2009-03-23 Thread Ivan Sergio Borgonovo
On Mon, 23 Mar 2009 15:03:15 +1100
Greenhorn user.postgre...@gmail.com wrote:

 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 (

I enjoy another technique that's not exactly embedding but makes the
sql file easily executable from other shells to and easier to
maintain (eg. you don't lose syntax highlight, you don't need to
make wide use of x bit, you can concatenate files...).

echo select :a; | psql --set a=3 test
 ?column?
--
3
(1 row)


of course in spite of piping your sql, you could put it into a file.

-- 
Ivan Sergio Borgonovo
http://www.webthatworks.it


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[GENERAL] bash postgres

2009-03-22 Thread Greenhorn
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   textnot null,
 field_2   textnot null,
 field_3   textnot 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


Re: [GENERAL] bash postgres

2009-03-22 Thread Harvey, Allan AC


 -Original Message-
 From: pgsql-general-ow...@postgresql.org
 [mailto:pgsql-general-ow...@postgresql.org]on Behalf Of Greenhorn
 Sent: Monday, 23 March 2009 3:03 PM
 To: pgsql-general@postgresql.org; pgsql-...@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   textnot null,
  field_2   textnot null,
  field_3   textnot 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   textnot null,
  field_2   textnot null,
  field_3   textnot 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, 
please advise the sender and delete the document. Neither OneSteel nor the 
sender accept responsibility for any viruses contained in this email or any 
attachments.

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general