我按照本教程使用 Homebrew 在运行 macOS 10.13.6 的 Mac 上安装了 PosgreSQL 10.5 。安装后,我运行=# \du查看所有用户。我看到教程说 PostgreSQL 在安装过程中创建的 Mac 用户名,但是没有创建“postgres”默认用户(或者至少没有出现)。
我的主要问题是...
我需要“从根目录”登录 PostgreSQL,我要么不明白这到底是什么意思,要么出了点问题。在遵循PostgreSQL wiki 的第一步文档中的第一步时,它说...
首先以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
......这些都没有奏效。它没有创建用户或模式。
历史...
- 过去我曾多次在这台 Mac 上安装/卸载 PostgreSQL 以进行测试
- 由于各种原因,我还安装/卸载了 pdAdmin
很有可能我在所有的洗牌中做了一些事情,导致了这个问题,在这个 Homebrew 安装期间没有创建“postgres”角色。因此,我确实通读了该教程的其余部分,并且确实输入了$ createuser postgres
内容,这似乎确实创建了“postgres”角色。我尝试使用ALTER ROLE
来赋予该角色,Create DB
但我永远无法使用命令行使其工作,所以我只是打开了 pgAdmin,看到了角色,授予它创建 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 Web 应用程序。在 YouTube 教程中,他使用 MySQL,但我想使用 PostgreSQL。不用说,我正面临学习曲线。