如何在 PostgreSQL 中创建数据库并始终连接到它而不需要超级用户访问权限

如何在 postgresql 中创建数据库并始终连接到它而不需要超级用户访问权限

本指南详细介绍如何使用非超级用户权限在 PostgreSQL 中创建数据库,并配置始终连接到该数据库,无需超级用户登录。此方法对希望独立管理 PostgreSQL 数据库的开发者和用户非常实用。

目标:

创建名为 “乌龟演示” (tortoise-demo) 的新数据库。为非超级用户角色 “testuser” 赋予创建和访问该数据库的权限。无需切换到超级用户即可直接连接到 “乌龟演示” 数据库。配置 PostgreSQL 使 “testuser” 登录时自动连接到 “乌龟演示” 数据库。

步骤一:赋予 “testuser” 必要的权限

在创建数据库前,需确保 “testuser” 角色拥有创建数据库的权限。

以超级用户身份 (例如 postgres) 登录:

psql -u postgres

授予 “testuser” createdb 权限:

执行以下 SQL 命令:

GRANT createdb TO "testuser";

此命令允许 “testuser” 创建数据库,无需超级用户权限。

退出超级用户会话:

q

步骤二:以 “testuser” 身份登录并创建数据库

“testuser” 拥有 createdb 权限后,即可登录并创建数据库。

以 “testuser” 身份登录:

psql -u "testuser" -d postgres -w

-u "testuser" 指定用户名。

-d postgres 连接到默认数据库 postgres

-w 提示输入 “testuser” 密码。

创建 “乌龟演示” 数据库:

CREATE DATABASE "tortoise-demo";

设置数据库所有者 (可选):

为了确保 “testuser” 对数据库拥有完全控制权,可以将数据库所有权分配给 “testuser”:

ALTER DATABASE "tortoise-demo" OWNER TO "testuser";

步骤三:连接到 “乌龟演示” 数据库

数据库创建后,可以使用以下命令连接到它:

c "tortoise-demo"

c 命令切换当前会话到 “乌龟演示” 数据库。

步骤四:自动连接到 “乌龟演示” 数据库

为了简化操作,可以配置 PostgreSQL 使 “testuser” 登录时自动连接到 “乌龟演示” 数据库。

方法一:设置 pgdatabase 环境变量

设置环境变量 pgdatabase,指定默认连接数据库。

设置环境变量 (当前会话):

export pgdatabase="tortoise-demo"

永久设置 (添加到 shell 配置文件):

export pgdatabase="tortoise-demo" 添加到 shell 配置文件 (例如 .bashrc, .zshrc) 中,然后运行 source ~/.bashrc (或对应配置文件)。

方法二:在连接命令中指定数据库

无需设置环境变量,可以直接在 psql 命令中指定数据库:

psql -U "testuser" -d "tortoise-demo" -W

总结:

本指南详细阐述了如何在 PostgreSQL 中以非超级用户身份创建并管理数据库。 通过设置 pgdatabase 环境变量或在连接命令中指定数据库,可以实现自动连接到指定数据库,提高效率。 记住关键步骤:授予 createdb 权限、创建数据库、切换到数据库以及配置自动连接。

祝您编程愉快!

以上就是如何在 PostgreSQL 中创建数据库并始终连接到它而不需要超级用户访问权限的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1355069.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 19:00:36
下一篇 2025年12月10日 19:12:41

相关推荐

  • 运行和测试代码的 AI 编码代理

    fine公司在圣诞节发布了两个重磅功能,预示着2025年ai编码辅助工具将迎来飞跃式发展!这两个功能——ai沙箱和实时预览——现已整合到fine的ai编码代理中,为开发者带来革命性的编码体验。 Fine的AI代理现在能够在GitHub上创建新的分支来编辑或创建文件,并为每个任务提供独立的云端开发环境…

    2025年12月13日
    000
  • 代码日猴子市场的到来

    第22天:猴子市场 GitHub 仓库 今天的挑战相当简单直接。大部分工作都体现在问题描述中:一些整数运算,最后再进行简单的求和(至少第一部分是这样)。 第一部分 代码非常简洁,我们循环2000次,每次生成一个新的秘密数字并存储起来,以便最后进行求和。 第二部分 这部分需要更多思考,但大部分逻辑也已…

    2025年12月13日
    000
  • PyTorch 中的随机垂直翻转

    请我喝杯咖啡☕ *备忘录: 我的帖子解释了 randomhorizo​​ntalflip()。我的帖子解释了 oxfordiiitpet()。 randomverticalflip() 可以垂直翻转零个或多个图像,如下所示: *备忘录: 初始化的第一个参数是 p(optional-default:0…

    2025年12月13日 好文分享
    000
  • Altikrity 简介:多层加密库

    Altikrity是一个强大的多层加密Python库,旨在保护您的代码和敏感数据。无论是防止未授权访问,还是保护机密信息,Altikrity都能提供可靠的解决方案。 核心功能: 多层加密: 采用多层加密机制,抵御多种安全威胁。简易API: 提供简洁易用的API,方便快速加密和解密数据。安全执行: 确…

    2025年12月13日
    000
  • 通过 FastAPI 中的异步编程增强您的 API 性能

    准备构建高性能api?fastapi助您一臂之力!它能打造快速响应、高效处理高负载的api,本文将详解如何利用fastapi的异步编程实现这一目标,并指导您编写和测试异步端点。 学习目标 本文将带您掌握: 异步编程基础及优势。FastAPI异步开发环境搭建。异步端点的编写和测试实战。使用异步库处理H…

    2025年12月13日
    000
  • c如何调用python脚本

    C调用Python的核心在于Python/C API,通过它可以在C中操控Python对象和函数,实现数据处理和算法优势的结合。调用步骤包括初始化Python解释器、导入模块、获取对象和调用函数。需要注意内存管理、错误处理、类型转换和线程安全等细节,遵循性能优化和最佳实践,以确保高效、健壮的代码。 …

    2025年12月13日
    000
  • 六个三重八重制:微调法学硕士以解决二战中不可能的邮件之谜

    在第二次世界大战的阵痛中,在战场的混乱和后勤障碍中,一支部队取得了如此非凡的壮举,成为了永恒的遗产。第 6888 中央邮政目录营,被称为“六三八”,是一支全黑人妇女军团 (wac) 驻扎海外的部队,这是同类部队中的第一支。面对看似难以克服的挑战,他们在创纪录的时间内整理了数百万件积压的邮件,通过与家…

    好文分享 2025年12月13日
    000
  • 为 Django 项目的生产部署生成 SECRET_KEY

    django secret_key 需要提供加密签名(文档)。该值存储在 /settings.py 文件中。当您启动新项目时,它将从内置函数(源代码)生成。对于生产部署,secret_key 必须强大且受到可靠保护。 这些步骤可帮助您生成新的 secret_key 值: 激活项目的虚拟环境: sou…

    好文分享 2025年12月13日
    000
  • 使用 AppSignal 在 Django 中查找并修复 N+ueries

    在本文中,您将了解 n 1 查询、如何使用 appsignal 检测它们,以及如何修复它们以显着加快 django 应用程序的速度。 我们将从理论方面开始,然后转向实际示例。实际示例将反映您在生产环境中可能遇到的场景。 让我们开始吧! 什么是n 1查询? n 1 查询问题是与数据库交互的 web 应…

    2025年12月13日 好文分享
    000
  • 机器学习简化之旅

    开始一个机器学习项目可能会让人感到不知所措,就像解决一个大难题一样。虽然我的机器学习之旅已经有一段时间了,但我很高兴能够开始教学和指导其他渴望学习的人。今天,我将向您展示如何创建您的第一个机器学习 (ml) 管道!这个简单但功能强大的工具将帮助您有效地构建和组织机器学习模型。让我们深入了解一下。 问…

    好文分享 2025年12月13日
    000
  • 嵌套之美

    每周挑战 300 穆罕默德·s·安瓦尔 (mohammad s. anwar) 每周都会发出“每周挑战”,让我们所有人都有机会为两周的任务提出解决方案。我的解决方案首先用python编写,然后转换为perl。这对我们所有人来说都是练习编码的好方法。 挑战,我的解决方案 这是第三百次挑战,让我个人感谢…

    好文分享 2025年12月13日
    000
  • 并发模式:主动对象

    介绍 主动对象模式是一种并发设计模式,它将方法执行与方法调用解耦。此模式的主要目标是通过在单独的线程中执行操作来引入异步行为,同时向客户端提供同步接口。这是通过消息传递、请求队列和调度机制的组合来实现的。 关键部件 proxy:代表客户端的公共接口。更简单地说,这就是客户端将要交互的内容。它将方法调…

    好文分享 2025年12月13日
    000
  • 代码日到来键盘难题

    第 21 天:键盘难题 github 存储库 – 解决方案 今天的挑战很难,我花了两天时间才解决,也完全理解了逻辑。今年我发现,我很难理解这些说明的意图。 我希望您像我一样从这个挑战和解决方案中学到了一些东西。我发现每年参加“advent of code”,我都会学到很多东西,这就是为什…

    好文分享 2025年12月13日
    000
  • PyTorch 中的随机水平翻转

    请我喝杯咖啡☕ *备忘录: 我的帖子解释了 randomverticalflip()。我的帖子解释了 oxfordiiitpet()。 randomhorizo​​ntalflip() 可以水平翻转零个或多个图像,如下所示: *备忘录: 初始化的第一个参数是 p(optional-default:0…

    2025年12月13日 好文分享
    000
  • 堆栈和队列 ||蟒蛇 ||数据结构和算法

    堆栈 (Stack) 堆栈是一种后进先出 (LIFO) 的数据结构。 想象一下一叠盘子:你只能从顶部添加或移除盘子。 压栈 (push): 将元素添加到堆栈顶部。出栈 (pop): 从堆栈顶部移除并返回元素。 堆栈的应用场景包括函数调用、撤销操作、浏览器历史记录、表达式求值、语法分析和深度优先搜索 …

    2025年12月13日
    000
  • 标题:使用 Python 构建评分系统:

    开发社区您好! 我很高兴分享我的评分系统工作簿,这是我的第一个 Python 项目之一!当我深入研究 Python 时,我想创建一些实用的东西,可以用来根据各种输入条件有效地计算成绩。 项目概况 该项目涉及创建一个评分系统,根据分数和权重等其他因素自动计算成绩。该脚本接受不同作业或考试的学生分数等输…

    好文分享 2025年12月13日
    000
  • 我的解决问题的经验

    大家好!今天,我在 leetcode 上解决了三个问题:“查找字符串中的所有字谜”、“最长连续序列”和“在旋转排序数组中搜索”。这些问题确实很有趣,我们有不同的逻辑方法来解决它们。它们是检查两个字符串是否是字谜以及在数组中搜索目标元素的经典问题的扩展。 查找字符串中的所有字谜 这个问题可以通过滑动窗…

    好文分享 2025年12月13日
    000
  • pip怎么更新包 如何更新pip3

    答案: 更新pip本身,用 python -m pip install –upgrade pip;更新包,用 pip install –upgrade 包名。详细描述:Pip是Python的包管理工具,用于下载、安装和更新Python库。需要更新pip的原因在于,新版本可以修…

    2025年12月13日
    000
  • pi怎么更新最新版本 怎样更新pip命令

    pip更新指南pip是Python包管理器,而Pi是树莓派操作系统,两者无关。更新pip:使用命令python -m pip install –upgrade pip或python3 -m pip install –upgrade pip。使用虚拟环境可以隔离项目依赖关系,更…

    2025年12月13日
    000
  • PyTorch 中的位置

    请我喝杯咖啡☕ *我的帖子解释了 places365。 places365() 可以使用 places365 数据集,如下所示: *备忘录: 第一个参数是 root(必需类型:str 或 pathlib.path)。 *绝对或相对路径都是可能的。第二个参数是 split(可选-默认:“train-s…

    2025年12月13日 好文分享
    000

发表回复

登录后才能评论
关注微信