gpt4 book ai didi

sql - PostgreSQL - 从 bash 脚本查询数据库用户 'postgres'

转载 作者:行者123 更新时间:2023-11-29 08:41:13 24 4
gpt4 key购买 nike

我的 PostgreSQL 数据库中有一个表,它有 3 列 - c_uidc_defaultsc_settingsc_uid 仅存储用户名,c_defaults 是一段很长的文本,其中包含与该用户相关的大量数据。

我必须从 bash 脚本执行一个语句,该脚本根据 c_uid 值选择 c_defaults 列的值,这需要由数据库用户完成'postgres'。

在 CLI 上,我可以执行以下操作:

[mymachine]# su postgres
bash-4.1$psql
postgres=#\c database_name
You are now connected to database "database_name" as user "postgres".
database_name=#SELECT c_defaults FROM user_info WHERE c_uid = 'testuser';

但是,如何通过 bash 脚本实现这一点?

目的是从该列获取信息,对其进行编辑并将其写回该列 - 全部通过 bash 脚本。

最佳答案

试试这个:

#!/bin/bash
psql -U postgres -d database_name -c "SELECT c_defaults FROM user_info WHERE c_uid = 'testuser'"

或者使用su:

#!/bin/bash
su -c "psql -d database_name -c \"SELECT c_defaults FROM user_info WHERE c_uid = 'testuser'\"" postgres

还有 sudo:

#!/bin/bash
sudo -u postgres -H -- psql -d database_name -c "SELECT c_defaults FROM user_info WHERE c_uid = 'testuser'"

关于sql - PostgreSQL - 从 bash 脚本查询数据库用户 'postgres',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18223665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com