![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PostgreSQL
文章平均质量分 62
PostgreSQL相关知识
db_shidb
爱学习、爱生活,每天进步一点点。
展开
-
centos7 安装 postgres11
centos7安装postgres11--创建安装目录[root@localhost~]#mkdir/dbgroup/pg11[root@localhost~]#chown-Rpostgres.postgres/dbgroup/pg11--数据目录mkdir/dbgroup/pg11/datachown-Rpostgres.postgr...原创 2019-10-22 11:47:34 · 552 阅读 · 0 评论 -
自定义pg序列格式作为主键默认生成,字段默认为300个元素的一位数组
背景在有些场景下我们希望能自定义生成固定格式的主键,和字段的默认值,比如自定义pg序列格式作为主键默认生成,字段默认为300个元素的一位数组实现如下[postgres@es-10 ~]$ psql -h 127.0.0.1psql (12beta4)Type "help" for help.创建一位数组的随机生成函数postgres=# create or repl...原创 2019-10-22 11:37:18 · 687 阅读 · 0 评论 -
PostgreSQL之时间戳自动更新
PostgreSQL之时间戳自动更新问题描述PostgreSQL执行Insert语句时,自动填入时间的功能可以在创建表时实现,但更新表时时间戳不会自动自动更新。在mysql中可以在创建表时定义自动更新字段,比如:createtableab(idint,ageint,changetimestamptimestampNOTNULLdef...原创 2019-11-05 12:05:22 · 5102 阅读 · 6 评论 -
postgresql重复数据删除
表emp数据样例如下id | age | name ----+-----+-----------1 | 10 | se7en.shi2 | 10 | se7en.shi3 | 10 | se7en.shi4 | 21 | Lucy5 | 21 | Lucy6 | 31 | tom7 | 20 | jack...原创 2019-11-14 17:14:08 · 181 阅读 · 0 评论 -
数据累加
数据样例如下, id money acc 1 0 2000 2 85 0 3 100 0 4 19 ...原创 2019-11-14 17:16:25 · 197 阅读 · 0 评论 -
PostgreSQL数据模拟生成
针对Postgres生成数据方法<1>生成序列SELECT*FROMgenerate_series(1,5);<2>生成dateSELECTdate(generate_series(now(),now()+'1week','1day'));<3>生成integer随机数SELECT(random()*(2*10^...原创 2019-10-28 09:55:44 · 1357 阅读 · 0 评论 -
包含null值的唯一索引
drop table t1;create table t1(id serial not null primary key,card_no character varying(10),name character varying(10),age int);create unique index on t1(card_no,COALESCE(name,'000'));insert into t1(card_no,name) values('no001','one');..原创 2020-05-28 14:24:41 · 564 阅读 · 0 评论 -
oracle迁移到pg全流程
oracle迁移到pg全流程oracle迁移到pg全流程 1postgres限制 3DBA的概念映射 3Oracle pg的数据类型映射 4oracle迁移postgres转换 5oracle与postgres对象 8Schema 8标识符 8表 8列 8Constraint: 8迁移方案 9加载加速 9业务逻辑存储过程迁移 912,条件...原创 2019-10-22 12:03:33 · 8984 阅读 · 0 评论 -
postgresql大批量数据快速删除的方法
droptablet_simhash_real;createtablet_simhash_real(bitstr_idbigserialnotnullprimarykey,bitstrcharactervarying(256),doc_idbigint,bit_countinteger,bit_coun...原创 2019-12-06 13:58:11 · 7808 阅读 · 0 评论 -
PostgreSQL常用运维脚本
--查看索引膨胀SELECTcurrent_database(),nspnameASschemaname,tblname,idxname,pg_size_pretty(bs*(relpages)::bigint)ASreal_size,pg_size_pretty(bs*(relpages-est_pages)::bigint)ASextra_size,1...原创 2019-11-18 09:45:59 · 996 阅读 · 0 评论 -
SQL实现的不同表的相加 相减
--实现两张表的数据相加droptablea;createtablea(currency_typecharactervarying,c_valfloat);insertintoa(currency_type,c_val)values('CNY',10);droptableb;createtableb(...原创 2019-11-01 16:05:16 · 3165 阅读 · 0 评论 -
centos7 pg10.7 源码安装postgis2.5
centos7pg10.7源码安装postgis2.5PostGIS部署pre-requirementsudoyuminstalllibxml2libxml2-devgcc+gcc-c++-ygeoshttp://trac.osgeo.org/geossudomkdir/usr/local/geos-psudochown...原创 2019-11-08 17:35:31 · 686 阅读 · 1 评论 -
PostgreSQL从源端到目标端不落地数据迁移
从源端到目标端不落地数据迁移,源端的数据输出作为另一个的输入psql -h ip -U postgres -p 10002 -d postgres "copy enterprise_data to stdout"|psql -h ip -U aispdata -p 7666 -d aisp -c "copy enterprise_data from stdin"...原创 2019-10-28 11:08:29 · 208 阅读 · 0 评论 -
PostgreSQL列转行
这里我来演示下在POSTGRESQL里面如何实现交叉表的展示,至于什么是交叉表,我就不多说了,度娘去哦。原始表数据如下:t_girl=#select*fromscore;name|subject|score-------+---------+-------Lucy|English|100Lucy|Physics...原创 2019-11-04 14:42:02 · 2700 阅读 · 0 评论 -
postgres时间与时间戳互转
postgres=> SELECT EXTRACT(epoch FROM CAST('2017-12-06 00:17:10' AS TIMESTAMP)); ...原创 2019-11-20 11:23:42 · 3781 阅读 · 0 评论 -
MatrixDB .pgpass无密码登陆
MatrixDB .pgpass无密码登陆sdw4创建用户postgres=# create user biuser with encrypted password ‘123456’;放开权限[shidb@sdw4 gpseg-1]$ cat pg_hba.confhost all all 192.168.100.0/24 md5使其生效gpstop -usdw3上得操作.pgpass配置[shidb@sdw3 ~]$ cat .pgpass19原创 2021-10-18 14:28:33 · 338 阅读 · 0 评论 -
centos7 安装 postgres12
centos7安装postgres12--创建安装目录[root@localhost~]#mkdir/data/pg12/data-p[root@localhost~]#chown-Rpostgres.postgres/data/pg12下载wgethttps://ftp.postgresql.org/pub/source/v12.1/po...原创 2019-11-25 11:33:28 · 899 阅读 · 0 评论 -
分区表相关操作
--自研分区子表drop table rd_st_order;CREATE TABLE rd_st_order(id int NOT NULL ,cycle integer NOT NULL ,num NUMBER(5,0) NOT NULL,region integer)partition by range (cycle) begin (201901)step (1) partitions (2)distribute by shard(region)to group d...原创 2020-08-19 16:07:30 · 353 阅读 · 0 评论 -
PostgreSQL 表和列权限解读
PostgreSQL表和列权限解读http://www.postgres.cn/docs/10/catalogs.htmlpostgres=#createusercmftwithENCRYPTEDPASSWORD'cmrh1875!';CREATEROLEpostgres=#createusercmrhwithENCRYPTEDPASSWORD'cm...原创 2019-12-09 14:05:38 · 536 阅读 · 0 评论 -
拉链表实现及使用
一、概念历史拉链表,就是记录一个事务从开始一直到当前状态的所有变化的信息,拉链表可以避免按每一天存储所有记录造成的海量存储问题,同时也是处理缓慢变化数据的一种常见方式。假设企业拥有1000万的会员信息,每天有20万的会员资料变更,我们需要记录所有会议的历史变化记录,并至少保留两年,该怎么办?储存两年就是2x365x1000万=7300000000(70亿),如果储存...原创 2019-11-13 11:49:52 · 9070 阅读 · 2 评论 -
greenplum分区表
分区表的创建1.自动日期分区createtablesales_order(order_idbigserial,order_datedate,amtdecimal(10,2))distributedby(order_id)partitionbyrange(order_date)(start(date'2019-01-01')inclusiveend...原创 2019-11-13 14:38:57 · 801 阅读 · 0 评论 -
greenplum日期类操作
--指定日期前一年的最后一天postgres=#SELECT(to_date('2019-11-11','yyyy')-1);?column?------------2018-12-31--指定日期月份的最后一天--方式一:postgres=#SELECTto_date('2019-12-12','yyyy-mm')+INTERVAL'1...原创 2019-11-13 14:09:32 · 1214 阅读 · 0 评论