我正在为postgres数据库做一些维护工作,一个特定的表有两个状态列,我想将其转换为一个位掩码列。该数据库使用了许多不同的存储过程来进行数据操作,而单元测试则不包含这些存储过程。
有没有办法判断此表是否在任何存储过程的查询中使用?好吧,除了使用\df+
内的psql
开关手动浏览每个程序的正文。
答案 0 :(得分:3)
有时这是一种祝福。其他时候,这是一个诅咒。
在这种情况下我做了什么:转储模式并使用vim(或grep或您选择的工具)搜索转储。
pg_dump $DB -p $PORT -s -f filename.pgsql
如果您的所有函数都驻留在特定模式中(相同的单词,不同的含义!),请添加:-n $SCHEMA