Не уверен, что на моем Mac правильно установлен PostgreSQL для создания веб-приложения Flask - PullRequest
0 голосов
/ 25 августа 2018

Я установил PosgreSQL 10.5 на Mac с MacOS 10.13.6, используя Homebrew, следуя этому руководству. После установки я запустил = # \ du , чтобы просмотреть всех пользователей. Я видел пользователя с именем моего Mac, который, как говорится в руководстве, PostgreSQL создает во время установки, но пользователь по умолчанию «postgres» не был создан (или, по крайней мере, не появился).

Мой главный вопрос ...

Мне нужно войти в PostgreSQL «в корне», и я либо не совсем понимаю, что это значит, либо что-то не так. Следуя самым первым шагам из документации Первые шаги *1012* вики вики PostgreSQL, он говорит ...

Первое подключение / вход в систему как root:

 # su - postgres
 $ psql
 psql (9.6.0)
 Type "help" for help.

Но когда я открываю окно терминала и набираю su - postgres, он запрашивает пароль. Я набрал каждый пароль, который мог бы дать эту роль, и он просто говорит: su: Sorry.

Я провел некоторое исследование и попытался изменить пароль, выполнив следующее:

postgres=# \password postgres.

Это побудило меня дважды ввести пароль, и это, похоже, сработало. Но когда я возвращаюсь и бегаю: su - postgres, это просто дает мне то же самое su: sorry.

Итак, я попытался набрать: psql postgres. Это по крайней мере изменило $ на postgres = #, что говорит мне о том, что я нахожусь в командной строке PostgreSQL, а затем то же самое: su: postgres, но это только изменило знак (=) на (-), так что теперь изменено на: postgres-#

Я подумал, что, возможно, это означало, что я "вошел в PostgreSQL в корне, но затем я запустил следующее:

postgres=# su - postgres
postgres-# CREATE SCHEMA test
postgres-# CREATE USER tester PASSWORD 'P@ssword1'
postgres-# GRANT ALL ON SCHEMA test TO tester
postgres-# \q

... и ничего из этого не сработало. Он не создал пользователя или схему.

История ...

  • Я установил / удалил PostgreSQL на этом Mac несколько раз в прошлом для тестирования
  • Я также установил / удалил pdAdmin по разным причинам

Вполне возможно, что я сделал что-то во всем этом перемешивании, которое вызвало эту проблему с ролью 'postgres', не создаваемой во время этой установки Homebrew. Итак, я прочитал оставшуюся часть этого урока и набрал $ createuser postgres, и это, похоже, создало роль 'postgres'. Я пытался использовать ALTER ROLE для предоставления этой роли Create DB, но я никогда не мог заставить его работать с помощью командной строки, поэтому я просто открыл pgAdmin, увидел роль, предоставил ей Create DB, а затем снова в командной строке запустил =# \du снова, и Create DB появился рядом с ролью «postgres», которую я создал. Я добавил все в pgAdmin, и теперь это выглядит так.

                                      List of roles
   Role name    |                         Attributes                         | Member of
----------------+------------------------------------------------------------+-----------
 MyMacsNameHere | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 postgres       | Superuser, Create role, Create DB, Replication             | {} 

Моя конечная цель ...

Я пытаюсь выполнить этот учебник YouTube по созданию веб-приложения Flask с нуля. В учебнике YouTube он использует MySQL, но я хочу использовать PostgreSQL. Само собой разумеется, я против кривой обучения.

...