Postgres
Postgres
仁王_雅治
想一想,一步步来到这里也挺不容易的
展开
-
Postgres -- 报错:right sibling‘s left-link doesn‘t match,数据存库失败
打开数据库,找到报错的那张表。首先将该表的表结构导出,找到建索引的相关语句。然后右键设计表,找到索引Tab,将所有索引删除,然后通过sql重建索引。无需重启数据库问题即可修复原创 2021-12-25 17:48:48 · 1416 阅读 · 0 评论 -
Postgres -- json_object_agg 函数的使用
sql 释义:将 acl_inventory_resource 资源表中主资源(parent_id IS NULL)对应的扩展属性以 json 字符串的形式,存储在 prop 字段中SELECT P.res_id, json_object_agg ( P.prop_key, P.prop_value ) AS props FROM acl_inventory_res_prop_data P, acl_inventory_resource r_1 WHERE P.res_id = r_1.原创 2021-10-06 17:40:05 · 1236 阅读 · 0 评论 -
Postgres -- 创建实体化视图 & 刷新实体化视图 & 删除实体化视图
创建视图可以将若干表中的信息汇聚到一张视图中,成为一张"表",方便查询,提高查询效率。在不刷新视图的情况下,视图中的内容不会改变刷新视图REFRESH MATERIALIZED VIEW CONCURRENTLY public.acl_resource$v删除视图...原创 2021-10-06 12:22:57 · 2346 阅读 · 0 评论 -
Postgres -- 如何在 Windows 上安装Postgres数据库 & 初始化启动数据库
https://www.enterprisedb.com/postgresql-tutorial-resources-training?cid=55下载完成后,按照普通应用的安装逻辑安装即可选择安装路径,这里要选择一个空目录:用户名称 postgres,密码。端口号进行如下设置(端口号默认5432)...原创 2021-09-30 08:45:21 · 1916 阅读 · 0 评论 -
Postgres -- 报错: org.postgresql.util.PSQLException: 语法错误 在 “user“ 或附近
在报错数据的时候提示:Caused by: org.postgresql.util.PSQLException: 错误: 语法错误 在 "user" 或附近的这是因为 user 在 postgres 数据库中是关键字,不能作为数据表的字段,将其改为 username 即可原创 2020-11-16 20:51:39 · 3549 阅读 · 0 评论 -
Postgres -- 如何解决 select in 中项过多的问题
如果 select in 中包含的项过多,会严重影响程序的性能,解决方法为:注意 'admin,test' 为一个完整的字符串,而不是 'admin','test'select account,id,password from test t1 join( SELECT unnest(string_to_array('admin,test', ',')) as name) t2on t1.account = t2.name再举一个更复杂些的例子SELECT t1.ID, t2.r原创 2020-07-29 20:40:15 · 1785 阅读 · 0 评论 -
Postgres -- 使用子查询时报错:作为一个表达式使用的子查询返回了多列
sql 如下:SELECT conn_id, ( SELECT prop.prop_value FROM 表A prop WHERE prop.conn_id = r.conn_id AND prop.prop_name = 'monitor' ) AS monitor FROM 表B r报错原因是因为,针对如下 sqlSELECT prop.prop_value FROM 表A prop WHERE prop.conn_id = r.conn_id AND prop.prop_name =原创 2020-09-01 00:02:43 · 1809 阅读 · 0 评论 -
Postgres -- 按照 ID 字段升序排序,排序出的结果为1,10,100,2...
这是因为我们将 ID 字段的数据类型设置成 varchar 类型了,如果将 ID 设置成 INT 类型,则不会出现上述问题原创 2020-08-31 23:28:34 · 2105 阅读 · 0 评论 -
Postgres -- join on 和 where 的区别 & left join 和 inner join 简单对比
建立两张简单的用来测试的表并添加数据,如下所示,一张表名为id_name,另一张表名为id_agesql1:SELECT * from id_name t1 LEFT JOIN id_age t2 on t1.id = t2.id where t2.age ='22'where 条件是在 left join 的结果集进行条件筛选的sql2:SELECT * from id_name t1 LEFT JOIN id_age t2 on t1.id = t2.id and t2.age ='22'原创 2020-09-14 01:57:29 · 1654 阅读 · 0 评论 -
Postgres -- 如何解析 json 字符串,-> & ->> 使用理解 & 如何对 ->> 的查询字段进行过滤
当数据库中的某一字段是 json 格式的,如何进行解析注:json 格式如下{ "d3c48427cc8f4048a5885bd6de4739b8.36867ea2cc8e4b5c98af6063b6c367bf":{ "1":"1", "2":"0.0938", "3":"0.0925", "4":"0.0737", "9":"0.0", "10":"0.0051", "13":"0原创 2020-08-06 23:37:45 · 924 阅读 · 0 评论 -
Postgres -- 报错:No Hibernate Session bound to thread 且 hql 语句没问题
首先检查 Model,DAO 中的注解是否正确,再检查 hql 语句是否正确,都检查无误后,可以确定:大概率是我们直接在 Action 中调用 DAO 中的方法了原创 2020-05-07 23:13:07 · 184 阅读 · 0 评论 -
Postgres -- 如何理解 select into & 如何将查询结果自动生成到一张新表当中
通过 select into 语句可以将我们检索出来的数据,生成到一张全新的数据表当中这个 test 表原本不能存在,否则 sql 会报错相当于在原本的 select … from 语句的 from 之前加入一个 into newTable,即将检索出来的数据生成到 newTable 表中SELECT * INTO testFROM tableName...原创 2020-08-06 23:47:08 · 1936 阅读 · 0 评论 -
Postgres -- 如何实现如 Java 中如 split 函数类似的功能
text=“name.cn.com”split_part(text,'.',1) 结果: namesplit_part(text,'.',2) 结果: cnsplit_part(text,'.',3) 结果: com可以理解为以 “.” 分割,将字符串分成了三个子串,1表示第一个子串,2表示第二个子串,3表示第三个子串...原创 2021-09-30 07:40:04 · 144 阅读 · 0 评论 -
Postgres -- 报错:Could not open file “pg_xact/041C“ : No such file or directory
查看数据库错误日志的目录:/usr/pgsql-11/data/log上述报错是数据库 /data 目录损坏造成的,解决方案:# 在任意目录执行即可dd if=/dev/zero of=/data/dataDir/pg_xact/041C bs=256k count=1# 执行完上面的命令后,在 /usr/pgsql-11/data/pg_xact/ 目录下就会生成一个 root 权限的 041C 文件# 授 postgres 权限,否则报错不会消失,无需重启数据库cd /usr/pgsql原创 2021-09-30 07:26:19 · 1646 阅读 · 0 评论 -
Postgres -- 如何解决除法中分母为 0 的问题
select 1/0结果报错:> 错误: 除以零select 1/null正常执行:null因此,当遇到两个字段相除,同时分母列可能出现 0 记录的情况,做如下处理:test_age 表中包含 totalprice 和 count 两个字段,将 price/count 的结果作为输出的单价,对于数量 count 为 0 的列,单价为 nullselect totalprice , count , case when count = 0 then null else total原创 2021-01-14 08:10:22 · 4514 阅读 · 0 评论 -
Postgres -- 将数据库表按照所占空间进行排序,单位是M
SELECT table_schema || '.' || table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS sizeFROM information_schema.tablesORDER BYpg_total_relation_size('"' || table_schema || '"."' || ta原创 2020-05-23 23:34:25 · 701 阅读 · 1 评论