gpt4 book ai didi

database - 使用 shell 脚本更新 PostgreSQL 表的每一行

转载 作者:搜寻专家 更新时间:2023-10-30 22:10:49 24 4
gpt4 key购买 nike

我有一个 shell 脚本,其中有一个 ips 列表。

在该脚本的 for 循环下,每选择 15 个 ip 并将状态更改为“已删除”。

一些专家能否阐明我应该如何在 shell 脚本的 for 循环下更新那些 ips 列表?意思是我应该从 shell 脚本的 for 循环内部做什么来对 PostgreSQL 数据库进行这些连续更改?

最佳答案

您可以使用命令行工具 psql 对 PostgreSQL 数据库进行更改。如果您有更新所需的密码,您可以设置 PGPASSWORD 环境变量。示例:

PGPASSWORD="mypassword" psql -U username -c database "statement"

如果不需要密码,则执行

psql -U username -c database "statement"

如果访问不需要用户名,你可以这样做

psql -c database "statement"

要更改随机 IP,我会使用 psql

创建一个包含所有 IP 的数组
SELECT * FROM ips;

然后创建15个随机数,将它们作为索引(当然你要确保没有创建两次随机数),然后将它们设置为在数据库中删除的状态。

看完评论:要更新你可以这样做:

updateIP=`echo ip_string | awk -F' ' '{print $1}'`
psql -U user -c database "UPDATE iptable SET status='status_removed' WHERE ip='${updateIP}';"

要更新单个记录,假定您将 IP 存储在表“iptable”中,请输入“ip”列和“status”列下的状态。

关于database - 使用 shell 脚本更新 PostgreSQL 表的每一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29780513/

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