自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 数据库关闭问题分析及解决

数据库关闭问题分析及解决。

2024-07-10 10:37:16 405

原创 postgresql日志的配置

postgresql日志的配置。

2024-07-05 15:40:02 961

原创 postgresql日志的配置

postgresql日志的配置。

2024-07-03 12:13:04 1134

原创 对postgres的列做筛选查询

【代码】对postgres的列做筛选查询。

2024-06-25 17:30:59 105

原创 postgres数据库报错无法写入文件 “base/pgsql_tmp/pgsql_tmp215574.97“: 设备上没有空间

需要新建一个临时表空间指定到根目录之外的其他目录。base/pgsql_tmp下临时表空间不够。并且修改默认临时表空间参数。

2024-06-05 17:17:01 454

原创 psql导入数据报错排查

问题:采用pg_dump导出表数据后,用psql导入表数据,导入时报错。

2024-06-05 09:23:13 482

原创 postgres搭建热备流复制报错问题处理

1 大概率是之前用pgbackrest工具做过一次时间点恢复,在主库恢复时指定来要恢复到的时间,导致recovery_target_time参数发生变化。把主备库的recovery_target_time置空后,重启库,再重新搭建流复制,搭建成功,没有之前的报错了。发现recovery_target_time参数的值竟然停留在20240506。1 看主备库的pg_wal目录下的文件,发现,两边文件的时间线不一致。热备库的流复制可以搭建成功,但是随即马上又开始报错,状态从t->f。

2024-05-23 12:08:03 143

原创 开发编写SQL注意事项

若必须模糊查询,需注意 like ‘abc%’ 在大多数情况下走索引,而 like ‘%abc%’ 必然不走索引。分割的原则是,业务逻辑或数学运算尽量放在java端,将表的连接、排序等数据逻辑放在sql端。如果连接的情况过多,需要考虑表本身的设计是否合理,字段设置是否合理。索引不是越多越好,一个表在业务应用当中实际查询频率高的字段加索引。给子查询t1多加字段查询条件来缩小t1返回的结果集,效率更高。这样虽然不能获得效率最高,但是可以得到稳定的开销。表数据量小,或者查询的字段重复性高则不需要索引。

2024-02-01 15:07:18 431 1

原创 linux能ping通,ssh登录不上问题处理

本地能ping通虚拟机,证明虚拟机与本机之间的网络连接没问题。那么就有可能是ssh服务的问题,在虚拟机中使用telnet尝试连接22端口。发现22端口连接不上,此时有可能是ssh服务未启动,查看ssh服务状态。

2023-11-21 12:24:54 988

原创 postgres查询表或字段备系统表应用

-------------查询表的字段,数据类型及其备注。-------查询所有列注释。------查询表的注释。

2023-11-11 14:48:28 190

原创 process_id,session_id,transaction_id

process_id是会变的(在同一时间点唯一,但是会话退出后,其他会话新建的process可能id会与之前断开的会话的process_id一致),实际上就是进程id。process_id:postgresql的基于进程的模型,每个连接会分配一个bakend process,因此使用process_id也可以作为会话id来使用。连接一次数据库,可以执行多个单元的sql,每个或成功或失败的单元的sql,就是一个事务。事务具有四个属性,不是会话具有四个属性,(原子性,一致性,持久性,隔离性)

2023-06-15 17:47:18 605

原创 postgres的numeric数据类型

numeric

2023-02-24 11:49:46 888

原创 pg学习网址

https://developer.aliyun.com/article/741515https://gitee.com/AiShiYuShiJiePingXing/postgres/tree/master/13.PostgreSQL%20%E5%BC%80%E5%8F%91%E4%B8%8E%E4%BD%BF%E7%94%A8https://juejin.cn/post/7069246696387313671https://leapbook.readthedocs.io/en/latest/post

2022-12-08 18:17:55 1864

原创 git clone问题处理

git clone问题处理

2022-08-24 16:41:14 304

原创 postgres学习笔记之jsonb函数

jsonb_set函数,有则更新,无则插入jsonb_set(target jsonb, path text[], new_value jsonb[, create_missing boolean])target jsonb:要发生插入的目标jsonbpath text[]:’{0,f3}‘数组的第几个,键是谁;’{0}'数组的第几个new_value jsonb: 值是谁create_missing boolean:若为true,有则更新,无则插入;若为false,有则更新,无则返回原值举例:

2022-03-23 10:34:40 1916

原创 csdn转发文章方法

1 按F12到html页面2在html页面搜索artivle_content,然后选择复制,outer copy3点发布文章,把copy的东西粘贴过来即可注意:转载文章一定要标记出处

2022-03-16 14:59:12 440

转载 java学习之jdbc

文章目录 一,什么是JDBC二,JDBC的原理三,程序员,JDBC,JDBC驱动的关系及说明四,JDBC的总结五,JDBC连接数据的步骤六,JDBC连接数据的详细步骤 一,什么是JDBC JDBC(Java DataBase Connectivity)就是Java...

2022-03-16 14:53:58 5164

转载 PostgreSQL备份与恢复(全)

好久没有上线,看到有很多朋友mark了博客文章。没能及时回复,还请见谅!大家平时经常用到数据库备份,关于Postgresql的备份恢复看到一个比较全面的文章,今天就再次转载一下,方便大家以后参考。PostgreSQL提供了三种备份和恢复的方式:SQL dump、文件系统复制和联机热备份。 每一种备份方式都有自己的优点和缺点,下面将详细介绍。9.1 SQL Dump这种备份方式产生一个文本文件,里面包含创建各种数据库对象的SQL语句和每个表中的数据。另外,表上创建的索引中的数据不会被导出,只会导出索引

2022-01-28 10:10:41 4421

原创 postgresql学习笔记之归档堆积处理(亲测有用)

一,跟归档相关的参数1 查看是否开启归档模式show archive_mode; ----仅在已完成的wal段进行归档,如果强制归档,归档段文件大小也是16M2 查看归档相关参数show archive_timeout;----超过这个时长就必须归档一次,设置为0表示默认不启用show archive_command;----归档方式的shell命令(定义怎么去归档)二 archive_command设置1 常规设置test ! -f /data/arch/%f && cp

2021-11-26 10:46:11 1458

原创 postgres学习笔记之regclass数据类型

一,基础知识oid用来在整个数据集簇中唯一标识一个数据库对象,对象可以是数据库、表、索引、视图、元组等等。对于pg中的对象来说,oid与表名存在对象关系,这个关系我们可以从pg_class中得到。二关于regclassregclass是一种数据类型,它实际上是oid的别名。相当于是oid和对象名之间的双向符号,既可以把oid翻译成表名,也可以把表名翻译成oid通过使用::regclass, 我们就不需要通过查询pg_class表来获取对象与oid的对应关系了。举例:------把oid翻译成表

2021-11-11 15:27:41 3591

转载 GROUP BY后使用ROLLUP子句总结

group by后使用rollup子句总结今天接触到了group by后带rollup子句的用法(真是丑死人了,接触ORACLE一两年了今天才知道还有这样一个用法),group by后带rollup子句这个子句所产生的功能实在是太高级了,见了就高兴。但学习完后感觉也没什么的,很简单的。下面按我的理解简单总结一下:一、如何理解group by后带rollup子句所产生的效果group by后带rollup子句的功能可以理解为:先按一定的规则产生多种分组,然后按各种分组统计数据(至于统计出的数据是求和还

2021-10-11 15:20:27 464

原创 postgresql学习笔记之进程

WalWriter进程预写式日志WAL(Write Ahead Log,也称为Xlog)的中心思想是对数据文件的修改必须是只能发生在这些修改已经记录到日志之后,也就是先写日志后写数据。WAL日志的缓冲区和控制结构在共享内存里,WalWriter进程作用是周期性的从wal buffer刷新数据到磁盘PgArch辅助进程在发生WAL日志重复使用切换时或者到达参数设置archive_timeout的时间时,将WAL日志文件进行归档,复制到磁盘上去.每次做归档以后,过时的WAL日志文件就可以删除。PgA

2021-09-26 14:49:26 275

原创 postgresql数据库参数

日志记录:log_rotation_age = 1d ---- 单个日志文件的生存期,默认1天,在日志文件大小没有达到log_rotation_size时,一天只生成一个日志文件log_rotation_size = 10MB ---- 单个日志文件的大小,如果时间没有超过log_rotation_age,一个日志文件最大只能到10M,否则将新生成一个日志文件。log_truncate_on_rotation = off ---- 当日志文件已存在时,该配置如果为off,新生成的日志将在文件尾

2021-09-23 11:47:24 476

原创 postgresql找到表中重复数据的行并删除

一,创建测试表并插入数据create table aaa(id bigseries,col1 varchar(255));insert into aaa values(1,'b'),(2,'a'),(3,'b'),(4,'c');select * from aaa;二,找到重复行并删除方法1:ctid表示数据行在它所处的表内的物理位置,ctid由两个数字组成,第一个数字表示物理块号,第二个数字表示在物理块中的行号。select * from aaa where ctid not in(se

2021-09-14 16:09:30 1534 2

原创 postgresql学习笔记之中位数

中位数:对于一组有限个数的数据来说,它们的中位数是这样的一种数:这群数据里的一半的数据比它大,而另外一半数据比它小。 计算有限个数的数据的中位数的方法是:把所有的同类数据按照大小的顺序排列。如果数据的个数是奇数,则中间那个数据就是这群数据的中位数;如果数据的个数是偶数,则中间那2个数据的算术平均值就是这群数据的中位数。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数。众数:是在一组数据中,出现次数最多的数据,是一组数据中

2021-09-09 10:12:07 1641

原创 oracle学习笔记之归档日志满的处理

归档日志满了第一步echo $ORACLE_SIDrman target 用户名/密码@oracle_sidlist archivelog all;crosscheck archivelog all;delete expired archivelog all;delete noprompt archivelog until time "sysdate -3";第二步select * from v$flash_recovery_area_usage;select * from v$re

2021-09-09 09:42:23 142

原创 postgresql学习笔记之关于$变量传递

$位置参数是变量,可以将命令行参数的值存储到脚本中,将以数字方式对变量进行命名。要从命令行,函数,或脚本执行等处理参数时,就需要在shell脚本中使用位置参数变量。$# 是传给脚本的参数个数$0 是脚本本身的名字$1 是传递给该shell脚本的第一个参数$2 是传递给该shell脚本的第二个参数$@ 是传给脚本的所有参数的列表$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个$$ 是脚本运行的当前进程ID号$? 是显示最后命令的退出状态,0表示没有错误,其他表

2021-09-08 20:49:53 991

原创 postgresql学习笔记之查询不走索引的情况

查询不走索引的情况:1、条件字段选择性弱,查出的结果集较大,不走索引;2、where条件等号两边字段类型不同,不走索引;3、索引字段 is null 不走索引;4、对于count(*)当索引字段有not null约束时走索引,否则不走索引;5、like 后面的字符当首位为通配符时不走索引;6、使用不等于操作符如:<>、!= 等不走索引;7、索引字段前加了函数或参加了运算不走索引;8,部分索引但查询条件包括不属于部分索引的数据如果where条件都没有以上所述,那么考虑优化器分析的

2021-09-08 19:50:24 6417

原创 postgresql学习笔记之临时表

事务级临时表(全局临时表)on commit delete rows会话级临时表(私有临时表)on commit preserve rowspostgresql中临时表默认是会话级别的,加了on commit drop之后是事务级别的• on commit drop只能在创建临时表的时候使用• 使用该参数创建的临时表只能在同一个事务中访问• 不带该参数的临时表可以在同一个回话中被访问...

2021-09-08 17:47:41 1119

原创 笛卡尔积

笛卡尔积含义笛卡尔积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。笛卡尔积又叫笛卡尔乘积,是一个叫笛卡尔的人提出来的。 简单的说就是两个集合相乘的结果。假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。出现笛卡尔积的原因是某一张表用来连接的字段并不是

2021-09-02 11:08:16 19397

原创 virtualbox虚拟机系统扩容(主机Ubuntu,宿主机win10)

虚拟机扩容步骤:1sudo VBoxManage modifyhd ./windows10.vdi --resize 102400(扩容到100G)2在VirtualBox的Setting->Storage->添加存储控制器点击IDE控制器(Controller: IDE). 点击光驱图标添加一个Live CD/DVD镜像文件(桌面版的ISO带有live).添加后在左侧栏选择System.在启动顺序(Boot Order)里,将光驱(Optical)拉到最上面.保存设置后启动虚拟机

2021-08-28 17:14:46 475

原创 postgresql学习笔记之pg_stats视图

pg_stats功能:记录每个表每个字段的统计信息,用于优化器做执行计划选择的时候提供参考内容:详细列见手册null_frac列项为null的比例n_distinct 的值若为负值表示该值行数=可区分值个数,若为正值,表示唯一值的个数most_common_vals是按照列值最常用的顺序排序most_comnmon_freqs是跟most_common_vals对应的每个值出现的频次histogram_bounds 直方图的横坐标(除高频值以外的直方图信息)correlation 统计与字段

2021-08-28 15:37:31 729

原创 postgres学习笔记之表膨胀

一,关于vacuum进行delete操作之后,表和索引的大小没有发生变化vacuum 表名字 不能回收空间,运行时可以正常访问数据表(共享锁)。执行效率高 作用是把表中的dead tuples进行删除标记变成可以使用的状态,并没有真正的物理删除,并且会更新统计信息和相关系统表vacuum full 表名字 可以回收空间,运行时不允许访问数据表(排他锁)。执行效率低 作用是物理删除dead tuples,并且把释放的空间重新交给操作系统。本质时生成一个新的数据文件,然后把原来的表的live tuple

2021-08-28 12:13:14 2695 1

原创 postgres之索引hot更新机制

一,传统的索引更新机制背景:当数据行被更新时,因为postgres采用的是MVCC多版本并发控制,所以会导致更新一个数据时其实旧行数据还在,又新插入了一行数据,一行数据多个版本.传统的更新过程是:如果更新了一列数据,这个列上是有索引的,那么索引必然会被更新(同时多了一个版本的数据项和索引项);如果更新了一列数据,这个列上是没有索引的,但是因为更新时新插入一行数据,新行的物理位置发生了变化,所以索引还是会被更新(同时多了一个版本的数据项和索引项).二 hot更新机制(只是多了一个版本的数据项)如果

2021-08-28 11:46:44 913 1

原创 postgresql之in和exists

一,exists 子查询如果子查询包含任何行,则EXISTS运算符返回true。 否则它返回false。子查询看是否查询到结果,查询到,则返回true,否则返回falsenot exists子查询查询到有结果则返回false,没有查询到结果返回true把返回是true的行的外查询的结果都返回注意:exists子查询查找到有结果则返回true,即使子查询查到的内容为null,也返回trueexists(返回结果集,为真)not exists (不返回结果集,为真)二,举例表AID N

2021-08-28 11:41:28 551

原创 postgresql之copy

一,概念copy在数据库表和文件之间交换数据copy to 把一个表的所有内容都拷贝到一个文件(把数据追加到表中原有数据)copy from 从一个文件里拷贝数据到一个表里copy 导入导出数据十分快速!!!二,用法可以copy一整张表,可以copy一个表里的指定字段,也可以copy一个select结果导出copy 表名或者表名(列名)或者(select查询) to 一个绝对路径地址 with 格式;导入copy 表名或者表名(列名)from 一个绝对路径地址 with 格式;举

2021-08-28 11:37:08 1920

原创 postgresql之触发器

一,前人总结1.触发器在指定的数据库事件发生时调用2.语法create trigger trigger_name{before(在执行操作之前触发)|after(在执行操作之后触发)|instead(更新操作 视图)}{event(insert,update,delete,truncate)}on table_name{for each row(对指定操作的每一行调用一次)|for each statement (只会为任何指定的操作执行一次,不管修改多少行)}execute procedu

2021-08-28 11:35:16 8226

转载 Postgres进程结构和内存结构

PostgreSQL数据库启动时,会先启动一个叫做Postmaster的主进程,还会fork一些辅助子进程,这些辅助子进程各自负责一部分功能,辅助子进程分类如下: $ ps -ef | grep postgrespostgres 2162 1 0 May23 ? 00:01:01 /usr/local/pgsql/bin/postmaster -D /usr/loc...

2021-01-28 16:05:22 692

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除