postgresql - 如何将CSV数据插入PostgreSQL数据库(远程数据库)

标签 postgresql csv

我有一个 CSV 文件。如果文件与数据库位于同一服务器上,我可以使用以下命令将数据插入数据库:

psql -h localhost -d local_mydb -U myuser -c "copy mytable (column1, column2)  from '/path/to/local/file.csv' with delimiter as ','"

但是文件在本地服务器上,数据库在另一台(远程)服务器上。

如果我尝试为远程服务器执行此操作,请使用以下命令:

psql -h remotehost -d remote_mydb -U myuser -c "copy mytable (column1, column2)  from '/path/to/local/file.csv' with delimiter as ','"

我得到一个权限被拒绝的异常。

如何在没有 super 用户权限的情况下将本地文件中的数据插入到远程服务器上的数据库中?

最佳答案

psql\copy(注意反斜杠)允许您复制到远程数据库或从远程数据库复制,并且不需要 super 用户权限。

psql \
  -h $hostname -d $dbname -U $username \
  -c "\copy mytable (column1, column2)  from '/path/to/local/file.csv' with delimiter as ','"

https://www.postgresql.org/docs/current/sql-copy.html

关于postgresql - 如何将CSV数据插入PostgreSQL数据库(远程数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33353997/

相关文章:

ruby-on-rails - Heroku、Rails:PG::SyntaxError

debugging - 在 Postgresql 中,如何调试删除级联后发生的错误?

将多个 CSV 文件读入单独的数据框

sql - 获取sql查询结果为json

Javaee、postgresql 和 tomcat

postgresql - 如何使用 Windows Batch 从文本文件中修剪/删除前导/左侧空格?

xml - 将通话记录备份和恢复 XML callist 转换为 csv

php - CSplit 不 split

json - 使用 node.js 将嵌套的 json 转换为 csv

java - 在Android中更新CSV文件后更新Listview