CREATE LANGUAGE plpgsql CREATE or REPLACE function getDatirenshu(w_wjID int) RETURNS INTEGER as ' DECLARE datiRenshu INTEGER; BEGIN select count(id) into datiRenshu from rfwenjuan_yuanshijieguo where wenjuanItem_id=w_wjID; return datiRenshu; end;' LA…
原创文章,同步发自作者个人博客,http://www.jasongj.com/sql/mvcc/ PostgreSQL针对ACID的实现机制 事务的实现原理可以解读为RDBMS采取何种技术确保事务的ACID特性.PostgreSQL针对ACID的实现技术如下表所示. ACID 实现技术 原子性(Atomicity) MVCC 一致性(Consistency) 约束(主键.外键等) 隔离性 MVCC 持久性 WAL 从上表可以看到,PostgreSQL主要使用MVCC和WAL两项技术实现ACID特…
问:用Acmap在PostgreSQL中创建要素类需要执行"create enterprise geodatabase"吗? 关于这个问题,是在为新员工做postgresql培训后触发的.我要求他们使用arcmap在postgresql中创建要素类,他们大多数解题思路走错了.思路错了这其实不要紧,要紧的是,我发现他们好多人是在咨询了有经验的同事后选择了错误的解题思路,我比较在意的是有经验的同事对postgis认识的不足.新员工们大多被告知:"你需要执行create enter…
SYNOPSIS CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name HANDLER call_handler [ VALIDATOR valfunction ] DESCRIPTION 描述 使用 CREATE LANGUAGE, 一个PostgreSQL 用户可以在 PostgreSQL里注册一个新的语言. 因而,函数和触发器过程可以用这种新语言定义.要注册新语言用户必须具有 PostgreSQL 超级用户权限. CREATE LANGUAGE 将…
mysql 从5.7到8.0,pg从9.6到10,干起来了.. PostgreSQL 10 的首个测试版发布了,此版本包含 PostgreSQL 10 最终将提供的所有功能的预览.当然,有些细节将在最终发布前有所更改. PostgreSQL 10 主要特性: 新版本允许用户同时 scale out 和 scale up 其 PostgreSQL 基础结构: 逻辑复制:用于复制指定表或使用复制进行升级的内置选项 Native Table 分区:作为 native 数据库对象的范围和列表分区 附加查…
2015年左右,因为工作需要用MongoDB.CouchBase这两种文档型数据库,时不时到这两个数据库官网上查资料.报BUG.时常可以在MongoDB官网上看到这样一些新闻,“某某企业成功将MySQL替换成MongoDB,性能大幅提升”,“某某公司将Oracle替换成MongoDB,节约成本若干”…… 而在CouchBase官网上,又会时不时看到这样的新闻:“A公司将MongoDB替换成CouchBase,性能提升显著”.“B公司将MongoDB替换为CouchBase,性能大大提升.”………
1.createdb 数据库名称 产生数据库2.dropdb 数据库名称 删除数据库 3.CREATE USER 用户名称 创建用户4.drop User 用户名称 删除用户 5.SELECT usename FROM pg_user; 查看系统用户信息 \du 7.SELECT version(); 查看版本信息 8.psql 数据库名 打开psql交互工具 9.mydb=> \i basics.sql\i 命令从指定的文件中读取命令. 10.COPY weather FROM '/home/…
转载自http://zhenghaoju700.blog.163.com/blog/static/13585951820116782843994/ 先安装一个PostgreSQL(见补充知识) 比较Oracle PL/SQL PL/SQL 中有 dbms_output.put_line("This is a log"); 可以进行简单的调试 当然我们PostgreSQL 也有相应的函数 RAISE NOTICE 'This is a log %', param: % 占位符 param…
UPDATE:UPDATE A SET ApproverID=NULL FROM [SH_MaterialApplyBuyBill] A LEFT JOIN [SH_MaterialApplyBuyBillDetail] B ON A.ID=B.[MaterialApplyBuyBillID]WHERE A.id=125 AND @InDetailCount=0DELETE:DELETE A FROM [SH_ClosingBalance] A LEFT JOIN [SH_StoreHouse]…
 gp建表的实例         gp 创建外部表的实例:(外部表不能建立分布键)              CREATE EXTERNAL TABLE user_app_tag (              user_id bigint,              tag4 int,              tgi text,              duration bigint,              open_time int,              tag_deadline…
1.createdb 数据库名称  产生数据库2.dropdb  数据库名称  删除数据库 3.CREATE USER 用户名称  创建用户4.drop User 用户名称  删除用户 5.SELECT usename FROM pg_user;  查看系统用户信息  \du 7.SELECT version();  查看版本信息 8.psql 数据库名  打开psql交互工具 9.mydb=> \i basics.sql\i 命令从指定的文件中读取命令. 10.COPY weather FRO…
主数据库: 172.16.254.21 端口:5432 从数据库: 172.16.254.22 端口:5432 步骤1:主从均安装slon apt-get install slon-bin 步骤2:主从数据库配置权限,创建语言. 在主数据库中   vi /etc/postgresql/8.3/node/pg_hba.conf 添加一条记录    host    all         repl         172.16.254.22/32  md5 在主从数据库均执行以下操作: shell>…
当需要升级PostgreSQL时,可以使用多种方法.为了避免应用程序停机,不是所有升级postgres的方法都适合,如果避免停机是必须的,那么可以考虑使用复制作为升级方法,并且根据方案,可以选择使用逻辑复制或物理(流)复制来处理此任务.我们来看看PostgreSQL中逻辑和物理复制之间的区别.然后,我们将更详细地探讨如何使用逻辑复制完成升级,并通过这样做,避免应用程序停机.在后面的文章中,我们将研究物理复制.我们已经在之前的系列文章中讨论了几种可用于升级或迁移旧版PostgreSQL到新版Pos…
zabbix使用得数据库是Postgresql,最近zabbix4.0版本出来了,准备把zabbix升级,得先把数据库备份,但是一直报错,如下:     查找服务器上是否有10的版本,也一直没找到       然后Google.百度了一下午,额~~~,一下午真的是一下午,加上十一假期第一天假,注意力也没怎么集中,都没找到答案:最后自己想了想,这里是服务端版本为10.3,客户端版本为9.5,那我把客户端的版本升级到10.3不就可以了吗?该怎么升级呢,官网才是最靠谱的   官网:https://ww…
官方文档 语法: CREATE [ OR REPLACE ] FUNCTION name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ] ) [ RETURNS rettype | RETURNS TABLE ( column_name column_type [, ...] ) ] { LANGUAGE lang_name | TRANSFORM { FOR TYPE type_nam…
前段时间,公司更换新的PostgreSQL数据集市的系统过程中,自己下载了postgresqlAPI的pdf文件研究了一下PostgreSQL数据集市.发现使用PostgreSQL过程语言可以大大加快自己处理数据的效率,下面就举个例子吧!相信大家看了后,也会喜欢上PostgreSQL过程语言的....... 首先给出一段SQL脚本,该SQL查询2015年9月10日的欠费数据: ? 1 2 3 4 5 6 7 8 9 SELECT DISTINCT A.DAY_ID 统计日期 ,A.CHANNEL…
https://zh.wikipedia.org/wiki/PostgreSQL PostgreSQL是自由的对象-关系型数据库服务器(数据库管理系统),在灵活的BSD-风格许可证下发行.它在其他开放源代码数据库系统(比如MySQL和Firebird),和专有系统比如Oracle.Sybase.IBM的DB2和Microsoft SQL Server之外,为用户又提供了一种选择. PostgreSQL不寻常的名字导致一些读者停下来尝试拼读它,特别是那些把SQL拼读为"sequel"的人…
bucardo是PostgreSQL数据库中实现双向同步的软件,可以实现PostgreSQL数据库的双master的方案,不过bucardo中的同步都是异步的,它是通过触发器记录变化,程序是perl写的.bucardo可以实现postgresql的多主复制.主从同步,甚至可以以postgresql为源库,可以和oracle.mysql.mongodb等很多数据库进行数据异步同步.   而pg原生的stream replication:虽可以同步:只能单向同步.只能是只读操作.而bucardo不支…
在 mac 下,可以利用 homebrew 直接安装 PostgreSQL: 1 brew install postgresql -v 稍等片刻,PostgreSQL 就安装完成.接下来就是初始数据库,在终端执行一下命令,初始配置 PostgreSQL: 1 initdb /usr/local/var/postgres -E utf8 上面指定 "/usr/local/var/postgres" 为 PostgreSQL 的配置数据存放目录,并且设置数据库数据编码是 utf8,更多配置…
本文针对目前最新版9.5.1,若非说明,文中所说文档即指官方文档.本人刚接触PostgreSQL不久,文中不免错漏,请大家指正:随着了解深入,本文[可能]会不定期更新补足. JSON PostgreSQL支持Json格式数据,有两种类型:json和jsonb.两者在效率上有所区别,而这是因为jsonb存储的是格式化后的二进制数据,所以在写入时,json类型比较快,而在检索时(注意这里说的检索不是简单的读取整个数据,而是比如检索json数据中某个键的值的场景),jsonb效率较高.一般情况下,使用…
如何查看使用PostgreSQL的RPM包安装后的文件目录及相关路径(PostgreSQLRPM的spec文件已经帮我们创建好了postgres用户及postgres组). 查看RPM文档信息:/usr/share/doc/rpm-4.11.1 RPM数据库文件:file /var/lib/rpm/* |grep Berkeley [root@backup soft_bak]# rpm -qpl postgresql94-9.4.5-1PGDG.rhel7.x86_64.rpm /usr/pgs…
在使用数据库前,是启动数据库,启动数据库前是initdb(初始化数据库):一起来看一下initdb做了什么吧. 初始化数据库的操作为: ./initdb -D /usr/local/pgsql/data initdb把用户指定的选项转换成对应的参数,通过外部程序调用的方式执行postgres程序.postgres程序在这种方式下将进入bootstrap模式创建数据集簇,并读取后端接口postgres.bki文件来创建模板数据库. /*-------------------------------…
版本信息 ubuntu    14.04.1LTS postgresql   9.3.5 postgis       2.1.2 今天尝试着安装了postgis 2.1.2,(较简便的包安装,不是源码安装)把步骤写出来分享给大家 1.安装postgresql 首先用  apt-cachesearch postgresql 查找最新的软件包,结果如下 postgresql-9.3 - object-relational SQLdatabase, version 9.3 server postgre…
1.登录postgresql psql -h 192.168.137.131 -p 5432 postgres satusc@6789#JKL 2.创建用户 CREATE USER name thunisoft createdb; --(equal CREATE ROLE name LOGIN createdb); 3.创建数据库create database test_database owner = thunisoft; 4.查看帮助 psql 下敲help [thunisoft@local…
http://meidayhxp.blog.163.com/blog/static/117608156201210243837491/ 这个内容是官方Doc中的一章,具体是那一版的,还未确认. 第九章 并发控制 本章介绍PostgreSQL的并发控制机制.当两个或多个用户同时访问同一个数据行时,需要使用并发控制机制来维护数据的完整性和一致性. 9.1 概述 PostgreSQL使用的是多版本并发控制机制(Multiversion Concurrency Control, MVCC).多版本并发控…
基于 psql (PostgreSQL) 10.4 pg_language表定义了函数实现所使用的语言.主要支持了C语言和SQL语句.一些可选的语言包括pl/pgsql.tcl和perl. ligang=# select lanname, lanispl, lanpltrusted, lanplcallfoid, laninline, lanvalidator from pg_language; lanname | lanispl | lanpltrusted | lanplcallfoid |…
Postgresql下plv8安装过程其实很简单,但是在网络上搜集了半天都没有找到一篇满意的安装文档,现在总结如下: 1.下载和PostgreSQL相对应的plv8版本,下载地址如下: http://www.postgresonline.com/journal/archives/280-PLV8-1.3-windows-binaries-for-PostgreSQL-9.2.html 解压后…
操作系统 :CentOS7.3.1611_x64 PostgreSQL版本 :9.6 问题描述 PostgreSQL执行Insert语句时,自动填入时间的功能可以在创建表时实现,但更新表时时间戳不会自动自动更新. 在mysql中可以在创建表时定义自动更新字段,比如 : create table ab ( id int, changetimestamp timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP…
pgsql已经更新到beta11了,不同版本的服务器启动或相关命令.配置可能会有不同,所以得根据pg版本进行操作.下面记录一些工作中常用到的一些操作,主要包括服务启动.备份/恢复数据.数据目录迁移.常见操作命令 本文环境: postgres : v10.3 os: MAC 虽然已经在kong部署中介绍了postgres的部署,为了行文连贯性,这里再简单记录下pg的启动相关命令. 服务启动 安装 brew install postgresql which psql ~$ /usr/local/bi…
问题背景 .定时任务调用存储过程.将数据插入临时表时.出现了uuid重复的报错. 报错信息 [SQL]select DB_DATA.PR_SELECT() [Err] ERROR: duplicate key value violates unique constraint "pk_result_select" DETAIL: Key (c_id)=(3d0e61c6615092883cc5e29198aaffb7) already exists. CONTEXT: SQL state…