2

我正在尝试从本地计算机将文件上传到 PostgreSQL 数据库,我得到的错误是:

sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) could not open file "C:\Mar-2015.csv" for reading: No such file or directory

我试图运行的命令是:

pcon = 'postgresql://user:password@ipaddress:5432/dbname::tablename'
path = os.path.normpath(
       'C:/Mar-2015.csv'))
o.odo(path, pcon, sep='|')

看起来 PostgreSQL 正在尝试在远程服务器上而不是在本地机器上查找文件。在服务器上运行脚本(并将文件路径更改为服务器上的某个位置)运行良好,这似乎证实了我的怀疑。

是否可以使用 odo 将文件从我的本地机器上传到远程 PostgreSQL 机器?我正在使用亚马逊 RDS。

4

1 回答 1

1

odo我在将 CSV 加载到 PostgreSQL 数据库但在 Docker 容器中时遇到了类似的问题。你是对的,odo在 PostgreSQL 数据库的主机中查找文件。我设法使这项工作将文件夹安装到客户端和服务器容器中的相同路径。

为了解决您的问题,您可以使用scp将文件上传到您的服务器并运行 Python 脚本,您需要通过 SSH 访问您的服务器

scp /path/to/local/file username@remote:/path/to/server/file

然后像往常一样运行你的脚本。

于 2017-04-26T07:09:06.033 回答