postgresql - 尝试使用 \i 导入 .sql 文件时获得权限被拒绝
问题描述
我已经连接到我的 Postgres 数据库,我想运行一些种子文件。当我跑步时,\i /home/arch/dev/project/src/db/schema/create.sql
我得到Permission Denied
有没有办法让我的操作系统上的 postgres 用户有权运行其他用户拥有的文件,或者让我可以psql
从我的 linux 用户帐户运行,而不必切换到 postgres 用户?
解决方案
有没有办法让我的操作系统上的 postgres 用户有权运行其他用户拥有的文件
唯一需要的权限是读取文件,并遍历目录树以获取文件。这些可以设置chmod
让我可以从我的 linux 用户帐户运行 psql 而不必切换到 postgres 用户?
有很多选择。如果您当前的 pg_hba 本地设置为 just local all all peer
,则添加一个与您的 linux 帐户名称相同的新数据库超级用户。或更改 pg_hba.conf 以便您使用md5
(或trust
,或scram-sha-256
,或更高级的东西),而不是peer
. 或者继续使用peer
,但提供用户映射并编辑 pg_ident.conf 以允许您的 linux 用户连接。
推荐阅读
- groovy - SoapUI 开源项目测试用例无限循环运行
- java - NoClassDefFoundError: org/w3c/dom/ls/DocumentLS 当 log4j 在另一个模块中使用时
- javascript - 即使重新加载后变量值仍然存在
- packet - 以 1 模 256 递增
- case - Teradata 从多行中获取变量的值
- java - Maven exec 目标不提供正确的输出
- python - Python - 在函数中输入未指定数量的参数
- flutter - 按下按钮时更新“列”的“文本”小部件
- python - 如何设置 ChromeOptions 以设置在 Python 中使用 Selenium 下载网页的默认目录和文件名?
- apache-spark - 使用reduceByKey函数求和文本长度时的Pyspark TypeError