テーブルの内容をファイルに出力したり、ファイルからの入力をテーブルに取り込むことができる。
\copy テーブル名 {to | from} ファイル名 [csv] [delimiter '文字']
・toはファイルへの出力、fromはファイルからの入力を意味する。
・csvを指定すると区切り文字がカンマ(,)になる。
・delimiterによって、任意の区切り文字を指定することができる。
empテーブルを元に戻す。
oddtbs=> \i emp_insert011.sql ... oddtbs=> select * from emp; code | name | gender | age | tel --------+----------+--------+-----+--------- 564001 | 鈴木義男 | 1 | 58 | 11-1111 564002 | 斎藤洋子 | 2 | 44 | 22-2222 564003 | 山田美樹 | 2 | 33 | 33-3333 564004 | 田中秀明 | 1 | 35 | 44-4444 564005 | 佐藤研一 | 1 | 30 | 55-5555 564006 | 相原佳子 | 2 | 28 | 66-6666 564007 | 小林律子 | 2 | 33 | 77-7777 564008 | 吉田隆士 | 1 | 24 | 88-8888 (8 rows)
ログイン画面から実行。
oddtbs=> \copy emp to emp01.dat oddtbs=> \copy emp to emp02.dat csv oddtbs=> \copy emp to emp03.dat delimiter ';'
emp01.dat, emp02.dat, emp03.datの内容を確認
ログイン画面から実行。
oddtbs=> delete from emp; oddtbs=> \copy emp from emp01.dat oddtbs=> select * from emp;
ログイン画面から実行。
oddtbs=> delete from emp; oddtbs=> \copy emp from emp02.dat csv oddtbs=> select * from emp;
ログイン画面から実行。
oddtbs=> delete from emp; oddtbs=> \copy emp from emp03.dat delimiter ';' oddtbs=> select * from emp;
区切り文字があっていない場合どうなるか確認。