У меня есть некоторые данные, которые я нашел на веб-сайте Бюро национальной статистики (Великобритания), которые я пытаюсь перенести из CSV-файла в базу данных PostgreSQL для выполнения запросов, манипуляций с данными и создания визуализаций. Я использую программу, которую я нашел под названием pgfutter , чтобы попытаться упростить этот процесс (я ожидаю, что придется делать это несколько раз для разных данных CSV).
Однако, когда я пытался запустить программу pgfutter
при входе в систему как пользователь root или из моего пользовательского каталога (./pgfutter csv downloadedfile.csv
), я получил эту ошибку:
pq: password authentication failed for user "postgres"
Хорошо, Я подумал, поэтому я переключился на учетную запись пользователя postgres и убедился, что включил postgres в файле sudoers. При запуске от имени пользователя 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
(у меня также есть %sudo ALL=(ALL:ALL) ALL
в файле sudoers), но в настоящее время это не так. .
Как мне дать пользователю postgres sudo
разрешения и, следовательно, разрешить программе правильно выполнять и переносить данные в мою базу данных?