如果我在远程连接到的postgresql中运行以下命令:
SHOW data_directory;
它告诉我
/var/lib/pgsql/9.3/data
如果我将表从这个远程连接的 psql 复制到一个文件并尝试将其保存在我的计算机上,我会运行以下命令:
copy table to 'fileFromTable.csv' csv;
此文件下载到本地计算机上的什么位置?我找不到它。
这个位置/var/lib/pgsql/9.3/data 不存在,因为我假设该位置来自远程位置,而不是在我的本地系统上。 如果我从本地安装的 psql 运行 SHOW data_directory,我会得到:
/usr/local/var/postgres
如果我在本地计算机 (mac) 上将目录更改为此位置,则此目录中没有文件或数据文件夹。
由于您没有指定绝对路径,因此我认为默认情况下,将表复制到的 CSV 的位置应与启动psql
时活动工作目录的位置相同。 为了减轻这种歧义,您始终可以指定绝对(本地)路径,例如:
copy my_table to '/path/to/my/file.csv' with csv;
您对数据目录的看法是正确的 - 它应该是托管数据库服务的远程文件系统上的位置,其中包含支持数据库的具体文件。