How to import/export data from/to an ASCII file?

Started by Raymond Chuiabout 25 years ago4 messages
#1Raymond Chui
raymond.chui@noaa.gov

For example

create table testTable (
id integer,
name char(20)
);

an ASCII file format with field separator "|" is

1|Hello|
2|Again|
......

There is a way to do this in Oracle, Sybase, Informix and MySQL.
But I want to know how to do this in PostgreSQL.

Please don't tell me use pg_dump, because it is not a correct answer for

my question!

Thank you!

#2Thomas Lockhart
lockhart@alumni.caltech.edu
In reply to: Raymond Chui (#1)
Re: [HACKERS] How to import/export data from/to an ASCII file?

Use

COPY table FROM 'filename' USING DELIMITERS '|';

- Thomas

#3Joel Burton
jburton@scw.org
In reply to: Raymond Chui (#1)
Re: [HACKERS] How to import/export data from/to an ASCII file?

For example

create table testTable (
id integer,
name char(20)
);

an ASCII file format with field separator "|" is

1|Hello|
2|Again|
......

There is a way to do this in Oracle, Sybase, Informix and MySQL.
But I want to know how to do this in PostgreSQL.

Please don't tell me use pg_dump, because it is not a correct answer
for

Look at the documentation for COPY

\h COPY

Questions like this should be posted to pgsql-general, not pgsql-
hackers.
--
Joel Burton, Director of Information Systems -*- jburton@scw.org
Support Center of Washington (www.scw.org)

#4Josh Rovero
provero@home.com
In reply to: Raymond Chui (#1)
Re: How to import/export data from/to an ASCII file?

Try \copy or copy commands in psql:

I normally use \copy for tab-delimited files.
But copy also works and has help....

\h copy
Command: COPY
Description: Copies data between files and tables
Syntax:
COPY [ BINARY ] table [ WITH OIDS ]
FROM { 'filename' | stdin }
[ [USING] DELIMITERS 'delimiter' ]
[ WITH NULL AS 'null string' ]
COPY [ BINARY ] table [ WITH OIDS ]
TO { 'filename' | stdout }
[ [USING] DELIMITERS 'delimiter' ]
[ WITH NULL AS 'null string' ]

Raymond Chui wrote:

Show quoted text

For example

create table testTable (
id integer,
name char(20)
);

an ASCII file format with field separator "|" is

1|Hello|
2|Again|
.......

There is a way to do this in Oracle, Sybase, Informix and MySQL.
But I want to know how to do this in PostgreSQL.

Please don't tell me use pg_dump, because it is not a correct answer for

my question!

Thank you!