问题一:Hologres为啥这个语句加上insert就报错了?
Hologres为啥这个语句加上insert就报错了?不加就没事
参考回答:
换成这个操作符吧
json_array_elements(issue_sell_num_list)->>'issueName'
常用json的话可以看看我们的jsonb列式存储,可以大幅提升查询性能
https://help.aliyun.com/zh/hologres/user-guide/column-oriented-storage-for-jsonb-formatted-data
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/571673
问题二:Hologres把json解出来了,但是拆列的时候就报错了,原始数据是这样的,请问是哪里出了问题?
Hologres把json解出来了,但是拆列的时候就报错了,原始数据是这样的,我建的表是这样的,请问是哪里出了问题?
参考回答:
看起来你的问题是在于JSON解析和字段类型不匹配。你在创建表时,可能没有为所有的字段设置正确的数据类型。当你尝试从JSON中填充记录集时,Hologres无法找到与某些字段匹配的类型,因此报错了。
你可以检查一下你的表定义,确保所有的字段都有正确的数据类型。如果你不确定,你可以查看JSON中的字段类型,然后在创建表时设置相应的数据类型。
另外,你可能需要在JSON解析函数中使用CAST操作符,以明确指定字段的类型。例如,如果你的字段是字符串类型,但你希望在解析时将其转换为整数类型,你可以这样做:
SELECT json_populate_recordset(null::ods_banbo_api_sell, issue_sell_num_list) as x FROM ods_banbo_api_test
在这个例子中,我们使用了CAST操作符来明确指定字段的类型。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/571667
问题三:Hologres为什么 有时候会有这个read-only的报错 概率很低 但是已经看到过好几次了?
Hologres为什么 有时候会有这个read-only的报错 概率很低 但是已经看到过好几次了
参考回答:
常见问题
Resharding是个比较复杂的过程,涉及到创建临时表、修改原始表只读状态、写入目标表、更换表名称和记录同步状态等多个环节,如果中间环节因为某些原因出现异常,可能造成系统状态不确定等问题,可通过以下方法进行排查。
当出现internal error: Get rundown is not allowed in recovering state.异常时,说明当前正在更新的表处于Read Only状态,不能执行Insert、Update、Delete等操作,此时需要退出Read Only状态。
执行如下命令检索当前处于Read Only状态的表。
select * from hologres.hg_table_properties where property_key ='readonly' and property_value='true';
执行如下命令退出Read Only状态。
call set_table_property('','readonly','false');
table_name为需要退出Read Only状态的表名称。https://help.aliyun.com/zh/hologres/user-guide/user-guide-of-table-groups-and-shard-counts?spm=a2c4g.11186623.0.i26
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/568919
问题四:Hologres报这个错?
Hologres报这个错?
参考回答:
报错:failed to import foreign schema:Failed to get MaxCompute table:Not enable acid table.
报错原因:
MaxCompute表是事务(Transactional)表。
解决方法:
当前不支持MaxCompute的Transactional表,建议改为普通表。
报错:failed to import foreign schema:Failed to get MaxCompute table:Not enable schema evolution.
报错原因:
对MaxCompute表的元数据做了修改。
解决方法:
请升级Hologres实例版本至V1.3及以上版本,通过加入实时数仓Hologres交流群申请升级实例或自助升级(Beta),加群方式请参见如何获取更多的在线支持?。
更新了MaxCompute外部表Schema之后(例如增加列、删除列操作),请执行IMPORT FOREIGN SCHEMA来做刷新。
如果执行了IMPORT FOREIGN SCHEMA还报错的话,请重新建一次MaxCompute的表,再建外部表,因为MaxCompute修改Schema之后进入到schema evolution状态,Hologres无法读取这种状态的表。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/568908
问题五:Hologres这句话报错呢?
Hologres这句话报错呢? GRANT USAGE ON DATABASE "XXXX" to "XXX"; 这个用户 只是viewer 需要怎么grant database上的权限.你们文档里就是没写怎么对db授权?
参考回答:
如您新增的用户是普通用户(Normal)类型,则需进一步为用户授权更多权限,具体操作如下。
在实例详情页的左侧导航栏,单击Database管理。
在DB授权页面,单击目标数据库操作列的用户授权。
说明
如您当前列表没有数据库,您可单击右上角新增数据库。
进入数据库的权限管理页面,单击新增授权。
在弹出的新增授权对话框中,配置如下参数。
单击确认,完成操作。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/568902