将PostgreSQL中所有表的所有记录中的所有空字符串设置为NULL

将PostgreSQL中所有表的所有记录中的所有空字符串设置为NULL,postgresql,Postgresql,我想用空字符串更新PostgreSQL中所有表的所有列中的所有记录。有没有办法通过查询来实现这一点?或者至少是如何查询没有NOTNULL约束的所有列。访问如下信息模式 select * from information_schema.columns where is_nullable = 'YES'; 根据这些数据,您可以为所有表和列生成自己的update语句。将来,您可能希望对这些列施加约束,以防止它们成为空字符串。@StarShip3000这是从另一个数据库引入的数据。没有外键,没有任何

我想用空字符串更新PostgreSQL中所有表的所有列中的所有记录。有没有办法通过查询来实现这一点?或者至少是如何查询没有NOTNULL约束的所有列。

访问如下信息模式

select * 
from information_schema.columns
where is_nullable = 'YES';

根据这些数据,您可以为所有表和列生成自己的update语句。

将来,您可能希望对这些列施加约束,以防止它们成为空字符串。@StarShip3000这是从另一个数据库引入的数据。没有外键,没有任何类型的约束……您可能希望在特定的数据库和命名空间上进行筛选:
从信息\u架构中选择表\u名称、列\u名称。其中列为\u nullable='YES',表\u架构=''和表\u目录='
。在文本文件中生成此结果后,您可以将行的开头替换为中的
选择计数(*),将管道分隔符替换为
,其中
,将行的结尾替换为
::text=''。这将为您提供要运行的select命令,以标识具有空字符串的表