我一直在使用psql Postgres终端使用以下命令将CSV文件导入表中
COPY tbname FROM '/tmp/the_file.csv' delimiter '|' csv;
除了必须登录到psql终端以运行它之外,该方法运行良好。
我想知道是否有人从Linux shell命令行中知道执行类似于此命令的方法的方法,类似于Postgres如何允许像下面这样的shell命令
/opt/postgresql/bin/pg_dump dbname > /tmp/dbname.sql
这允许从Linux Shell中转储数据库而无需登录到psql终端。
如PostgreSQL文档(II。PostgreSQL客户端应用程序- psql)中所述,您可以通过psqlswitch 将命令传递给-c:
psql
-c
psql -c "COPY tbname FROM '/tmp/the_file.csv' delimiter '|' csv;"