这两天由于一位实习生同事回学校答辩,因此我来跟进他之前开发的功能进行测试,测试反馈上来这么一个问题: 也就是说下面这两条sql查询出来的数据前10条的数据不一样. select * from table WHERE display_status = '1' order by update_time desc LIMIT 20; select * from table WHERE display_status = '1' order by update_time desc LIMIT 10; 查看…
MySQL数据库-索引.limit分页.执行计划.慢日志查询 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获取即可. 如果没有创建索引查找数据时,是全表扫描的,也就是向查字典一样没有目录,靠一页一页的翻到目标数据位置,这样如果数据量大会相当耗时, 索引就是快速帮助用户找到目标数据,节省时间 索引简介 索引是以B+tree方式的树形结构存放数据的 详情,可以网上搜索一下B+tree MySQL中常见索引有:…
问题场景 对pg数据表执行插入语句的时候,报错如下: { "timestamp": 1587012576734, "status": 500, "error": "Internal Server Error", "exception": "org.springframework.jdbc.BadSqlGrammarException", "message": &quo…
本文将介绍如何对PG数据库进行导入.导出,主要利用的是PG自带的pg_dump.pg_dumpall.pg_restore.psql等命令,版本是9.4(不同版本的pg_dump \ pg_restore选项可能会有些不同,请注意).导出.导入的整体思路是: 导出全局对象,如用户.编码.权限等,产生文件global-objs.dmp 导出每个数据库中的对象.结构,如建库语句.用户.权限.编码.表结构.自定义类型等,产生 [库名]-objs.dmp文件,如dxm-objs.dmp 导出每个数据库中…
Django1.7以后添加了migration功能,数据库定义的升级完全实现自动化,之前是通过一个叫south的app来做的.这篇文章谈一下1.6下的手动更新升级. 1.table create和table delete操作,万幸的是Django即便是旧版本,其table的添加删除,其syncdb命令也可以识别出来. 2.field add和field remove 这两个操作得自己手动来.一般定义名称.类型.非空这些基本属性,因为Django的model会默认增加主键,所以像主键字段的序列这种…
环境准备 机器pg 数据库地址修改为haproxy 的ip地址,端口是haproxy的tcp 端口,配置比较简单 hasura graphql-engine docker-compose version: '3.6' services: graphql-engine: image: hasura/graphql-engine:v1.0.0-alpha30 ports: - "8080:8080" environment: - "POSTGRES_PASSWORD:dalong…
导出命令 pg_dump -U postgres --inserts -t human_info > D:\human_info_backup.sql testdb 命令说明 pg_dump:是pg数据库中自带的备份命令,在bin目录下,所有要执行的话,必须在bin目录下进行执行. -h:指定主机地址,就是pg数据库所在服务器,这里指定的主机地址就是本地localhost -p:指定主机端口,就是pg数据库应用的端口,这里使用默认的端口,默认貌似可以不用写. -U:指定用户名,就是登录数据库的用…
之前碰到了数据库排序规则冲突问题,即百度或者 Google 的老话题: “ 无法解决 equal to 操作中‘ sql_latin1_general_cp1_ci_as ’和‘ chinese_prc_ci_as ’之间的排序规则冲突 ” .一般的方法,是在创建临时表或表连接的时候加上规则校勘语句 COLLATE “规则名”解决,如: create table #example ( EXP_Name varchar (50) collate CHINESE_PRC_CI_AS NULL ) s…
常用数据库之top/limit/rownum用法 一.常用数据库: sql server: select top 10 from users where status=1 mysql: select * from users where status=1 limit 0,100 oracle: oracle数据库不支持mysql中limit功能,但可以通过rownum来限制返回的结果集的行数,rownum并不是用户添加的字段,而是oracle系统自动添加的. (1)使查询结果最多返回前10行:…
pg数据库即是PostgreSQL数据库. 前几天在一个Java项目中,出现运行Java程序后,pg数据库的数据表异常挂起.而且是在某台电脑上出现的,重装数据库也没用,其它电脑未能复现,是个很奇怪的现象. 异常挂起的主要表现是: 1.使用pgAdmin选中相应的表,会导致pgAdmin未响应,并且很长时间都无法恢复. 2.使用pgAdmin直接sql命令增删查改都无法执行,执行所花时间从几十毫秒一直增长到几分钟,预计会一直增长下去. 3.只有重启PostgreSQL服务才能让出现异常的数据表恢复…
关系型数据库排序算法和数据结构以及关联查询 1. Merge sort 理解merge sort算法将有助于更好地理解数据库join操作 - merge join 算法逻辑 将2个有序的大小为N/2的队列合并为N元素的有序队列 上面是排序最后的8元素数组, 仅仅需要重复一次2个4元素的数据排序(4元素已经是有序的了): 比较2个数组中的第一个元素 将较小的一个元素放在有序的8元素队列中 然后再从较小的元素所在的4元素数组中拿到下一个元素 将第三步中拿到的元素与第一步比较中较大的元素再比较, 将较…
一.pg数据库修改操作 Insert into table (key) values (value) on conflict(主键) do update set key=value; 修改的 value 是 set 的那个,不是前面的 (value) 二‘.基本操作 \h      #查看所有的sql关键字 \?      #命令行操作的帮助 \d      #查看当前schema 中所有的表 \q      #退出pg命令行 \d      #schema.table 查看表的结构   \d …
PG数据库中的时间格式规范: https://blog.csdn.net/sky_limitless/article/details/79527665 to_data 转换为 普通的时间格式 to_timestamp 转换可为 时间戳格式 PG数据库中没有DATE类型的数据,时间查询职能是timestamp类型的,为了兼容date和timeStamp类型的数据,需要加注解进行设置.,但是pg的时间查询类型只能是timeStamp的数据格式: http://www.itkeyword.com/do…
分享一份珍藏多年的PG数据库部署架构图 记得同事曾经测试过citus https://www.toutiao.com/i6710613553277043213/ 原创 波波说运维 2019-07-11 00:02:00 概述 PostgreSQL凭借友好的开源许可(类BSD开源许可),商业.创新两大价值,以及四大能力(企业级特性,兼容Oracle,TPAP混合负载能力,多模特性),在企业级开源数据库市场份额节节攀升,并蝉联2017,2018全球权威数据库评测机构db-engine的年度数据库冠军…
记录一下PG数据库创建并执行存储过程批量插入数据的SQL: create or replace function addId() returns boolean AS $BODY$ declare ii integer; begin ii := 1; FOR ii IN 1..1000000 LOOP INSERT INTO test01 (id) VALUES (ii); end LOOP; return true; end; $BODY$ LANGUAGE plpgsql; select *…
最近工作中遇到pg数据库data文件夹大小达到32G,大致的排查流程如下: 1.首先查看是哪个文件或者那些文件比较大: 2.根据文件的名称找到对应的数据表a: 3.确认数据表a中数据实际上只有3000条左右,数据量没有这么大: 4.经过对实际业务场景排查,这个表a是用来记录数据库表数据变化的表,其他的表中数据发生增删改,表中的触发器都会插入一条数据到表a中: 5.平台会轮询这个表中的数据,并做出一些相应的处理:而且平台会定期删除表a中的数据: 6.由于整个系统的业务量不是很大,频繁进行数据操作的…
全量迁移 备份数据 $ pg_dump -h 172.19.235.145 -U <username> -d <database> > 20180704_dbpe.sql 正式迁移 首先要修改备份文件*.sql的owner,防止权限出现错误. $ psql -h <ip> -U <username> -d <database> -f 20180704_dbpe.sql [注意点]该迁移操作会覆盖原来的数据库,所以最好创建一个新库. 列出所有…
排序 排序方式: 升序--asc(默认:从小到大) 降序--desc(由大到小) # 排序语法: order by 字段1 [asc]|desc[,字段2 [adc]|desc,--] limit # limit 和排序结合起来用,取前面的多少条数据 # 在limit后面只有一个数字时,表示在结果集中取前m条数据 # 在limit后面有两个数字时,表示在结果集中取m+1开始取n条数据 limit m[,n] select * form teachers order by tage desc li…
官方api教程:http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/#getting-started-with-java-driver package com.infomorrow.webroot; import java.util.List; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.D…
数据库中有4个字段分别是id,volume,edition,name. 要求对查询结果按照volume+edition从大到小排序.下面将一下array_multisort函数array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 排序顺序标志:SORT_ASC C 按照上升顺序排序SORT_DESC C 按照下降顺序排序排序类型标志:SORT_REGULAR C 将项目按照通常方法…
我们都知道在SqlServer中的nvarchar类型可以完美的存储诸如中文这种unicode字符,但是我们会发现有时候查询语句去查询nvarchar列的时候查不出来. 为什么nvarchar类型有时候需要前面带N的字符串才能查出结果 比如假如现在有一张表T_UserInfo如下,其中列[Name]为nvarchar类型用于存储中文姓名: CREATE TABLE [dbo].[T_UserInfo]( ,) NOT NULL, ) NULL, [Age] [int] NULL, CONSTRA…
最近几天在做一个网站,牵扯到一个导航管理的功能!领导说不用作,可是由于自己自作主张,搞了1天的功能.领导说这个导航管理就是不用做!容易牵扯出好多问题来!估摸是客户小的原因! 没办法就把我1天的劳动荒废了!在这里贴出来,一个是与大家交流, 第二,也是希望大家可以使劲拍砖,相信大家的拍砖可以使我更好的成长!我可以学到更多的知识! 本人初级PHP鸟一只!希望各位多多指教! 上代码! 首先是HTML代码!主要实现了!table的一个表格,未添加任何CSS样式,因为做到这一步,要添加样式的时候,领导说不需…
查询单个表 select pg_size_pretty(pg_relation_size('table_name')); 按size大小排序列出所有表 SELECT table_schema || '.' || table_name AS table_full_name, pg_size_pretty(pg_total_relation_size('"' ||table_schema || '"."' || table_name || '"')) AS size F…
前言:在创建数据库的时候,会有这样一个选项->排序规则,平时在创建数据库的时候并没有注意,只是选择了默认,也没感觉有什么问题,今天看到这个突然好奇起来,所以看了一些资料做了以下的一些总结,若有错误之处请斧正. 这个排序规则的作用是什么?可以避免一些在数据库导入时出现的一些错误.很多时候在导入数据库的时候会出现字符乱码的问题,但是如果定制编码的话,就会更容易的发现问题.在mysql中我们经常使用的是utf8_unicode_ci和utf8_general_ci,两者还是有一些区别的,当前,utf8…
MySQL中的排序规则.在新建MySQL数据库或表的时候经常会选择字符集和排序规则.数据库用的字符集大家都知道是怎么回事,那排序规则是什么呢? 排序规则:是指对指定字符集下不同字符的比较规则.其特征有以下几点: 1. 两个不同的字符集不能有相同的排序规则 2. 两个字符集有一个默认的排序规则 3. 有一些常用的命名规则.如_ci结尾表示大小写不敏感(caseinsensitive),_cs表示大小写敏感(case sensitive),_bin表示二进制的比较(binary). utf-8有默认…
介绍 在过去,K2没有指定安装过程中要在其数据库上使用的标准排序规则.然而,现在K2引入了标准排序规则,以便在之后使用(如果我没有错的话,它是在4.7). 因此, 问题出现在数据库的排序规则不是Latin1_General_CI_AS的情况,当您移动到新的 SQL server 并将默认值设置为Latin1_General_CI_AS时, 数据库将会不可用,表列.视图和用户定义表等主要组件都将受到影响.对于这些主要组件, 诸如存储过程.索引.函数等的子组件都受到了影响. 因此, 本文将指导您更改…
遇到异常连接时,需要将对应连接杀掉,可能是连接占用了过多CPU或是IO,影响了业务,或是时间过长的空闲事务. pg对于杀掉连接提供了专门的命令,一般情况下使用pg_cancel_backend就可以,不过操作取消不掉,可以使用pg_terminate_backend,如果pg_terminate_backend命令,仍然无法将连接杀掉,此时可以使用tcpkill,将连接的网络通信连接直接杀掉. 有时候,出现使用pg_terminate_backend也杀不掉的连接,通常是网络的问题,诸如misr…
PostgreSQL 是一个免费数据库,OA幸运飞艇源码下载,详情咨询[企娥166848365]对于处理分析型+交易型混合型系统来说确实很不错,特别是版本的升级到11.2后性能提升很多,很多运行机制跟oracle越来越接近,确实很强大,但是开源系统确实存在一些不如意地方,需要长时间项目问题集锦积累才能慢慢的领悟. 而作为从非功能测试转型做技术运维,在运维过程中会从非功能方面(高可用性.高可靠性.可扩展性等)和性能测试优化方面考虑确实可以避免很多生产不必要的故障问题,但是对于开源的技术在版本迭代过…
select pg_size_pretty(pg_database_size('lrisk')); --查询数据库剩余空间 select pg_database.datname,pg_size_pretty(pg_database_size('lrisk')) AS sizefrom pg_database; select * from pg_database; SELECT relname, relpages FROM pg_class ORDER BY relpages DESC; --查询…
登录 # su - postgres -c "psql" 或者 $psql -U user_name -d database_name -h serverhost psql (10.0) Type "help" for help. postgres=# \h #查看所有的sql关键字 \? #命令行操作的帮助 \d #查看当前schema 中所有的表 \q #退出pg命令行 \d #schema.table 查看表的结构 \x #横纵显示切换 \dT+ #显示扩展类…