1.问题:如下图,左边能成功,右边不成功。两者的差异:左边SQL有schema name。
2.原因:经过分析,发现PgAdmin工具在做ROLE与SCHEMA绑定,它在存储时自动转成小写,造成当前用户登录后,找不到默认的SCHEMA NAME。查看当前默认SCHEMA NAME:
show search_path;
3.解决方案
3.1 指定用户对应的SCHEMA
ALTER ROLE "USER_NAME" IN DATABASE "DATABASE" SET search_path TO "SCHEMA_NAME";
3.2 在NIFI connection string 指定SCHEMA
jdbc:postgresql://192.168.0.1:5432/PGDB?currentSchema="SCHEMA_NAME"