On Jan 28, 2006, at 4:12 PM, Rich Shepard wrote:
Please keep replies on the mailing list.
<snip>
>> Again, you can't use redirection via the psql prompt. But you can
>> do it
>> via your shell command line:
>>
>> $ psql -c "\dt" > xrms.tables
>
> Well, that doesn't seem to be working here, either:
>
> [rshepard@salmo ~]$ psql -c contacts "\dt" > xrms.tables
> psql: FATAL: database "\dt" does not exist
>
> [rshepard@salmo ~]$ psql "-c contacts \dt" > xrms.tables
> psql: FATAL: database "rshepard" does not exist
>
> [rshepard@salmo ~]$ psql -c contacts
> psql: FATAL: database "rshepard" does not exist
That's because you've used the wrong syntax.
$ psql contacts -c "\dt" > xrms.tables
This is why I suggested you read the psql man page.
>> Alternatively, you can use psql's "\o [FILE]" command to redirect
>> query results to a file:
> This creates the file, but it's empty.
>
> I'm curious what's gone wrong here. Nothing seems to be working
> as it
> should.
Likely, the output is buffered. Did you try quitting psql (via \q)
before checking the contents of the file.
>> You should also read the psql man page and the output of psql's
>> "\h" command.
>
> I've done both and tried various combinations of syntax. For
> example:
>
> [rshepard@salmo ~]$ psql -d contacts -c pg_dump -o xrms.tables
> ERROR: syntax error at or near "pg_dump" at character 1
> LINE 1: pg_dump
Dude, "pg_dump" is not a psql command, nor is it a SQL command. It's
a command-line program. You run it from your shell:
$ pg_dump --schema-only pg_dump > xrms-schema.dmp
> All I get are error messages.
You continually do the wrong things. Read the man pages. Seriously.
eric