有人可以解释一下 Postgresql 角色、Postgresql 用户和 Linux 用户之间的关系吗?

2024-05-23

我正在尝试在 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(使用前将#替换为@)

有人可以解释一下 Postgresql 角色、Postgresql 用户和 Linux 用户之间的关系吗? 的相关文章

随机推荐

  • 如何为我的 Django 项目正确设置 DJANGO_SETTINGS_MODULE (我正在使用 virtualenv)?

    我在为 Django 项目设置 DJANGO SETTINGS MODULE 时遇到一些问题 我有一个目录 dev django project 在这个目录中 我有一个用 virtualenv 设置的虚拟环境 还有一个名为 blossom
  • 需要解析HL7消息

    我需要解析HL7消息 首先验证消息然后解析 XMLParser xmlParser new DefaultXMLParser encode message in XML String hl7MessageInXML null try hl7
  • 如何设置响应文件名而不强制“另存为”对话框

    我在某些响应中返回一个流 设置适当的content type标头 我正在寻找的行为是这样的 如果浏览器能够呈现给定内容类型的内容 那么它应该将其显示在浏览器窗口中 如果浏览器不知道如何呈现内容 那么它应该显示 另存为 对话框 其中文件名应该
  • Angular 4:类型“AbstractControl”上不存在属性“push”和“controls”

    我从这个链接实现了代码http plnkr co edit yV94ZjypwBgHAlb0RLK2 p preview http plnkr co edit yV94ZjypwBgHAlb0RLK2 p preview但获取推送和控制错误
  • GET 错误:ModuleNotFoundError:没有名为“api”的模块

    当我尝试运行 pytest 命令时出现错误 错误是当我在 docker 上运行应用程序时 当我在本地执行时 它可以工作 还有另一个好奇心 swagger 和 de requests 工作正常 只是测试文件不行 我已经尝试过 python m
  • 在 UITableViewCell 内动态更改标签宽度

    我正在尝试建立一个自定义表格视图 正如您在图片中看到的 我在故事板一侧将标签的宽度默认设置为 160 磅 并在加载表格时动态更改宽度 我通过修改 cellForRowAtIndexPath 委托方法来实现此目的 因此 根据日期的长度 我设置
  • 构造函数初始化列表中的执行顺序

    构造函数初始化列表中的执行顺序是否可以确定 我知道类中的成员顺序是初始化这些成员的顺序 但是如果我有这样的场景 class X X Implementation impl and then providing that allocator
  • 如何更改android Activity标签

    我创建了一个活动并在清单文件中声明 但我想将相同的活动重新用于其他目的
  • 为什么tcp终止需要4次握手?

    当连接建立时 有 客户端 SYN gt 服务器 客户端 客户端 ACK gt 服务器 当终止到来时 有 客户端 FIN gt 服务器 客户端 客户端 客户端 ACK gt 服务器 我的问题是为什么 和 不能像 那样设置在同一个包中 即ACK
  • 流程验证时 selectManyCheckbox LazyInitializationException

    看来 如果您使用由 hibernate 代理的集合支持的 selectManyCheckbox 您将遇到可怕的 LazyInitializationException 问题 这与支持 bean 的状态无关 调试 Mojarra 2 1 后
  • 如何为所有整数类型创建通用整数到十六进制函数?

    我想为所有整数类型创建一个整数到十六进制函数 对于1字节的Int8 它返回两个字母 例如0A 对于2字节的Int16 它返回四个字母 例如0A0B 对于8字节的Int64 它返回16个字母 例如0102030405060708 func h
  • 黑莓 Facebook SDK jar 文件

    大家好 我在使用 Facebook Blackberry SDK 以及如何在我的项目中使用它时遇到问题 我有一个使用 SourceForge 上提供的源文件制作的项目 我在我正在开发的项目中引用了这个项目 非常适合编程 但是当我想在模拟器上
  • Android 自定义文件扩展名

    我希望我的 Android 应用程序能够通过蓝牙 电子邮件 wifi direct 等 标准共享方法 共享文件 我想将我的数据解析为具有自定义扩展名的文件 并通过某种共享方法 例如蓝牙 发送它 收件人应该能够打开该文件 然后我的应用程序启动
  • Java中的“final class”有什么意义?

    我正在读一本关于Java的书 它说你可以将整个类声明为final 我想不出我会在哪里使用它 我是编程新手 我想知道如果程序员真的在他们的程序中使用这个 如果他们这样做 他们什么时候使用它 以便我可以更好地理解它并知道何时使用它 如果Java
  • 使用 Pkg.add 时出现 julia 错误

    我刚刚在ubuntu中安装了julia 在添加包时发现了一些问题 julia gt Pkg Add Gadfly ERROR UndefVarError Add not defined 我也尝试更新 julia 但弹出错误 julia gt
  • 了解 SQL Server 排序规则中的 Unicode 和代码页

    为什么所有 SQL Server 2008 R2 排序规则都与代码页相关联 所有排序规则都是 unicode 吗 当您的数据库被使用不同代码页的多种语言使用时 如何选择排序规则 谢谢 CHAR 与 NCHAR 即非 Unicode 与 Un
  • 如何确定特定文件实际上是 MP3 文件?

    如何确定特定文件 可能有也可能没有 mp3 文件扩展名 实际上是 MP3 文件 我希望在 C 中做到这一点 根据http www garykessler net library file sigs html http www garykes
  • 以编程方式绑定 WPF 中的附加属性

    我在用着杰森 坎普很酷CueBanner class http www ageektrapped com blog the missing net 4 cue banner in wpf i mean watermark in wpf 对于
  • 为什么 C# ProcessStartInfoRedirectStandardOutput 会导致 xcopy 进程失败

    这有点痛苦 因为我现在没有代码 但我会尽力解释 我有一个简单的 C 应用程序 它启动 Ruby 脚本 它还执行一些其他操作 因此它生成一个批处理文件并执行该文件 我正在使用 C 进程对象并设置以下内容 重定向标准输出 true 重定向标准错
  • 有人可以解释一下 Postgresql 角色、Postgresql 用户和 Linux 用户之间的关系吗?

    我正在尝试在 Ubuntu 14 服务器上设置 Postgres 9 3 此时我感到非常沮丧 我以前使用过 MySQL 所以我对一般数据库概念以及客户端 服务器模型等很满意 我从两个用户开始 root 和 sam 我 作为 sam 我使用