zl程序教程

postgresql表如何去重

  • Postgresql源码(81)plpgsql中如何给占位符赋值(SPI进入执行器取值流程初步分析)

    Postgresql源码(81)plpgsql中如何给占位符赋值(SPI进入执行器取值流程初步分析)

    相关: 《Postgresql源码(56)可扩展类型分析ExpandedObject/ExpandedRecord》 本文探索raise notice 'sqlstate: %', sqlstate;时,%的值是怎么拿到的。0 总结 plpgsql中通过SPI调用server语法解析时不需要加select,例如src="sqlstate"就可以直接跑,

    日期 2023-06-12 10:48:40     
  • PostgreSQL中插件如何新增一个配置项

    PostgreSQL中插件如何新增一个配置项

    PostgreSQL通过插件可以集成许多扩展,比如auth_delay。添加插件时,会引入一些guc配置变量,比如auth_delay的auth_delay.milliseconds。那么这些变量是如何随着插件的安装集成到server中呢?在系统中又是如何管理的呢?我们先看下guc参数是如何管理的。首先初始化GUC选项,将其设置为默认值;然后读取命令行配置,最后读取配置文件postgresql.c

    日期 2023-06-12 10:48:40     
  • Postgresql如何在插件内实现lex/yacc语法解析

    Postgresql如何在插件内实现lex/yacc语法解析

    Postgresql提供了十分强大的插件系统,有多强大呢?你是否想过在插件内构造一套自己的语法解析逻辑,实现一套完全自定义的语言?Age插件提供了很好的思路可以借鉴,本篇尝试分析。 1 概要本篇分享一个插件内自带语法解析的框架——Postgresql图插件AGE,不关注插件的具体功能,只关注插件的框架。插件通过一个函数cypher,在函数的第二个参数位置,传入了一套openCypher语法(图

    日期 2023-06-12 10:48:40     
  • POSTGRESQL  存储过程--如何写出新版本PG的存储过程的小案例

    POSTGRESQL 存储过程--如何写出新版本PG的存储过程的小案例

    最近在开始研究POSTGRESQL 的存储过程,主要的原因有以下几个 1 因为要开发适合目前公司中的基于POSTGRESQL 的运行维护产品,同时基于POSTGRESQL 的数据库有云数据库,基于程序的安全性和部署的便利性,一部分维护的程序应该以存储过程的方式,被部署在数据库中,方便外部程序调用。 2 基于POSTGRESQL 大部分的存储过程的教学内容还是在create function部分

    日期 2023-06-12 10:48:40     
  • PostgreSQL出现死锁该如何解决

    PostgreSQL出现死锁该如何解决

    什么是数据库死锁 在操作系统领域当中,死锁指的是两个或者两个以上的进程在运行的过程中,因为争夺共同的访问资源而相互等待阻塞,最终导致进程继无法续执行的一种阻塞现象。那么在数据库领域当中死锁又是怎样的表现形式呢?数据库死锁又会带来怎样的问题呢? 在理解数据库死锁之前,我们先来明确下数据库的锁到底是什么?有过Java编程经验的同学都知道,Java中的锁是为了解决共享数据的并发访问安全问题,防止并发

    日期 2023-06-12 10:48:40     
  • 教你PostgreSQL如何将数据加载到buffer cache中方法

    教你PostgreSQL如何将数据加载到buffer cache中方法

    我们都知道数据在缓存中访问远比在磁盘中访问速度要快,那么我们怎么在pg中将指定的数据加载到缓存中呢,这有点类似于Oracle的in-memory。 当然要注意并不是把数据加载到内存中就一定是好的,因为相较于磁盘,内存总是有限的,所以一帮我们只是在特殊场合下将需要的数据加载到内存中来加快访问的速度。 我们可以使用pg_prewarm插件来将指定的表加载到OS Buffer或者pg shared

    日期 2023-06-12 10:48:40     
  • 数据安全:Postgresql如何设置远程访问的方法,置防火墙或者关闭防火墙

    数据安全:Postgresql如何设置远程访问的方法,置防火墙或者关闭防火墙

    Postgresql我通过百度已经将pg_hba.conf和postgresql.conf文件设置好(网上bd一大堆) pg_hba.conf # TYPE DATABASE USER ADDRESS METHOD host all all 0.0.0.0/0 trust # IPv4 local connections: host all all 127.0.0.1/32 md5

    日期 2023-06-12 10:48:40     
  • 详解PostgreSQL数据库中如何保证LIKE语句的效率

    详解PostgreSQL数据库中如何保证LIKE语句的效率

    在任何数据库中使用LIKE语句往往都是令人头疼的一件事,因为不少用户发现LIKE语句效率极低,查看执行计划后发现原来没有走索引,那么在Postgresql数据中LIKE语句的执行效率又是怎样的呢?我们又该如何提高LIKE语句的执行效率呢?   实验环境 数据库环境: PostgreSQL 12.3  X86_64  创建虚拟环境: postgres=# cr

    日期 2023-06-12 10:48:40     
  • 教你Postgresql 如何查看SQL语句执行效率的方法

    教你Postgresql 如何查看SQL语句执行效率的方法

    Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优化语句。 Explain语法: explain select … from … [where ] explain select * from dual; 这里有一个简单的例子,如下:

    日期 2023-06-12 10:48:40     
  • PostGreSql 数据库如何判断字符串中是否有中文

    PostGreSql 数据库如何判断字符串中是否有中文

    imos=# select hello ~ [\u2e80-\ua4cf]|[\uf900-\ufaff]|[\ufe30-\ufe4f] column - f (1 row) imos=# imos=# select hello中国 ~ [\u2e80-\ua4cf]|[\uf900-\ufaff]|[\ufe30-\ufe4f] column - t (

    日期 2023-06-12 10:48:40     
  • postgresql 如何关闭自动提交

    postgresql 如何关闭自动提交

    另一种方式就在会话开始的时候以begin开始相当于关闭了自动提交,以end或者commit结束就可以了 补充:pg(hgdb)默认事务自动提交 默认情况下,AUTOCOMMIT(自动提交)是开着的,也就是说任何一个SQL语句执行完毕后,它锁做的数据修改都会被立即提交,这种情况下每个语句都是一个独立的事务,一旦 执行完毕祁结果就不可撤销。 如果你需要运行大量的DML语句并且这些语句还未经充分测

    日期 2023-06-12 10:48:40     
  • postgresql 如何查看pg_wal目录下xlog文件总大小

    postgresql 如何查看pg_wal目录下xlog文件总大小

    如果通过客户端怎么做呢? 答案:pg_ls_waldir()函数。pg_ls_waldir()是pg 10.0引入的函数,可以输出数据库WAL目录的所有文件。 postgres=# select sum(size) from pg_ls_waldir(); sum 201326592 (1 row) 单位是byte,所以当前pg_wal的xlog日志总大小为201326592

    日期 2023-06-12 10:48:40     
  • Postgresql 12.9如何配置允许远程连接

    Postgresql 12.9如何配置允许远程连接

    环景: Ubuntu 20.04.3-live-server Postgresql 12.9 问题描述: Postgresql 12.9如何配置允许远程连接 解决方案: 1

    日期 2023-06-12 10:48:40     
  • PostgreSQL中如何查询在当前的哪个数据库中

    PostgreSQL中如何查询在当前的哪个数据库中

    [pgsql@localhost bin]$ ./psql -d tester psql (9.1.2) Type "help" for help. tester=# select current_database(); current_database ------------------ tester (1 row) tester=#  http://www.pos

    日期 2023-06-12 10:48:40