JBL T280TWS X 真无线蓝牙耳机 入耳式防水防汗音乐运动跑步耳机 通话降噪耳机
首页 数据库 PostgreSQL
Rust 连接 PostgreSQL 数据库的详细过程
pgxr 是一个 Rust 的 crate 库,可以实现用 Rust 语言来编写 PostgreSQL 的扩展函数(相当于存储过程)。 这次,我们使用 postgres 这个 crate 来连接和操作 PostgreSQL 数据库。 创建好项目后,在 cargo.toml 里添加 postgres 的依赖: 首先,导入相关的类型,并创建一个 Person struct: 再创建 create_db 函数,用来创建数据库和表,它返回一个 Result,里面可能是 Client 或错误: 注意,Client::connect() 函数所接受的连接字符串
2022-01-22 4
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
目录 基础准备工作 1.PostGIS 的安装 2.加载Post GIS扩展 3.河流矢量图层转成单线格式 4.河流矢量数据导入PostgreSQL数据库 5.河流数据拓扑处理 PG分析处理函数 1.函数编写 2.参数说明 3.内部调用函数说明 4.输出结果验证 基础准备工作 1.PostGIS 的安装 在安装PostGIS前首先必须安装PostgreSQL,然后再安装好的Stack Builder中选择安装PostGIS组件。具体安装步骤
2022-01-18 8
PostGIS的安装与入门使用指南
目录 一、安装PostGIS 1.下载安装程序 2.安装PostgreSQL 二、创建空间数据库 1.打开pgAdmin 4 2.登录到服务器 3.创建空间数据库 三、导入空间数据 1.获取数据 2.确定空间数据的投影系统 3.导入空间数据 4.查看导入的空间数据 想学习postgis推荐看我翻译的官方教程文档:https://blog.csdn.net/qq_35732147/article/details/85256640 一、
2022-01-18 8
PostgreSQL13基于流复制搭建后备服务器的方法
目录 实际操作 1、参数配置 2、使用pg_basebackup创建备机数据库 3、启动备机数据库服务器 4、检查 pg的高可用、负载均衡和复制特性矩阵如下 后备服务器作为主服务器的数据备份,可以保障数据不丢,而且在主服务器发生故障后可以提升为主服务器继续提供服务。 实际操作 1、参数配置 首先配置主机的postgresql.conf vim /usr/local/pgsql/data/postgresql.conf listen_addresses =
2022-01-18 7
基于PostgreSQL/openGauss 的分布式数据库解决方案
在 MySQL ShardingSphere-Proxy 逐渐成熟并被广泛采用的同时,ShardingSphere 团队也在 PostgreSQL ShardingSphere-Proxy 上持续发力。相比前期的 alpha 与 beta,5.0.0 正式版对 PostgreSQL 的协议实现、SQL 支持度、权限控制等方面进行了大量的完善,为后续全面对接 PostgreSQL 生态打下基础。ShardingSphere-Proxy 与 PostgreSQL 的生态对接,让用户能够在 PostgreSQL 数据库的基础上获得如数据分片、读写分离、影子库、数据加密/脱敏、分布式治理等透明化的增量
2021-12-06 21
PostgreSQL自动更新时间戳实例代码
目录 什么是PostgreSQL时间戳数据类型? 一、为什么 二、如何做 总结 什么是PostgreSQL时间戳数据类型? 在PostgreSQL中,下一个数据类型是 TIMESTAMP ,它可以存储 TIME 和 DATE 值。但它不支持任何 时区数据。这意味着当我们转换数据库服务器的 时区时, 时间戳值将存储在数据库中,并且不能重复修改。 在PostgreSQL中,TIMESTAMP数据类型分为 两种时间数据类型,如下: timestamp timpstamptz Timestamp: : 使用时间戳数
2021-11-27 25
关于PostgreSQL JSONB的匹配和交集问题
PostgreSQL 自从支持 JSONB 到现在,已经有十余年,这十多年来,社区为 JSONB 提供了很多强大的功能。就我个人而言,其实最常用的还是匹配操作 @> 。 把JSON数据看作一个抽象语法树(AST)的话,这个操作符判断右参数是不是左参数的子图。 这里本来应该有个图示, 但是周末的时候临时有个数据集在处理,所以没有时间去找合适的工具了。简单举几个例子,下面这个例子得到true,这应该很好理解: select '{"a": 1, "b": 2, "c": 3}'::jsonb @> '{"b":2}
2021-09-14 46
postgresql 删除重复数据案例详解
1.建表 /* Navicat Premium Data Transfer Source Server : localhost Source Server Type : PostgreSQL Source Server Version : 110012 Source Host : localhost:5432 Source Catalog : postgres Source Schema : public Target Server Type : PostgreSQL
2021-08-02 47
PostgreSQL解析URL的方法
尽管PostgreSQL中支持大量的数据类型,但是对于URL似乎并没有一个相应的类型能够去存储。那么对于URL的数据我们在数据库中要怎么去处理呢? 首先还是需要看你要存储的URL数据是用来干嘛的,如果仅仅只是为了在以后查询的时候打印输出,那么用varchar或者text之类的类型不是就可以了吗? 但是有的时候我们对于这些URL数据并不仅仅是简单的查询,我们可能希望通过这些URL能够查询一些额外的信息,例如URL的使用的协议、主机名等等。这里我们便可以使用ts_debug函数来进行解析了。 函数ts_debug允许简单地测试一个文本搜索配置。 ts_debug([ c
2021-08-02 79
postgresql使用filter进行多维度聚合的解决方法
你有没有碰到过有这样一种场景,就是我们需要看一下某个时间段内各种维度的汇总,比如这样:最近三年我们卖了多少货?有多少订单?平均交易价格多少?每个店铺卖了多少?交易成功的订单有多少?交易失败的订单有多少? 等等...,假使这些数据的明细都在一个表内,该这么做呢? 有没有简单方式?还有如何减少全表扫描以更改的拿到数据? 如果只是简单的利用聚合拿到数据可能您需要写很多sql,具体表现为每一个问题写一段sql 相互之间join起来,这样也许是个好主意,不过对于未充分优化的数据库系统,针对每一块的问题求解可能就是一个巨大的表扫描,当然还有一个问题就是重复的where条件,所以能不能把相同的wher
2021-07-16 69
浅谈PostgreSQL表分区的三种方式
目录 一、简介 二、三种方式 2.1、Range范围分区 2.2、List列表分区 2.3、Hash哈希分区 三、总结 一、简介 表分区是解决一些因单表过大引用的性能问题的方式,比如某张表过大就会造成查询变慢,可能分区是一种解决方案。一般建议当单表大小超过内存就可以考虑表分区了。PostgreSQL的表分区有三种方式: Range:范围分区; List:列表分区; Hash:哈希分区。 本文通过示例讲解如何进行这三种方式的分区。 二、三种方式
2021-06-29 92
通过Qt连接OpenGauss数据库的详细教程
1 安装软件 qt-opensource-windows-x86-5.14.2.exe(之前的版本可能不行,安装过程中必须包含MinGW64) OpenGauss ODBC  2 准备连接环境 在openGauss所在的root环境下执行下列步骤 2.1 修改数据库的pg_hba.conf文件 在GS_HOME中查找pg_hba.conf文件,本实验中数据库GS_HOME设置的为/gaussdb/data/db1,实际操作中GS_HOME地址可以查看安装时的配置文件:< PARAM name=“dataNode1”
2021-06-23 82
postgres之jsonb属性的使用操作
jsonb的一些简单操作(增删改查) 1、更新操作(attributes属性为jsonb类型) 方法定义: jsonb_set(target jsonb, path text[], new_value jsonb[, create_missing boolean]) 参数: target:目标(jsonb类型的属性) path :路径,如果jsonb是数组‘{0,a}'表示在下标是0的位置更新a属性,如果不是数组,是对象,则写‘{a}'即可 new_value:新值 选填参数:create_missing:jsonb字段不存在f1属性时创建,
2021-06-23 80
postgresql无序uuid性能测试及对数据库的影响
无序uuid对数据库的影响 由于最近在做超大表的性能测试,在该过程中发现了无序uuid做主键对表插入性能有一定影响。结合实际情况发现当表的数据量越大,对表插入性能的影响也就越大。 测试环境 PostgreSQL创建插入脚本,测试各种情况的tps。 数据库版本:PostgreSQL 10.4 (ArteryBase 5.0.0, Thunisoft) 操作系统配置:CentOS Linux release 7 ,32GB内存,8 cpu 测试参数:pgbench -M prepared -r -n -j 8 -c 8 -T 60 -f /opt/thuniso
2021-06-11 69
如何使用PostgreSQL进行中文全文检索
开始 安装 首先是安装 PgSQL,这里我使用的是 PgSQL 9.6,PgSQL 10 也刚发布了,有兴趣的可以尝下鲜。 PgSQL 的安装可以说非常复杂了,除了要安装 Server 和 Client 外,还需要安装 devel 包。为了实现空间索引功能,我们还要安装最重要的 PostGIS 插件,此插件需要很多依赖,自己手动安装非常复杂而且很可能出错。 推荐自动化方式安装,Yum 一定要配合 epel 这样的 Yum 源,保障能将依赖一网打尽。当然最好的还是使用 docker 来运行,找个镜像就行了。 插件 由于 PgSQL 的很多功能都由插件实现,所以
2021-05-27 73
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
背景: 同一个项目两个系统分别使用了PG库和Oracle库,Oracle是生产库,数据动态更新,现在在PG库中需要实时的获取到更新的数据进行统计,基于此种方式,可以通过ETL的工具实现,但是需要定期进行维护等,于是想着是否可以通过类似于Oracle数据库DBLINK的方式去实现,经过网上查找相关资料,发现可以通过oracle_fdw实现。 测试环境: 本地搭建测试环境,基础配置如下: Oracle数据库测试服务器(IP:192.168.1.110):WIN10操作系统,Oracle数据库版本为11.2.0.4,实例名为orcl,安装有32位客户端; PG库测试服务
2021-05-21 90
Centos环境下Postgresql 安装配置及环境变量配置技巧
1、yum安装 进去postgresql官网下载界面 PostgreSQL: Downloads 选择操作系统 选择系统版本,平台信息等 会出现具体的安装步骤 拷贝脚本,自动执行并创建了数据库实例 上面的创建数据库实例 sudo /usr/pgsql-13/bin/postgresql-13-setup initdb 允许开机自启动postgresql数据库 sudo systemctl enable postgresql-13 操作系统的服务管理命令启动数据库 sudo systemctl start po
2021-05-18 78
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
Python实现逻辑 1、按照分隔符将字符串分割为列表类型 drugs.split(separator) 2、列表排序 drug_list.sort() 3、列表拼接 separator.join(drug_list) 4、类型判断 由于数据库中对应字段可能会出现为NULL的情况,即在Python中为None,而类型None 无split() 用法,因此添加条件判断是否为真。如果为NULL,则直接返回None。 Python实现 def 单词排序(drugs,separator): i
2021-04-22 72
PostgreSQL将数据加载到buffer cache中操作方法
我们都知道数据在缓存中访问远比在磁盘中访问速度要快,那么我们怎么在pg中将指定的数据加载到缓存中呢,这有点类似于Oracle的in-memory。 当然要注意并不是把数据加载到内存中就一定是好的,因为相较于磁盘,内存总是有限的,所以一帮我们只是在特殊场合下将需要的数据加载到内存中来加快访问的速度。 我们可以使用pg_prewarm插件来将指定的表加载到OS Buffer或者pg shared buffer中。 安装: bill=# create extension pg_prewarm ; CREATE EXTENSION 性能测试: 构建测试表t1,
2021-04-16 116
PostgreSQL存储过程实用脚本(二):创建函数入门
准备工作——创建用户数据库和模式:         在数据库中新建用来学习的数据库mydb,并在mydb数据库中新增mysc,即my database和my schema的缩写,接下来的示例脚本将在mydb数据库下的mysc模式下创建。脚本如下, -- 1.创建自己的数据库 CREATE DATABASE mydb WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'C' LC_CTYPE = 'C
2021-04-05 100