gpt4 book ai didi

bash - 如何在导入期间对 pg_dump 数据运行过滤器?

转载 作者:行者123 更新时间:2023-11-29 14:18:38 26 4
gpt4 key购买 nike

在 Mac OSX (iTerm2) 上使用终端,除 postgres 外没有任何外部应用程序,我想在一个相当大的 (52 MB) pg_dump 数据文件上运行一些正则表达式查找/替换,因为它正在导入到 PostgreSQL 数据库中。我需要在转储文件到达 PostgreSQL 之前执行此操作,因为我必须转换创建和修改表的传入 SQL 查询。

我用来导入数据的 shell 命令是:

psql MyDatabase < mydata.sql

有没有办法通过正则表达式查找/替换过滤器来传输数据?我可以使用 grep 等 native Linux 命令行实用程序执行某些操作吗?

或者,我如何批处理我的正则表达式并将它们应用到我的转储文件,然后将更改保存到新文件?

最佳答案

您可以使用理解正则表达式的 sed

例如,要用“anotherschema”替换所有出现的被单词边界包围的“myschema”,您可以使用:

sed -e 's/\bmy\(schema\)\b/another\1/g' mydata.sql | psql MyDatabase

关于bash - 如何在导入期间对 pg_dump 数据运行过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38259759/

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