Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to export the resulting data in PostgreSQL to .CSV?

I use PostgreSQL 9.4.1

My query:

copy(select * from city) to 'C:\\temp\\city.csv'
copy(select * from city) to E'C:\\temp\\city.csv'

ERROR: relative path not allowed for COPY to file ********** Error **********

ERROR: relative path not allowed for COPY to file SQL state: 42602

like image 628
junior Avatar asked May 08 '15 17:05

junior


3 Answers

As with this case, it seems likely that you are attempting to use copy from a computer other than the one which hosts your database. copy does I/O from the database host machine's local file system only. If you have access to that filesystem, you can adjust your attempt accordingly. Otherwise, you can use the \copy command in psql.

like image 144
Politank-Z Avatar answered Oct 16 '22 07:10

Politank-Z


I am using pgAdmin v1.5 . The first query is

select table_name from information_schema.tables where table_catalog = 'ofbiz' order by table_name

Then I press button download, pgAdmin will return a csv file, is result set of first query. enter image description here

like image 45
Do Nhu Vy Avatar answered Oct 16 '22 07:10

Do Nhu Vy


It could be late but i think it can be helpful.

  1. On Windows, make sure the output directory has gain the read/write right for Everyone (or you can specific user name).
  2. Using slash(/) instead of backslash(), example

COPY DT1111 TO 'D:/TEST/DT1111_POST.CSV' DELIMITER ',' CSV HEADER;

like image 34
kidnan1991 Avatar answered Oct 16 '22 07:10

kidnan1991