解析 hstore 以删除敏感信息 - PgSQL

Parsing hstore to remove sensitive information - PgSQL

如何从 hstore 列属性中删除敏感的用户信息,table dim_user。并将其余部分加载到聚合 tables 中。我从 PgSQL 数据库中选择并使用 Pentaho 数据集成将数据加载到聚合 tables 中。

attributes
""DURATION"=>"1", "END_DATE"=>"2017-07-18", "START_DATE"=>"2016-07-18", "AUTO_RENEWAL"=>"true", "MEMBER_SINCE"=>"Mon Jul 18 14:31:01 EDT 2016", "DURATION_TYPE"=>"YEARS", "SHIPPING_ADDRESS"=>"1 Glos Cres, Toronto, ON Canada A9l 111", "SUBSCRIPTION_TYPE"=>"MY_ADVANTAGE"" 

需要从上面删除 "SHIPPING_ADDRESS" 的值。

结果

""DURATION"=>"1", "END_DATE"=>"2017-07-18", "START_DATE"=>"2016-07-18", "AUTO_RENEWAL"=>"true", "MEMBER_SINCE"=>"Mon Jul 18 14:31:01 EDT 2016", "DURATION_TYPE"=>"YEARS", "SUBSCRIPTION_TYPE"=>"MY_ADVANTAGE"

谢谢。

在 selecting:

时删除它
select attributes - 'SIHPPING_ADDRESS' as attributes, 
       ... other columns ...
from dim_user;

或者创建一个执行此操作的视图,然后从 Kettle 中的视图select。

hstore 函数和运算符是 described in the hstore documentation。比较简单。

而不是:

SELECT cola, colb, colc FROM dim_user;

你可以这样做:

SELECT cola, colb, colc - 'SHIPPING_ADDRESS'::text FROM dim_user;