我在国家统计局 (英国) 网站上找到了一些数据,我正尝试将其从 csv 文件移植到 PostgreSQL 数据库中,以执行查询、数据操作和创建可视化。我正在使用一个我找到的程序,名为普格富特尝试使这个过程更简单(我预计必须对不同的 csv 数据执行多次此操作)。
pgfutter
但是,当我尝试以 root 身份登录或从我的用户目录 () 登录时运行该程序时./pgfutter csv downloadedfile.csv
,出现了以下错误:
pq: password authentication failed for user "postgres"
好的,我想,所以我切换到 postgres 用户帐户,并确保在 sudoers 文件中启用了 postgres。以 postgres 用户身份运行时,命令失败并出现相同错误,并且没有提供输入 postgres 用户密码的选项。
所以...我进入了 postgres 用户帐户并sudo ./pgfutter csv downloadedfile.csv
从那里运行。这至少提示输入密码,但导致了此错误:
postgres is not in the sudoers file. This incident will be reported.
因此,我重新回到 root 权限并打开/etc/sudoers
并编辑了以下行:
username ALL=(ALL) ALL
这导致了同样的错误。我甚至尝试将其更改为:
%username ALL=(ALL) ALL
这会导致同样的错误。
我的理解是,添加username ALL=(ALL) ALL
到 sudoers 文件将允许所有用户访问sudo
(我在 sudoers 文件中也有%sudo ALL=(ALL:ALL) ALL
),但目前情况似乎并非如此。
我如何授予 postgres 用户sudo
权限,从而允许程序正确执行并将数据移植到我的数据库?