首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何从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

复制
相关文章
1 分钟上手,在容器中运行 Visual Studio Code
这个插件允许我们在容器中运行 Visual Studio Code。 在项目的根目录中,您需要创建一个名为 .devcontainer 的文件夹。我们将在此处存储环境设置。 然后在此文件夹中创建两个文
为少
2021/05/27
4.2K0
1 分钟上手,在容器中运行 Visual Studio Code
在 Visual Studio 中配置 Eigen库
Eigen是一个开源的C++库,主要用来支持线性代数,矩阵和矢量运算,数值分析及其相关的算法。Eigen 目前(2022-04-17)最新的版本是3.4.0(发布于2021-08-18),除了C++标准库以外,不需要任何其他的依赖包。Eigen库的下载地址为:https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip
全栈程序员站长
2022/09/27
4.3K0
在 Visual Studio Code 中添加自定义的代码片段
你可以在 Visual Studio Code 的菜单中找到代码片段的设置入口,在 File -> Preferences -> User Snippets 中。
walterlv
2023/10/22
1.2K1
在 Visual Studio Code 中添加自定义的代码片段
在 Visual Studio Code (VS Code) 中设置
在 Visual Studio Code (VS Code) 中设置代理服务器的详细教程如下:
用户614136809
2023/10/25
1.3K0
C++ OpenCV在Visual Studio中的配置
  本文介绍在Visual Studio 2022中配置、编译C++计算机视觉库OpenCV的方法(再介绍一次,上次忘记设置原创了)。
疯狂学习GIS
2023/06/26
1.3K0
C++ OpenCV在Visual Studio中的配置
Visual Studio 代码风格约束
注意,这里的错误是IDE1006:Naming rule violation,编译时依然能通过(没找到在哪里设置不允许通过编译):
雪飞鸿
2018/09/05
1.7K0
Visual Studio 代码风格约束
在visual Studio2019中配置MPI【MPI】
右击项目->属性,进行配置: VC++目录->包含目录,添加:“D:\Program Files (x86)\MPI1\Include;” (替换为你的安装目录)
来杯Sherry
2023/05/25
1.9K0
在visual Studio2019中配置MPI【MPI】
在 Visual Studio Code 中设置 px 转换 rem
最近在做了移动端活动页面,遇到了 H5 适配的问题,其实也有 pxtorem 来做自动转换,但是组内讨论过后,还是决定自己计算 rem ,其实 rem 已经过时了,目前比较流行的是 ViewPort 了。组内一致决定了,那就只能这样干了。
离殊
2022/04/01
3.1K0
在 Visual Studio Code 中设置 px 转换 rem
在Visual Studio2013中编译使用libcurl库
libcurl是一个跨平台的网络协议库,支持http, https, ftp, gopher, telnet, dict, file, 和ldap 协议。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,cookies,和用户认证。想要知道更多关于libcurl的介绍,可以到官网 http://curl.haxx.se/上去了解,在这里不再详述。本文主要介绍如何在Visual Studio 2013开发环境中编译并使用libcurl库。
ccf19881030
2019/12/20
5.4K0
在Visual Studio2013中编译使用libcurl库
visual studio运行程序的快捷键_visual studio快捷方式在哪
一、系统快捷键 二、常用系统命令 三、QQ快捷键 四、IE浏览器快捷键使用大全 五、Word 中的快捷键 六、Excel 中的快捷键 七、PowerPoint 中的快捷键 八、Visual Studio 九、Eclipse 十、Photoshop 十一、批处理指令 十二、安装操作系统
全栈程序员站长
2022/09/23
4.9K0
Visual Studio 配置 Halcon C++ 运行环境
Halcon 代码经常需要融入 VS 的环境中运行,本文记录在 VS C++ 代码中运行 Halcon 的环境配置。 安装 Halcon 首先需要 安装好 Halcon 此时环境变量中应该有 HALCONARCH, HALCONEXAMPLES, HALCONIMAGES,HALCONROOT VS 环境配置 在 VS 中运行 Halcon 代码最关键需要解决的就是环境配置问题 我们按照一个官方示例中描述的内容配置 Halcon 环境 在 VS 中新建空的 C++ 工程 选择
为为为什么
2022/11/07
3K0
Visual Studio 配置 Halcon C++ 运行环境
Visual Studio 命令提示符
Visual Studio 命令提示和 SDK 命令提示会自动设置环境变量,使您能够轻松使用 .NET Framework 工具。 在 .NET Framework 4 版 和更高版本中,应使用 Visual Studio 命令提示,它可从“Visual Studio 工具”中获取。对于 .NET Framework 的较早版本,可以使用 Visual Studio 命令提示符或 SDK 命令提示。SDK 命令提示包含在 .NET Framework version 2.0 Software Develop
hbbliyong
2018/03/05
1.4K0
在 Visual Studio Code 中为代码片段(Code Snippets)添加快捷键
Visual Studio Code 默认是关闭了 Markdown 的智能感知提示的(因为真的是不好用,尤其是其没有中文分词的情况下)。那么在没有智能感知提示的情况下如何快速插入代码片段呢?
walterlv
2020/02/10
3.6K0
visual studio code怎么运行js_js在哪里运行
在VS Code中有一个插件——code runner,可以安装后直接运行在node 环境中,然后在vscode中输出文件的结果。
全栈程序员站长
2022/09/22
5K0
visual studio code怎么运行js_js在哪里运行
[视频编码] 怎么在Visual Studio上启用OpenMP
OpenMP 是一种支持共享存储并行设计的库,特别适宜在多核CPU上的并行程序设计
轻舞飞扬SR
2021/02/24
1.3K0
[视频编码] 怎么在Visual Studio上启用OpenMP
在Win下安装Visual Studio和Parallel Studio XE
使用Visual Studio搭配Parallel Studio进行Fortran编程有个好处是调试方便,数组可以直接可视化,不用外加write之类的语句。设置断点后,调试到达断点时,鼠标置于数组上即可显示其内容。示例如下:
用户7592569
2020/07/27
9.1K0
在Win下安装Visual Studio和Parallel Studio XE
在Mac上使用Visual Studio Code开发/调试.NET Core代码
  .Net Core 1.0终于发布了,Core的一大卖点就是跨平台。这个跨平台不只是跨平台运行,而且可以跨平台开发。今天抽空研究了下在Mac下如何使用VS Code来开发.NET Core程序,并且调试代码。
MJ.Zhou
2020/06/19
6.1K0
C++矩阵库Armadillo在Visual Studio中的配置
  本文介绍在Visual Studio软件中配置C++ 环境下线性代数运算库Armadillo的方法。
疯狂学习GIS
2022/12/18
3.7K0
C++矩阵库Armadillo在Visual Studio中的配置
点击加载更多

相似问题

有没有办法从php脚本运行cli命令?

13

有没有办法单独运行代码分析功能?Visual Studio

150

无法在Visual Studio代码终端中执行Angular CLI命令

86

有没有办法在Fortinet CLI中运行bash命令?

21

在Linux中从CLI运行Visual代码

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

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

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文