首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从bash测试postgresql凭据?

如何从bash测试postgresql凭据?
EN

Stack Overflow用户
提问于 2017-07-14 08:13:38
回答 3查看 7.6K关注 0票数 8

我有一个从虚拟环境运行的Django应用程序。我正在编写一个bash脚本来测试虚拟环境。postgresql用户名和密码是虚拟环境中的环境变量,Django将它们放入settings.py

为了测试与数据库的连接,我编写了以下代码:

代码语言:javascript
运行
AI代码解释
复制
echo -n 'Testing database connection  ...'

export COMMAND="from psycopg2 import connect; import sys; c=connect(dbname='myappdb',\ 
user='$POSTGRESQL_USER', password='$POSTGRESQL_PWD', host='127.0.0.1', port=5432); \
sys.exit(c.closed)"

test `python -c "$COMMAND" 2>/dev/null && echo true `

其中test是一个函数:

代码语言:javascript
运行
AI代码解释
复制
function test {
  [ $1 ] && echo "[OK]" || echo "[FAIL]"
}

似乎即使使用错误的凭据,也不会引发异常,并且c.closed始终为零。有没有一种方法可以测试凭据在虚拟环境中是否正确?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-14 08:43:30

它是bash,不是python,所以不确定它是否适合您的需求:

代码语言:javascript
运行
AI代码解释
复制
vao@vao-X102BA:~$ psql -d "postgresql://p:goodpassword@localhost/t" -c "select now()"
              now
-------------------------------
 2017-07-14 11:42:40.712981+03
(1 row)

vao@vao-X102BA:~$ echo $?
0
vao@vao-X102BA:~$ psql -d "postgresql://p:badpassword@localhost/t" -c "select now()"
psql: FATAL:  password authentication failed for user "p"
FATAL:  password authentication failed for user "p"
vao@vao-X102BA:~$ echo $?
2

如果您想要禁止输出,而不是使用select now(),您可以使用-c "\q"退出

票数 17
EN

Stack Overflow用户

发布于 2017-07-14 08:46:14

你的机器上没有psql吗?使用命令应用程序比使用python来做你想做的事情要简单得多。

代码语言:javascript
运行
AI代码解释
复制
if PGHOST=127.0.0.1 PGPORT=5432 PGUSER=$POSTGRESQL_USER PGPASSWORD=$POSTGRESQL_PWD \
        PGDATABASE=myappdb psql -c \q 2>/dev/null
then
    echo "[OK]"
else
    echo "[FAIL]"
fi

PGHOST=127.0.0.1 ...正在临时将变量导出到psql。如果连接成功,\q只会告诉客户端立即退出。

票数 3
EN

Stack Overflow用户

发布于 2017-07-14 21:50:50

事实证明,正在使用的pg_hba.conf文件是:

代码语言:javascript
运行
AI代码解释
复制
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

我将其更改为:

代码语言:javascript
运行
AI代码解释
复制
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

上面的两个答案都是有效的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45097992

复制
相关文章
如何从零学习PostgreSQL Page结构
作者 | 李亮,云和恩墨西区交付工程师,长期服务于运营商、社保、银行、医院、公积金等行业,擅长数据库备份恢复,升级迁移,性能优化,sql优化。
数据和云
2018/12/25
1.2K0
如何从零学习PostgreSQL Page结构
如何入门 Bash 编程
Unix 最初的希望之一是,让计算机的日常用户能够微调其计算机,以适应其独特的工作风格。几十年来,人们对计算机定制的期望已经降低,许多用户认为他们的应用程序和网站的集合就是他们的 “定制环境”。原因之一是许多操作系统的组件未不开源,普通用户无法使用其源代码。
用户8639654
2021/09/09
9790
凭据收集总结
本来按计划应该学习横向移动,但是发现一个问题,如何横向?这就是我记录这一章的目的,提升权限之后获取凭证,利用已获取的凭证扩大战果才是正确的姿势,学习的主要资料是参考链接中的分享,建议阅读参考的原文,再次说明,我的只是笔记,记录我的学习过程中的所思所想。
重生信息安全
2020/07/07
6.2K0
凭据收集总结
jenkins学习13-凭据管理(删除多余的凭据)
jenkins在源码管理选择 Credentials 的时候,有时候会不小心添加多余的凭据,在列表中会显示很多,看着碍眼。 可以在首页的凭据管理删除多余的凭据。 凭据管理
上海-悠悠
2020/03/26
2.1K0
如何从手动测试转到自动化测试
如果您想自动化数据准备工作,请尝试了解数据库,常用到的mysql和redis等。学习语言能力,我建议使用Python、Groovy或者java,这几种比较流行,当然您也选择其他编程语言。尝试将您每天手动进行的一些数据准备工作自动化。
FunTester
2020/06/24
5730
(26)Bash变量测试与内容替换
可能有人会说,你这不麻烦吗?我直接“echo $y”不就行了吗?其实echo是直接输出这个值,这个输出是给用户看的,我们在写脚本的时候,程序需要自动执行,他有可能需要判断他上面的某个变量是否存在,这个时候我们就不可能让我们人眼去看来判断,我们需要让计算机能自己判断。
生信real
2020/09/01
6020
Windows凭据不工作
如果不是敲错IP、用户名、密码,报凭据不工作,一般情况下执行这几句命令后重启远程服务就正常了
Windows技术交流
2021/06/15
6.4K0
Jenkins 凭据使用
原文链接:https://blog.spiritling.cn/posts/6b626a8a/
SpiritLing
2020/07/20
1.4K0
如何从功能测试到自动化测试蜕变
1、Cucumber是什么 Cucumber是一个在敏捷团队十分流行的自动化的功能测试工具,但是其不仅仅是一个测试工具,它能够为我们建立一个易读的,可执行的特性文档。 2、Cucumber的特点 (1)、易于安装,使用。无论是在Ruby平台,.Net平台,Java平台安装都很容易。 (2)、集成度高,对开发环境没有破坏,并和多种Web开发框架集成。 (3)、易于理解,Cucumber的特性文档都是采用近似于普通文本的语法写成,很容易读懂和编写,甚至是非技术人员都可以编写。 (4)、易于维护,因Cucumber是从用户的业务逻辑出发去写测试,不涉及到具体的技术框架,和内部业务流程,因为业务逻辑的变动频率相教于技术选择,内部处理流程稳定得多,测试被破坏的概率就低很多。
测试邦
2019/07/24
5640
您的凭据不工作 之前用于连接到******的凭据无法工作。请输入新凭据。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/49077665
DannyHoo
2018/09/13
57.5K6
您的凭据不工作 之前用于连接到******的凭据无法工作。请输入新凭据。
如何成功的组织Bug bash
如果我们把项目的开发过程比作驾驶过程,产品质量就是安全驾驶,那么测试就像是驾驶中看挡风玻璃的过程,需要融入到整个开发中。总之,产品质量需要在开发的各个环节中来保证,Bug Bash作为常规测试的有效补充,也是产品上线前的重要一环,组织成功的Bug Bash必能使产品日趋完善。
ThoughtWorks
2020/09/01
4740
如何成功的组织Bug bash
为什么MacOS从Bash迁移至Zsh
使用过Linux或是MacOS的程序员,都应该熟悉SHELL,而支持SHELL的其实有不同的实现,著名的比如Bash Shell以及Z Shell
御剑
2022/06/07
6140
POSTGRESQL DUMP recovery.conf 从postgresql 12V 开始
之前一直在用POSTGRESQL 11 , 对recovery,conf 的印象比较深,到了PG12 这个文件已经移动到了POSTGRESQL.CONF 文件中了. 是那么的简单吗? NO NO
AustinDatabases
2021/03/16
5060
POSTGRESQL  DUMP  recovery.conf  从postgresql 12V 开始
如何在 Bash 中使用循环
人们希望学习批处理命令的一个普遍原因是要得到批处理强大的功能。如果你希望批量的对文件执行一些指令,构造一个可以重复运行在那些文件上的命令就是一种方法。在编程术语中,这被称作执行控制,for 循环就是其中最常见的一种。
用户1880875
2021/09/18
1.7K0
如何在Windows中运行bash
当微软宣布,将在Windows10上面支持bash时,所有的Unix命令行用户都为之雀跃了。上周三,微软发布了一个测试版本,开始支持了这项功能。 为了运行bash,首先要进行几步操作。首先,需要获得Windows10的build 14316。 安装内测版本之后,用户需要切换到开发者模式,从设置>更新(Settings > Updates),安全>开发者(Security > For Developers)打开新的设置页面,选择“Windows Subsystem for Linux (Beta)”,重启
CSDN技术头条
2018/02/11
4K0
如何在Windows中运行bash
如何在 Bash 中编写函数
在编程时,实际上是在定义要由计算机执行的 过程(procedure)或 例程(routine)。一个简单的类比是将计算机编程与烤面包进行比较:你一次列出了要组建工作环境的配料,然后列出了烤面包所必须采取的步骤。在编程和烘烤中,必须以不同的间隔重复执行某些步骤。例如,在烤面包中,这可能是酵母培养的过程:
用户1880875
2021/09/16
2K0
如何在 Bash 中编写函数
在编程时,实际上是在定义要由计算机执行的 过程(procedure)或 例程(routine)。一个简单的类比是将计算机编程与烤面包进行比较:你一次列出了要组建工作环境的配料,然后列出了烤面包所必须采取的步骤。在编程和烘烤中,必须以不同的间隔重复执行某些步骤。例如,在烤面包中,这可能是酵母培养的过程:
用户1880875
2021/09/15
2K0
快速学习-Jenkins CLI凭据
通过 jcli 可以在 Jenkins 上创建凭据(Credentials),下面介绍使用方法。
cwl_java
2020/09/21
6120
bash for循环是如何使用的
10 Bash for Loop In One Line Examples Bash For Loop Examples In Linux What Is Bash in Linux? Bash fo
用户8418197
2021/09/11
2.1K0
如何在Bash中编写循环?
人们想要学习Unix shell的一个常见原因是释放批处理的功能。如果要对许多文件执行某些操作,一种方法是构造一个遍历这些文件的命令来实现。在编程术语中,这称为执行控制,最常见的示例之一是for循环。
用户6543014
2020/02/21
2.6K0

相似问题

bash脚本从bash脚本添加git凭据

30

(学习Bash)如何从bash文件运行多个postgresql命令

10

如何从bash脚本向jenkins传递全局凭据参数

155

无法从bash运行postgresql脚本

10

使用Bash测试是否启用了PostgreSQL hstore扩展

27
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档