一直以为这个命令中的输入文件中只能用tab进行分割列,其实不然,对它的用法有一语法规则:
\copy 表名 FROM '文件名'
[USING DELIMITERS '作为分隔符的单个字符']
[WITH NULL AS '代表NULL的字符串']
其中[]中的内容为可选项
例子如下:
cust.txt文件中内容
原customer表中的数据
\copy 后customer表中数据【注意结尾没有分号,因为这是psql直接执行的命令,不是sql语句】
还有一个注意的地方:cust.txt所在的目录如下图,在此目录下psql进入数据库,可直接\copy加上文件名即可,或者在文件名处写上文件所在路径也可以
如:bpsimple=> \copy customer from '/usr/local/pgsql/data/create_bpsimple/cust.txt' using delimiters ','