如何通过kubectl命令筛选PostgreSQL中的sampledb数据库
获取Kubernetes中PostgreSQL的sampledb数据库名称(可用于Bash变量)
直接查询PostgreSQL系统表比解析\l的格式化输出更可靠,完全适配脚本场景。把下面命令里的占位符替换成你的实际信息即可使用:
# 替换<Pod名称>、<命名空间>、<数据库用户名>(通常是postgres) SAMPLEDB_NAME=$(kubectl exec <Pod名称> -n <命名空间> -- psql -U <数据库用户名> -t -c "SELECT datname FROM pg_database WHERE datname = 'sampledb';")
参数说明:
-t:去掉psql默认的表头、分隔线和页脚,只返回纯数据内容-c:直接执行指定SQL语句,无需进入交互式环境- 查询
pg_database系统表是PostgreSQL官方推荐的数据库列表查询方式,结果精准无格式干扰
如果返回的结果带有前后空格,想要得到纯净的字符串,可加上xargs处理:
SAMPLEDB_NAME=$(kubectl exec <Pod名称> -n <命名空间> -- psql -U <数据库用户名> -t -c "SELECT datname FROM pg_database WHERE datname = 'sampledb';" | xargs)
执行完用echo $SAMPLEDB_NAME验证,数据库存在则输出sampledb,不存在则为空字符串。
内容的提问来源于stack exchange,提问作者生きがい
相关产品推荐
相关产品推荐

