postgre 的一个小坑(GoFrame)

在使用GF(GoFrame,以下均简称GF)对postgres数据库进行CRUD时,会出现

键位不存在的报错,在经过检查后发现,表中确实有这个键位,这是怎么回事呢?

解决方案

  • 在postgres进行表设计时,key需要小写,如果使用与Go一样的驼峰命名,即包含了大写,则需在查询的时候给key带上" ",即双引号

GF生成的dao给我们得数据库操作带来了简便,同时对不同的数据库的支持情况却又不一样,例如在Insert()返回的结果中LastInsertId(),RowsAffected()方法是不支持postgres的,

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL 中,可以使用以下 SQL 语句查看一个用户的所有权限: ```sql SELECT nspname AS schema_name, relname AS object_name, CASE WHEN relkind = 'r' THEN 'table' WHEN relkind = 'v' THEN 'view' WHEN relkind = 'S' THEN 'sequence' WHEN relkind = 'm' THEN 'materialized view' WHEN relkind = 'f' THEN 'foreign table' END AS object_type, HAS_TABLE_PRIVILEGE(usename, nspname || '.' || relname, 'SELECT') AS select_privilege, HAS_TABLE_PRIVILEGE(usename, nspname || '.' || relname, 'INSERT') AS insert_privilege, HAS_TABLE_PRIVILEGE(usename, nspname || '.' || relname, 'UPDATE') AS update_privilege, HAS_TABLE_PRIVILEGE(usename, nspname || '.' || relname, 'DELETE') AS delete_privilege, HAS_TABLE_PRIVILEGE(usename, nspname || '.' || relname, 'TRUNCATE') AS truncate_privilege, HAS_TABLE_PRIVILEGE(usename, nspname || '.' || relname, 'REFERENCES') AS references_privilege, HAS_TABLE_PRIVILEGE(usename, nspname || '.' || relname, 'TRIGGER') AS trigger_privilege FROM pg_class JOIN pg_namespace ON pg_class.relnamespace = pg_namespace.oid JOIN pg_user ON pg_user.usesysid = pg_class.relowner WHERE pg_user.usename = 'username'; ``` 其中,`username` 是您要查询权限的 PostgreSQL 用户名。 该 SQL 语句将返回该用户在所有表、视图、序列等对象上的 SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES 和 TRIGGER 权限。如果该用户没有某种权限,则对应的列的值将为 `false`。如果该用户拥有某种权限,则对应的列的值将为 `true`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值