我正在尝试在 Ubuntu 14 服务器上设置 Postgres 9.3,此时我感到非常沮丧。我以前使用过 MySQL,所以我对一般数据库概念以及客户端/服务器模型等很满意。
我从两个用户开始——“root”和“sam”(我)。作为“sam”,我使用 apt-get 安装 postgresql。这还创建了第三个名为“postgres”的用户。
Fine.
我被告知要使用 postgres,您必须以 postgres 用户身份登录,因此我切换到该帐户。显然,这带有一个 postgres 管理角色(我认为我对角色本身的概念很满意),并且显然所有角色都有一个同名的关联数据库(?)。那么现在我有一个名为 postgres 的 Linux 帐户、一个名为 postgres 的角色和一个名为 postgres 的数据库?这一切似乎都是不必要的,但我假设它是有用的,原因我不知道(不是讽刺的意思 - 当事情一开始看起来过于复杂时通常就是这种情况)。
那么,要创建数据库,我是否以 postgres 身份登录服务器,通过键入“psql”启动 postgres(它不要求输入密码 - 为什么 postgres 帐户没有密码?)并从那里继续?或者我应该创建一个新角色?该角色是否需要自己的 Linux 用户?该角色应该与我要创建的数据库同名吗?
我知道这有点混乱,但我很困惑,我什至不确定我是否理解这里的基础知识。我想念MySQL。
我一直主要使用的是数字海洋教程 https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-14-04为此 - 这通常非常好 - 但它并没有真正阐明这一点。我还阅读了 postgres 文档(特别是安装和用户/角色部分),这没有帮助,谷歌的结果甚至没有帮助。
这是我回到 MySQL 安全毯之前的最后希望。对于进行此点击有什么建议吗?
- 操作系统用户名和 Postgres DB 用户名是不相关的;他们生活在不同的宇宙中。
- one 例外: 如果你连接来自同一台机器通过unix域套接字,你不要明确指定用户名,您的操作系统名称也被假定为您的数据库用户名。 (在大多数情况下这是不正确的)
- 第二个例外:“postgres”用户名同时用作操作系统用户名(文件的所有者、正在运行的进程的 uid)and作为 DBMS 超级用户。
- 注意:“root”对于数据库用户来说是一个不好的名字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)