POSTGRCSQL - 技术教程文章

3.5. PostgreSQL继承【代码】

继承是面向对象的数据库的概念。它开启了数据库设计新的有趣的可能性大门。让我们创建两个表:一个 cities 表和一个 capitals 表。自然,首府(capital)也是城市(cities),因此在列出所有城市时你想要某种方法隐含地显示首府。如果你已经很高明了,那么你可能会创造类似下面这样的模式:CREATE TABLE capitals (name text,population real,altitude int, -- (单位是英尺)state char(2) );CREATE TABLE non_capitals...

postgresql 函数返回结果集(zz)

pgsql function 系列之一:返回结果集--------------------------------------------------------------------------------我们在编写postgresql数据库的函数(或称为存储过程)时,时常会遇到需要返回一个结果集的情况,如何返回一个结果集,返回一个结果集有多少种方式,以及如何选择一个合适的方式返回结果集,这是一个需要仔细考虑的问题。本文仅简单的罗列出各种返回结果集的方式并试图分析他们的特点,而采用何种方式则留给大...

postgreSQL主从复制【代码】

一、简介 postgres在9.0之后引入了主从的流复制机制,所谓流复制,就是从服务器通过tcp流从主服务器中同步相应的数据。这样当主服务器数据丢失时从服务器中仍有备份。与基于文件日志传送相比,流复制允许保持从服务器更新。 从服务器连接主服务器,其产生的流WAL记录到从服务器, 而不需要等待主服务器写完WAL文件。PostgreSQL流复制默认是异步的。在主服务器上提交事务和从服务器上变化可见之间有一个小的延迟,这个延迟远小于基于...

POSTGRESQL 数据库导入导出

导入整个数据库psql -U postgres(用户名) 数据库名(缺省时同用户名) < /data/dum.sql 导出整个数据库pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) >/data/dum.sql 导出某个表pg_dump -h localhost -U postgres(用户名) 数据库名(缺省时同用户名) -t table(表名) >/data/dum.sql 压缩方法一般用dump导出数据会比较大,推荐使用xz压缩压缩方法 xz dum.sql 会生成 dum.sql.xz 的文件 xz压缩数据倒数数据库...

PostgreSQL学习手册(常用数据类型)

一、数值类型: 下面是PostgreSQL所支持的数值类型的列表和简单说明: 名字存储空间描述范围smallint2 字节小范围整数-32768 到 +32767integer4 字节常用的整数-2147483648 到 +2147483647bigint8 字节大范围的整数-9223372036854775808 到 9223372036854775807decimal变长用户声明精度,精确无限制numeric变长用户声明精度,精确无限制real4 字节变精度,不精确6 位十进制数字精度double8 字节变精度,不精确15 位十进制数字精...

postgresql 函数demo【代码】

create or replace function refresh_product_usage() returns void as $$ declarerec record;sub_rec record;init_pro_id integer;parent_product_id integer;now_bom_id integer;total_product_qty float;cinsider_efficiency boolean:=true;beginTRUNCATE TABLE product_usage; for rec in select id,bom_id,product_id,product_qty,product_efficiency from mrp_bom where bom_id is not null loopnow_bom_id:=rec.bom_id;t...

PostgreSQL 慢查询SQL语句跟踪

示例:启用 SQL 跟踪PostgreSQL 日志支持的输出格式有 stderr(默认), csvlog , syslog一般的错误跟踪,只需在配置文件 【postgresql.conf】简单设置几个参数,当然还有错误级别等要设置。logging_collector = onlog_destination = ‘stderr‘log_directory = ‘log‘log_filename = ‘postgresql-%Y-%m-%d_%H%M%S.log‘SELECT name,setting,vartype,boot_val,reset_val FROM pg_settings where name in(‘logging_collector‘,‘...

postgresql-行级安全-RLS【代码】

行级安全-RLS行级安全策略9.5版本新增的特性,该特性是在数据库授权体系下提供的更细粒度的控制。通俗的说就是不同用户可以看到表中不同的数据,这种控制是行级别的9.5以前的数据库安全技术是通过grant/revoke来实现的,这两个指令提供了对象级的安全限制,针对表还有列级别的安全限制。所有对数据的操作,暴扣数据查询和更新,都受策略的限制,如果没有配置安全策略,所有的查询和更新都会禁止,但是对全表进行操作的命令,trunca...

CentOS8安装PostgreSQL12【代码】

1.PostgreSQL的安装1.1 下载并安装PostgreSQL官方yum源配置文件dnf installhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm1.2 禁用系统内置yum源的PostgreSQL安装模块PostgreSQL官方的yum源配置文件提供了PostgreSQL12/11/10/9.6/9.5共5个版本的配置信息,一般情况下我们只使用计划安装版本的配置信息,禁用不需要的配置信息可以提高下载速度。要安装12版,可以禁用11/1...

如何取得select结果数据集的前10条记录。postgresql

我用的是POSTGRESQL。select name from t_personal order by personal_id desc我想取得上面结果数据的,前10条记录。SQL语句怎么改。我记得好象SQLSERVER是。select top 10 ....,什么的。谁知道POSTGRESQL怎么写 select name from t_personal order by personal_id desc limit 10原文:https://www.cnblogs.com/telwanggs/p/10688291.html

安装postgresql11.5【代码】

root身份安装创建用户编译安装成功后,接下来要做的就是创建一个普通用户,因为默认超级用户(root)不能启动postgresql,所以需要创建一个普通用户来启动数据库,执行以下命令创建用户:[root@localhost build_dir]# groupadd postgres [root@localhost build_dir]# useradd -g postgres postgres [root@localhost build_dir]# passwd postgres接下来设置权限,将pg的数据目录全部赋给postgres用户,执行以下命令:[root@localhos...

PostgreSQL中的引号和null【代码】【图】

今天工作时写了一个sql,但是PostgreSQL总是提示有语法错误,简单的做个记录: 问题1、‘‘ 和“”单引号和双引号 举个例子:1 #1、select id, delivery_date, sal_plan_date from zaiko_shop where id=""; 2 #2、select id, delivery_date, sal_plan_date from zaiko_shop where id=‘‘; 上面的两句sql中不同的知识#1用的是双引号,#2用的是单引号 但是#1却会报错: 上面的这个问题就提示我们在写sql语句时尽量这...

PostgreSQL安装详细步骤(windows)

PostgreSQL安装:一、windows下安装过程安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下:1、开始安装:2、选择程序安装目录:注:安装 PostgreSQL 的分区最好是 NTFS 格式的。PostgreSQL 首要任务是要保证数据的完整性,而 FAT 和 FAT32 文件系统不能提供这样的可靠性保障,而且 FAT 文件系统缺乏安全性保障,无法保证原始数据在未经授权的情况下被更改。此外,PostgreSQL 所使用的"多分点"功能完成...

postgresql 日期格式【代码】【图】

在PG中,关于日期时间的有如下几种方法select now(),CURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMP ;显示结果如下: SELECT to_char(now(),‘YYYY-MM-DD HH24:MI:SS‘) now; now 2020-04-0815:42:11 SELECT to_char(CURRENT_DATE,‘YYYY-MM-DD HH24:MI:SS‘) asCURRENT_DATE; CURRENT_DATE2020-04-0800:00:00CURRENT_TIME暂不能进行to_char格式化SELECT to_char(CURRENT_TIMESTAMP,‘YYYY-MM-DD HH24:MI:SS‘) asCURRENT_TIMESTA...

Navicat Premium连接PostgreSQL【图】

连接PostgreSQL时,报错大致意思:你当前的IP没有连接权限,在文件pg_hba中缺少当前IP的配置解决:找你的PostgreSQL安装路径,这是我的:C:\Program Files\PostgreSQL\9.5\data ,找到pg_hba.conf 这个文件,文本打开,在文本内容的最后面、红框内的内容,是完全复制上一行的,数字全部修改为0,其他的都不需要修改。保存关闭再次尝试连接...成功了!原文:http://www.cnblogs.com/webonline/p/6525076.html

PostgreSQL代码分析,查询优化部分,pull_ands()和pull_ors()【图】

PostgreSQL代码分析,查询优化部分。这里把规范谓词表达式的部分就整理完了,阅读的顺序例如以下:一、PostgreSQL代码分析,查询优化部分,canonicalize_qual二、PostgreSQL代码分析,查询优化部分,pull_ands()和pull_ors()三、PostgreSQL代码分析,查询优化部分,process_duplicate_ors*************************************************************************************************************************************...

科学地增加postgresql最大连接数【代码】

PG配置文件路径/etc/postgresql/9.3/main/postgresql.conf首先如何查看最大连接数This SQL will help youselect max_conn,used,res_for_super,max_conn-used-res_for_super res_for_normal from (select count(*) used from pg_stat_activity) t1,(select setting::int res_for_super from pg_settings where name=$$superuser_reserved_connections$$) t2,(select setting::int max_conn from pg_settings where name=$$max_conn...

postgresql 10 安装【代码】【图】

windows 安装第一步: 下载https://www.enterprisedb.com/download-postgresql-binaries将解压后的文件去掉一层放入 E:\Program Files, 程序目录为 E:\Program Files\pgsql第二步: 解压压缩包,配置环境变量新建数据目录 E:\postgresql\11\pgsql\data (这是数据库的数据存储文件夹)在 E:\Program Files\pgsql 新建一个名为env.vbs的文件on error resume next set sysenv=CreateObject("WScript.Shell").Environment("system")...

PostgreSQL统计每天的记录数量,没有记录就为0或返回null【代码】【图】

1. 需求统计下面事件类型的数量,没有此类型没有数据的返回为null,前端显示为0,请写出PostgreSQL的sql SQL语句是:select t.event_code as eventCode,t.event_name as eventName,s.eventNum from event_type t LEFTJOIN (select s.parent_codeas eventCode,count(id) as eventNumfrom article s where1=1groupby s.parent_code orderby eventNum desc) s on s.eventCode=t.event_code where t.parent_code=‘0‘显示结果:...

PostgreSQL学习手册(目录)

原文地址:http://www.cnblogs.com/stephen-liu74/archive/2012/06/08/2315679.html 事实上之前有很长一段时间都在纠结是否有必要好好学习它,但是始终都没有一个很好的理由说服自己。甚至是直到这个项目最终决定选用PostgreSQL时,我都没有真正意识到学习它的价值,当时只是想反正和其它数据库差不多,能用就行了。然而有一天晚上,自己也不知道为什么,躺在床上开始回想整个项目的实施过程,想着想着就想到了数据库选型这一问...

PostgreSQL备机checkpoint【代码】

数据库异常关闭时,数据库关闭时来不及或者没机会做checkpoint,则需要从上一个一致性检查的开始恢复。 ? ? PostgreSQL备机checkpoint是不能产生checkpoint WAL的,因为如果写这样类型的checkpoint的话,就会将接收的WAL打乱,那么日志将混乱,回放会出问题。? ? 那么问题来了,备机支持checkpoint吗?他的checkpoint怎么做的?? ? PostgreSQL为了缩短恢复时间,备机上也支持checkpoint,即CreateRestartPoint。但是其pg_control文...

构建基于CentOS 7.6 的PostgreSQL 11.6 镜像【代码】

案例说明: 1)CentOS 7.6的基础镜像上创建PostgreSQL 11.6镜像。2)创建PostgreSQL 11.6 镜像的Dockerfile。3)下载PostgreSQL 11.6的源码包和Dockerfile存放在相同的目录下 1、启动docker服务[root@node1 soft]# systemctl start docker[root@node1 soft]# systemctl status docker ● docker.service - Docker Application Container EngineLoaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor pr...

PostgreSQL服务端监听设置及client连接方法

背景介绍: PostgreSQL服务端执行在RedHat Linux上,IP为:192.168.230.128 client安装在Windows XP上, IP为:192.168.230.1配置方法: 1. 改动服务端/opt/postgresql/data/postgresql.conf文件,将#listen_address=‘localhost‘改成listen_address=‘*‘ 2. 改动/opt/postgresql/data/gp_hba.conf文件在当中添加client的ip,例如以下,注意最后一行:# TYPE DATABASE USER CIDR-ADDRESS METHOD# "local" i...

java web中向postgreSQL插入当前时间【代码】

方式1 常用插入方式Timestamp currentTime= new Timestamp(System.currentTimeMillis()); String sql = "INSERTINTO message(date_create) VALUES (" + "‘" + currentTime + "‘" + ");";方式2 使用 占位符Timestamp currentTime= new Timestamp(System.currentTimeMillis()); String sql = "INSERTINTO message( date_create) VALUES (?);"; PreparedStatement pst = conn.prepareStatement(sql,Statement.RETURN_GENERATE...

PostgreSQL 9.5.4数据库快速INSERT大量数据研究【代码】

PostgreSQL 9.5.4数据库快速INSERT大量数据研究背景在一些应用场景中,需要向Abase数据库中快速装入大量的数据,比如数据库迁移,SQL日志分析等。在PG上快速插入数据有几种方案,每种方案的效率怎么样?如何调优能加快的数据装载?场景设定SQL日志分析是一个采集JDBC日志、分析SQL、发送分析结果工具。在分析阶段,需要解析大量的JDBC日志,并把解析后的结构化结果装入数据库供后续处理。以分析阶段为实验场景,以解析JDBC日志(多个...

PostgreSQL Replication之第三章 理解即时恢复(2)

3.2 归档事务日志看过图片之后,我们可以看看如何使这些东西进入工作状态。当谈到及时归档时,您需要做的第一件事是归档XLOG。PostgreSQL通过postgresql.conf提供了所有与归档相关的选项。让我们一步一步地看,要启动归档需要在postgresql.conf中做什么:1. 首先,您应该把archive_mode设置为 on。2. 第二步,您应该配置您的归档命令。归档命令是一个简单的带有两个参数的shell命令:1. %p: 这是一个表示应该被归档的的XLOG的占位符...

linux postgresql 离线安装记录

由于服务器无法连接外网,通过yum指令来安装PostgreSQL的可能性是零,所以需要离线安装操作。下载离线 rpm 包:https://yum.postgresql.org/rpmchart/由于几个rpm彼此之间的依赖关系,所以我安装的先后顺序是:rpm -ivh example.rpm1. postgresql11-libs-11.8-1PGDG.rhel7.x86_64.rpm2. postgresql11-11.8-1PGDG.rhel7.x86_64.rpm3. postgresql11-server-11.8-1PGDG.rhel7.x86_64.rpm4. postgresql11-contrib-11.8-1PGDG.rhel7.x86...

PostgreSQL编译安装【代码】

获取源码 略编译安装对于性能型的软件,我们采用编译的方式进行安装。安装依赖yum install -y systemtap-sdt-devel perl-ExtUtils-Embed pam-devel libxml2-devel libxslt-devel python-devel编译./configure --prefix=/opt/pgsql-9.3.2 --with-perl --with-python --with-openssl --with-pam --without-ldap --with-libxml --with-libxslt --enable-thread-safety --with-wal-blocksize=16 --with-blocksize=16 --enable-dtrace -...

PostgreSQL之Buffer Cache【代码】【图】

缓冲区高速缓存(Buffer Cache)位于服务器的共享内存中,并且所有进程均可访问。在读取或更新数据时,进程将页面读入缓存。当页面位于缓存中时,我们在RAM中使用它并保存数据到磁盘。 当一个进程需要读取一个页面时,它首先尝试通过哈希表在Buffer Cache中找到它,如果在Buffer Cache中找不到所需的页面。在这种情况下,需要将页面从磁盘读取到某个缓冲区中。 PostgreSQL有一个扩展,使我们能够查看缓冲区高速缓存的内部。安装扩...

postgresql数据迁移

postgresql从库故障准备新库1,创建用户[root@localhost home]# userdel postgres[root@localhost home]# groupdel postgresmkdir /home/mydbchown -R postgres:postgres /home/mydb2,解压安装包[root@localhost home]## tar -xvf postgres/postgresql-8.1.4.tarcd postgres/postgresql-8.1.4编译安装: ./configure --prefix=/usr/local/pgsql -localstatedir=/home/mydb $ ./configure --prefix=/usr/local/pgsql --with-pgco...