【发布时间】:2018-01-12 19:28:45
【问题描述】:
我需要帮助将我的 Postgres 表转换为 CSV 文件。首先,我输入
sudo su postgres (then I enter my password)
psql -d postgres -U postgres
终端长这样:
postgres=#
我输入了 COPY TO 命令以尝试创建一个包含表中所有信息的 .csv 文件,但出现错误:
postgres=# COPY venues TO '/usr/file.csv';
ERROR: could not open file "/usr/file.csv" for writing: Permission denied
我也尝试使用 \copy 命令,但我得到:
postgres=# \COPY venues TO '/usr/file.csv';
/usr/file.csv: Permission denied
我读了几个答案,说我可能无权在某个目录中写入。这是真的吗?
此外,在 postgres 中,架构将 my_name 列为我尝试从(场所)导出信息的表的所有者。但是,这是当我以 postgres 用户身份登录时,我只能在以 postgres 用户身份登录时访问该表。
当我通过简单地输入“psql”登录到 postgres 时,我得到:
my_name=>
当我键入命令“\d”查看该用户下的表格时,我没有看到列出的场地表格。 有人可以帮我解决这个问题吗?提前谢谢你。
【问题讨论】:
-
"我可能没有权限写入某个目录。这是真的吗?"您的错误消息显示“权限被拒绝”,您怎么看?
-
当不带参数输入
psql时,您将登录到与psql -d postgres -U postgres不同的数据库,这就是它没有相同表的原因。 -
@Mat 我不确定“权限被拒绝”的具体用途。这就是我问的原因
-
@hsivru:你不问,为什么不直接去查?比在这里输入整个问题要快得多。
-
我猜@hsivru 的意思是他不确定他是否无权写入文件或读取表或运行命令...嗯,它肯定是一个文件
标签: sql postgresql error-handling database-permissions