POSTGRCSQL - 技术教程文章

postgresql----索引失效【代码】

1.任何计算、函数、类型转换 2.!= 3.NOT,相当于使用函数 4.模糊查询通配符在开头 5.索引字段在表中占比较高 6.多字段btree索引查询条件不包含第一列 7.多字段索引查询条件使用OR(有时也会走索引扫描,但查询效率不高) 测试表test=# \timing Timing is on. test=# create table tbl_index(a bigint,b timestamp without time zone ,c varchar(12)); CREATE TABLE Time: 147.366 ms test=# insert into tbl_index select gener...

fedora22用rpm包安装配置postgresql数据库【代码】【图】

postgres提供的系统命令:如pg_ctl,psql,initdb,pg_dump等没有自动写入系统环境变量,因此不能直接使用,而要在安装目录下或者带上全路径或者手动加入全局环境变量后,才可以在所有的用户下直接使用。和yum安装一样,pg会新建一个系统用户postgres,但在系统/home目录下没有新建postgres用户主目录。对于使用默认数据目录的用户来说,这个目录是可有可无的。但是对于要该数据目录到postgres用户主目录下来说,这个用户主目录则必...

Linux 上安装 PostgreSQL【图】

到PostgreSQL 官网 https://www.postgresql.org/ 点击 Download 选择安装操作系统(已 CentOS 7 例) 第4点为安装过程。 执行后下面对应的命令。 如需要收到安装可以下载rpm进行安装。 Linux 上安装 PostgreSQL标签:sql 系统 image post tps postgres centos 7 alt 命令 本文系统来源:https://www.cnblogs.com/LittleMaster/p/14448471.html

Prism+MaterialDesign+EntityFramework Core+Postgresql WPF开发总结 之 基础篇【代码】【图】

本着每天记录一点成长一点的原则,打算将目前完成的一个WPF项目相关的技术分享出来,供团队学习与总结。 总共分三个部分: 基础篇主要争对C#初学者,巩固C#常用知识点; 中级篇主要争对WPF布局与美化,在减轻代码量的情况做出漂亮的应用; 终极篇为框架应用实战,包含MVVM框架Prism,ORM框架EntityFramework Core,开源数据库Postgresql。 目录Prism+MaterialDesign+EntityFramework Core+Postgresql WPF开发总结 之 基础篇 Prism+...

PostgreSQL之索引(三)索引分析【代码】

EXPLAINEXPLAIN [ ( option [, ...] ) ] statement EXPLAIN [ ANALYZE ] [ VERBOSE ] statement 这里 option可以是:ANALYZE [ boolean ]VERBOSE [ boolean ]COSTS [ boolean ]SETTINGS [ boolean ]BUFFERS [ boolean ]TIMING [ boolean ]SUMMARY [ boolean ]FORMAT { TEXT | XML | JSON | YAML }  这个命令显示PostgreSQL计划器为提供的语句所生成的执行计划。该执行计划会显示将怎样扫描语句中引用的表 — 普通的顺序扫描、索...

Postgresql 报整形字段“integer out of range”【代码】【图】

2.2 整体分析integer类型的范围是( -2147483648 to +2147483647),于是查看了下一个序列值是‘2147483648’,正好超过了integer的范围postgres=#=> select nextval(‘cert_display_tmp2_id_seq‘); nextval ------------ 2147483648 (1 row)3、故障解决更改id的字段类型为bigint型,再次执行函数,无报错,故障解决。alter table cert_display_tmp alter column id bigint附录本文出自 “陌路,尽头” 博客,请务必保留此出...

解决 PostgreSQL 连接问题:ERROR: permission denied for table xxx

使用 Django 框架代码能连上 PostgreSQL,但是在 pgAdmin 尝试连接这个表,却报错: ERROR: permission denied for table xxx 此时用 pgAdmin 连接其他的表是正常的,就这个表连不上。 先用 SELECT * FROM current_user 和 SELECT USER ,看一下目前 pgAdmin 登录的用户是哪个。 原来 pgAdmin 的连接用户与 Django 的连接使用的不是一个用户呀。 试了 GRANT ALL PRIVILEGED ON DATABASE yyy TO xxx,发现没用。 再试试 GRANT ALL P...

PostgreSQL的B-tree索引【图】

结构B-tree索引适合用于存储排序的数据。对于这种数据类型需要定义大于、大于等于、小于、小于等于操作符。通常情况下,B-tree的索引记录存储在数据页中。叶子页中的记录包含索引数据(keys)以及指向heap tuple记录(即表的行记录TIDs)的指针。内部页中的记录包含指向索引子页的指针和子页中最小值。B-tree有几点重要的特性:1、B-tree是平衡树,即每个叶子页到root页中间有相同个数的内部页。因此查询任何一个值的时间是相同的。...

Linux安装PostgreSQL9.4【图】

Linux安装PostgreSQL 9.4过程笔记,希望对大家有用。目前搜索的大部分CentOS下安装均是用于CentOS 6.X的部分命令已经有很大变化, Linux安装PostgreSQL 9.4过程笔记,希望对大家有用。 一、前言PostgreSQL通常也简称Postgres,是一个关系型数据库管理系统,适用于各种Linux操作系统、Windows、Solaris、BSD和Mac OS X。PostgreSQL遵循PostgreSQL许可,是一个开源软件。PostgreSQL由PostgreSQL全球开发组开发,由极少数的公司志愿组...

【PostgreSQL使用教程】PostgreSQL中的largeobject【图】

【PostgreSQL使用教程】PostgreSQL 中的 large object 所有的大对象全部拆成 LOBLKSIZE 大小,放入 pg_largeobject 之中,通过 loid进行区分, 每个大对象拆分成的各个部分通过 pageno(叫元组序号更合理),进行顺序的关联起来, pageno是通过 要写入的数据offset / LOBLKSIZE 计算的 pg的大对象实现的比较简单,并不适合大数据量的使用,会成为系统的瓶颈.,

PostgreSQL通过pg_trgm扩展的三元索引实现全文检索【代码】

本文介绍利用pg_trgm扩展实现全文检索。 1. 概述 PostgreSQL可以使用三元索引增强全文检索。三元算法对字符串进行分词,如“dog” 被分为 “d”,”do”,”dog”,”og”多个词。pg_trgm扩展支持三元匹配。也在Gist和Gin索引上使用三元匹配操作提升检索速度或性能。对于全文搜索提供了不同的同义词,同时也可以使用Trigram来实现打字更正和建议。下面通过示例说明。 2. 模糊匹配 这里先介绍postgresql几种模糊操作符: like都比较熟悉...

PostgreSQL之Foreign Data Wrappers使用指南【代码】【图】

PostgreSQL的fdw实现的功能是各个postgresql数据库及远程数据库之间的跨库操作,功能和oracle的dblink一样。 本文中的环境如下图所示: 1.1、目标端安装软件包 [root@hdp06 ~]# yum -y install postgresql10-contrib.x86_64 1.2、目标端创建用户 这里的源端不需要创建用户。因为源端已经存在了一个rhnuser用户,直接使用。根据实际情况赋予用户权限,一般就是select、update、delete以及insert。这里的用户已经拥有这些权限了,所以...

PostgreSQL在Ubuntu上安装指南【图】

安装环境: Ubuntu 10.04-desktop-i386 PostgreSQL 8.4 1. 安装PostgreSQL 输入如下命令 sudo apt-get insta   安装环境:Ubuntu 10.04-desktop-i386PostgreSQL 8.41. 安装PostgreSQL输入如下命令sudo apt-get install postgresql系统会提示安装所需磁盘空间,,输入"y",安装程序会自动完成。 安装完毕后,系统会创建一个数据库超级用户“postgres”, 密码为空。这个用户既是不可登录的操作系统用户,也是数据库用户。2. 修改Li...

postgresql 索引使用参考

通常在postgresql创建普通索引如下create index idx_table_name_x1 on table_name(col_name);reate index 执行后在创建索引期间会阻塞 dml,创建索引时加concurrently参数不阻塞dml。创建索引:CREATE INDEX idx_t_info ON "public".t_info(code);在线创建索引:CREATE INDEX concurrently idx_t_info ON "public".t_info(code);重建单个索引:REINDEX INDEX my_index;重建和表my_table有关的索引REINDEX TABLE my_table;重建broke...

postgresql安装oracle_fdw【图】

在安装oracle_fdw前,需要先安装postgresql-devel rpm包,rpm包寻找办法: 找到对应的rpm包地址:https://yum.postgresql.org/12/redhat/rhel-7.2-x86_64/ 下载安装 注意此处可能缺少依赖,可以使用rpm -ivh --nodeps的方式强制安装 3. 安装oracle_fdw 参考文章: https://www.cnblogs.com/monkey6/p/11118377.html https://www.jianshu.com/p/e0d11f57ab75postgresql安装oracle_fdw标签:强制 acl dev mic sql 安装...

PostgreSQL教程】· 详谈PostgreSQL如何评估可打开文件描述符的数量

文章目录1. 关于文件描述符1.1 什么是文件描述符2. PostgreSQL评估可打开的fd数量1. 关于文件描述符1.1 什么是文件描述符 ?? ?文件描述符(file descriptor)是唯一标识计算机操作系统中打开文件的数字(非负整数)?

postgresql时区问题,系统时间和pg时间不一致

1、问题描述:昨天开发同事遇到一个时间转换的问题提交到测试环境发现pg的时间和系统的时间不一致,相差十多个小时时区不一致,在此简单记录一下 2、查系统时间pg时间发现不一致#date pg上登录控制台查询:select now(); show time zone; US/Pacific 在设置 set time zone PRC;重新查询及时生效 3、要想永久生效到pgdata下的postgresql.conf配置里修改两项 log_timezone = PRC timezone = PRC 修改好重启pg或者reload重新查询登...

PostgreSQL 索引膨胀

索引膨胀,主要针对B-tree而言 索引膨胀的几个来源: 大量删除发生后,导致索引页面稀疏,降低了索引的使用效率; PG9.0之前的版本,vacuum full会同样导致索引页面稀疏; 长时间运行的事务,禁止vacuum对表的清理工作二导致页面稀疏状态一致保持。 注意REINDEX会造成全表锁,不要在系统繁忙的时候操作 查看索引占用的空间: select pg_relation_size(oid)/1024/1024,relname from pg_class where relkind=’i’ order by pg_relat...

Oracle迁移到Postgresql的方法

Oracle迁移到Postgresql的方法一:用Oracle_fdw参考资料:https://www.jianshu.com/p/e0d11f57ab75http://francs3.blog.163.com/blog/static/405767272012652731317/ 二:用 ora2gp:参考资料:https://www.jianshu.com/p/563000405ea1 三:用EDB MTK:参考资料:https://www.cnblogs.com/aegis1019/p/9021799.htmlOracle迁移到Postgresql的方法标签:blog .com 参考资料 gre com 参考 acl 资料 html 本文系统来...

PostgreSQL CAST 转换数据类型【代码】

本文介绍PostgreSQL CAST操作转换数据类型。 1. PostgreSQL CAST介绍 很多时候需要转换数据类型。PostgreSQL 提供了CAST操作实现类型转换。语法如下: CAST ( expression AS target_type );表达式可以是常量、列、表达式目标数据类型即想转换的数据类型 *cast :: operator 除了上面的语法,还有另外的语法实现同样功能;expression::type,举例: SELECT'100'::INTEGER,'01-OCT-2015'::DATE;注意使用cast操作(::)是PostgreSQLT特有...

搭建sql学习的环境(postgresql9.5安装与配置教程)

如果想要一边执行 SQL 语句一边学习,就必须有数据库作为 SQL 语句的执行环境。我们用到的是postgresql9.5版本。PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、...

PostgreSQL9.5新特性:IMPORTFOREIGNSCHEMA_PHP教程【图】

PostgreSQL 9.5新特性:IMPORT FOREIGN SCHEMA本次以故事的形式讲述一名不紧跟时代步伐、不主动积极学习的员工在不了解最新特性的情况下,如何失去了“老员工”的优势和领导的信任。在一个风和日丽,没有雾霾的早上,技术部领导把小明叫到了办公室,问:“兄弟,我想在新的系统上查询一下在用的生产系统的数据,有没有比较快速、方便的方法?新的用的PG的数据库有这种方案吗?”小明:“领导,把数据从生产系统中导出,然后导入到新...

无法连接到服务器:适用于Linux的Windows子系统中ubuntu上的Postgresql【代码】

我正在将WSL与ubuntu 18.04发行版一起使用,在bash中击中了sudo -u postgres psql我收到以下错误:psql: could not connect to server: No such file or directory Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5433"?然后我尝试了其他postgres操作,例如:sudo -u createdb mydb只得到相同的错误. 请指教.解决方法:在适用于Linux的Windows子系统中的Ubuntu上运行...

PostgreSQL中的索引(五) --GiST【代码】【图】

GiST是广义搜索树generalized search tree的缩写。这是一个平衡搜索树,就像前面讨论的b-tree。 有什么区别吗?btree索引严格地与比较语义联系在一起:支持greater、less和equal操作符是它唯一能做的(但是非常有能力!)然而,对于现代数据库存储的数据类型,这些操作符根本没有意义:地理数据、文本文档、图像…… GiST索引方法可以帮助我们处理这些数据类型。它允许定义一个规则来跨平衡树分发任意类型的数据,并定义一种使用此表示形...

Postgresql 教程【代码】

Official 教程 PostgreSQL帐号 1. PostgreSQL 用户帐号和操作系统用户帐号是不同的,系统用户帐号是postgres.sudo -u postgres -i Use the operating system user postgres to create your database - as long as you haven‘t set up a database role with the necessary privileges that corresponds to your operating system user. 退出psql控制台 和其他的命令行工具不一样,psql在退出时并不是使用exit,而是使用\q,接着按下...

PostgreSQL学习(5) - 数据类型之基本数据类型

第五章: 数据类型之基本数据类型 1. 数字类型 --smallint/integer/bigint:integer最为常用 --real/double precision/numeric:real为单精度,Numeric计算准确,但计算较慢, --serial:用于生成唯一标识符 2. 字符类型 --varchar(80):只存储实际长度 --char(80):长度不足80,用空格填满 --text:可存储任意长度 3. 日期和时间 --time: 包含时间 --date: 包含日期 --timestamp: 包含日期和时间 --interval:时间间隔 4. 文本搜索类...

Top PG Clustering HA Solutions for PostgreSQL【图】

转自:https://severalnines.com/blog/top-pg-clustering-ha-solutions-postgresql If your system relies on PostgreSQL databases and you are looking for clustering solutions for HA, we want to let you know in advance that it is a complex task, but not impossible to achieve. We are going to discuss some solutions, from which you will be able to choose taking into account your requirements on fault toler...

postgresql某进程占用cpu资源过高,降不下来

由于是开发阶段,所以并没有配置postgres的参数,都是使用安装时的默认配置,以前运行也不见得有什么不正常,可是前几天我的cpu资源占用突然升高.查看进程,发现有一个postgres的进程占用CPU都是80%以上,而且居高不下;刚开始以为是配置上需要修改,但事实上,默认配置基本上是很优化的,而且是开发阶段,数据量也并不大。后来通过分析,得出结论,解决问题应该从以下几个方面来逐一考虑:1:SQL查询方面检查数据检索的索引是否建...

postgresql----Gist索引【代码】

上面一段高能的官方解释有点难以理解,暂时也不需要使用Gist实现其他的索引模式,就简单的介绍下Gist索引如何使用, 与Btree索引比较的优缺点: 优点: Gist索引适用于多维数据类型和集合数据类型,和Btree索引类似,同样适用于其他的数据类型。和Btree索引相比,Gist多字段索引在查询条件中包含索引字段的任何子集都会使用索引扫描,而Btree索引只有查询条件包含第一个索引字段才会使用索引扫描。 缺点: Gist索引创建耗时较长,...

Navicat数据建模forPostgreSQL支持跨平台_MySQL【图】

Navicat bitsCN.comNavicat Data Modeler 是一个强大易用的数据库设计工具,用于创建和操作 PostgreSQL 的数据模型,目前 Navicat Data Modeler for PostgreSQL 宣布支持 Mac OS X 和 Linux. Navicat Data Modeler 是一个强大的和易于使用的数据库设计工具,用于创建和操纵数据模型。它支持各种数据库系统,包括MySQL,Oracle, SQL Server,PostgreSQL和SQLite。 Navicat Data Modeler允许用户直观地设计数据库结构,执行向后/向前...