Все, что я пытаюсь сделать, скопировать мой существующий кластер баз данных для обновления от Postgresql 9.4.8 к 9,5. Я нахожусь на Ubuntu 16.04.
Я знаю об этом сообщении: сбои аутентификации по паролю пост-ГРЭС. На самом деле это было уже отмечено с прошлого раза, когда у меня была эта проблема. Я не требую никакого значимого знания пост-ГРЭС. Я не всегда получаю то, что, как предполагается, является командой psql и что, как предполагается, является командой удара и блогами и что не я видел, не всегда ясно дают понять мне. PG является просто моим бэкендом для моих проектов Django. Я, конечно, не понимаю, как у меня есть эта проблема снова.
Мой пользователь Ubuntu является malikarumi. У меня есть два пользователя пост-ГРЭС, maikarumi и пост-ГРЭС. Пост-ГРЭС является суперпользователем. Я пытался сделать malikarumi суперпользователем также некоторое время назад, но это, по-видимому, перестало работать и не, я не знаю почему.
Вот моя первая попытка сегодня:
malikarumi@Tetuoan2:~$ pg_dumpall > 9-4-backup
pg_dumpall: query failed: ERROR: permission denied for relation pg_authid
pg_dumpall: query was: SELECT oid, rolname, rolsuper, rolinherit,rolcreaterole, rolcreatedb, rolcanlogin, rolconnlimit, rolpassword, rolvaliduntil, rolreplication, pg_catalog.shobj_description(oid, 'pg_authid') as rolcomment, rolname = current_user AS is_current_user FROM pg_authid ORDER BY 2
Это прибыло затем:
malikarumi@Tetuoan2:~$ pg_dumpall > 9-4-backup -U postgres
Password:
Не отметьте там ничего, никакой справки, никакой признак что не так или что делать с этим.
Password:
Password:
pg_dump: [archiver (db)] connection to database "esselldb" failed: FATAL: password authentication failed for user "postgres"
pg_dumpall: pg_dump failed on database "esselldb", exiting
Затем я попробовал еще раз с пустым паролем и точкой с запятой
malikarumi@Tetuoan2:~$ pg_dumpall > 9-4-backup -U postgres;
Password:
pg_dumpall: could not connect to database "template1": fe_sendauth: no password supplied
Отметьте работы пароля psql
malikarumi@Tetuoan2:~$ psql -U postgres
Password for user postgres: Note the password works with psql
psql (9.4.8)
Type "help" for help.
Но команда не делает, с или без точки с запятой
postgres=# pg_dumpall > 9-4-backup
postgres-# pg_dumpall > 9-4-backup;
ERROR: syntax error at or near "pg_dumpall"
LINE 1: pg_dumpall > 9-4-backup
Это работает
malikarumi@Tetuoan2:/etc/postgresql/9.4/main$ sudo cat pg_hba.conf
[sudo] password for malikarumi:
По-видимому, это - пользователь UNIX, не пользователь базы данных. Но это и всегда было, тот же пароль.
Я изменил это
# Database administrative login by Unix domain socket
local all postgres md5
взаимодействовать, как предложено в предшествующем сообщении (снова - как это могло возвратиться?!)
Но я не мог перезапустить пост-ГРЭС
malikarumi@Tetuoan2:/etc/postgresql/9.4/main$ pg_ctl stop
pg_ctl: command not found
malikarumi@Tetuoan2:/etc/postgresql/9.4/main$ cd ~
malikarumi@Tetuoan2:~$ pg_ctl stop
pg_ctl: command not found
Это не работало от psql также
postgres=# pg_ctl stop
postgres-# pg_ctl stop;
ERROR: syntax error at or near "pg_ctl"
LINE 1: pg_ctl stop
^
postgres=#
Но по крайней мере psql все еще впускает меня....
Таким образом, я перезагрузил целую машину и попробовал еще раз. Вы знаете то, что произошло
malikarumi@Tetuoan2:~$ pg_dumpall > 9-4-backup -U postgres
pg_dumpall: could not connect to database "template1": FATAL: Peer authentication failed for user "postgres"
Таким образом, я действительно успешно изменял его, но я все еще не могу заставить это работать.Примечание: Это НЕ попросило у меня моего пароля!
Затем я попробовал это
malikarumi@Tetuoan2:~$ su postgres
Password: the right one
su: Authentication failure
malikarumi@Tetuoan2:~$ su postgres
Password: a blank one
su: Authentication failure
И теперь Вы актуальны. BTW, я много раз был к официальным документам пост-ГРЭС и нахожу их плотными и едва понятными. Если бы Вы также знаете о хорошем основном учебном руководстве для не человека дб как я, который был бы услужлив.Спасибо.
Все упомянутые отказы, как ожидают, произойдут, даны контекст, за исключением того, что один:
malikarumi@Tetuoan2:~$ pg_dumpall > 9-4-backup -U postgres
Password:
Здесь Вы сообщаете об отказе, но в другой ситуации ниже:
malikarumi@Tetuoan2:~$ psql -U postgres
Password for user postgres: Note the password works with psql
Вы сообщаете об успехе.
, Но это не складывает. Тот же пароль должен работать точно также на pg_dumpall
в точном контексте, который Вы упоминаете, это:
md5
в pg_hba.conf
(перед изменением ее в остальной части сообщения). -U postgres
опция. malikarumi
. после успешного изменения подлинной схемы на peer
(последняя часть вопроса) что идет не так, как надо, то, что Вы пробуете su
вместо того, чтобы использовать sudo
, последнее существо рекомендуемый метод на Ubuntu.
Использование эта команда при приглашении оболочки:
malikarumi@Tetuoan2:~$ sudo -u postgres pg_dumpall >9-4-backup
Это попросит пароль, отображая что-то как:
[sudo] password for malikarumi:
Примечание, которое это ожидает Ваш пароль , то же, которое Вы используете при открытии сессии под эти malikarumi
имя, в противоположность паролю пост-ГРЭС или паролю базы данных.
sudo -u postgres somepostgrescommand
просто вариант sudo someadmincommand
, Вам разрешают сделать, если Вы - администратор этой рабочей станции Ubuntu.