Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Bash测试PostgreSQL hstore扩展是否已启用_Bash_Postgresql - Fatal编程技术网

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

使用Bash测试PostgreSQL hstore扩展是否已启用,bash,postgresql,Bash,Postgresql,我需要使用Bash测试来检查PostgreSQL中是否启用了hstore扩展。谢谢你的建议 使现代化 谢谢你的回答。尽管有很多讨厌的人,这还是帮助我写了一篇文章。你可以运行一条SQL语句来检查扩展名pgu,例如 select count(*) from pg_extension where extname = 'hstore'; 然后检查它的返回值(我不使用Linux/bash脚本,所以我不确定如何在shell脚本中执行此操作) 您可能需要一些命令来使用查询的输出。以下内容仅输出0或1 p

我需要使用Bash测试来检查PostgreSQL中是否启用了
hstore
扩展。谢谢你的建议

使现代化
谢谢你的回答。尽管有很多讨厌的人,这还是帮助我写了一篇文章。

你可以运行一条SQL语句来检查扩展名
pgu
,例如

select count(*) 
from pg_extension 
where extname = 'hstore';
然后检查它的返回值(我不使用Linux/bash脚本,所以我不确定如何在shell脚本中执行此操作)

您可能需要一些命令来使用查询的输出。以下内容仅输出
0
1

psql -t -A -c "select count(*) from pg_extension where extname = 'hstore'"

如果您可以从shell脚本中访问该结果,那么这就足够了

您可以运行一个SQL语句来检查
pgu扩展名
,例如

select count(*) 
from pg_extension 
where extname = 'hstore';
然后检查它的返回值(我不使用Linux/bash脚本,所以我不确定如何在shell脚本中执行此操作)

您可能需要一些命令来使用查询的输出。以下内容仅输出
0
1

psql -t -A -c "select count(*) from pg_extension where extname = 'hstore'"

如果您可以从shell脚本中访问该结果,那么这就足够了

另一种方法是执行任何hstore查询并检查其是否有效:

psql template1 -c "select 'a=>1'::hstore ? 'a'"
echo $?

另一种方法是执行任何hstore查询并检查其是否有效:

psql template1 -c "select 'a=>1'::hstore ? 'a'"
echo $?

在命令后添加
| grep-q 1
,以依赖输出代码。如果要在自动部署脚本(puppet、chef等)中测试扩展状态,请在命令后添加
|grep-q 1
,以依赖输出代码,这将非常有用。如果您想在自动部署脚本(puppet、chef等)中测试扩展状态,这可能特别有用。您的链接不再工作您的链接不再工作