.txt" for writin-6ren">
gpt4 book ai didi

python - psycopg2 在/tmp 上的权限被拒绝

转载 作者:行者123 更新时间:2023-11-29 13:03:17 25 4
gpt4 key购买 nike

运行 copy 时通过 psycopg2 命令我得到错误

psycopg2.ProgrammingError: could not open file "/tmp/<>.txt" for writing: Permission denied

我不知道这个问题的病因,但过去我一直能够运行复制命令而没有这个问题。与 this question 的答案不同,将输出位置更改为主文件夹不会更改结果。我试过重置 /tmp权限 chmod -R 777 /tmp ,但没有成功。使用 sudo 权限运行脚本也没有用。接下来我应该尝试什么来解决这个问题?

该过程的代码示例是:

import psycopg2 as post
con = post.connect(<dbname>, <host>, <user>, <password>)
cur = con.cursor()
with open('/tmp/out_path.txt', 'w') as f:
cur.copy_expert("COPY <table> TO '/tmp/out_path.txt' WITH CSV HEADER" +
"DELIMITER AS E'\t'", f)
# close connections, etc

我在 Ubuntu 12.04 服务器、PostgreSQL 9.3、Python 2.7 上。客户端和主机都在同一台机器上——我在通过 ssh 登录时运行脚本。

最佳答案

with open('/tmp/out_path.txt', 'w') as f:
cur.copy_expert("""
COPY <table> TO STDOUT WITH CSV HEADER DELIMITER AS E'\t'
""", f)

From the docs :

The sql statement should be in the form COPY table TO STDOUT to export table to the file object passed as argument

关于python - psycopg2 在/tmp 上的权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22527017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com