🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] > [中文文档14](http://postgres.cn/docs/14/index.html) ## 概述 一般的开发依赖为`Redis + MySQL + Greenplum/Hadoop + Kafuka/Flink + ElasticSearch` 组合,但是使用 pgsql 就可以一个搞定 * **OLTP**:事务处理是PostgreSQL的本行 * **OLAP**:citus分布式插件,ANSI SQL兼容,窗口函数,CTE,CUBE等高级分析功能,任意语言写UDF * **流处理**:PipelineDB扩展,Notify-Listen,物化视图,规则系统,灵活的存储过程与函数编写 * **时序数据**:timescaledb时序数据库插件,分区表,BRIN索引 * **空间数据**:PostGIS扩展(杀手锏),内建的几何类型支持,GiST索引。 * **搜索索引**:全文搜索索引足以应对简单场景;丰富的索引类型,支持函数索引,条件索引 * **NoSQL**:JSON,JSONB,XML,HStore原生支持,至NoSQL数据库的外部数据包装器 * **数据仓库**:能平滑迁移至同属Pg生态的GreenPlum,DeepGreen,HAWK等,使用FDW进行ETL * **图数据**:递归查询 * **缓存**:物化视图 **优点** DDL能放入事务中,删表,TRUNCATE,创建函数,索引,都可以放在事务里原子生效,或者回滚。这就能进行很多骚操作,比如在一个事务里通过RENAME,完成两张表的王车易位。能够并发地创建或删除索引(不锁表);为表添加新的空字段不锁表,瞬间完成。这意味着可以随时在线上按需添加移除索引,添加字段,不影响业务。复制方式多样:段复制,流复制,触发器复制,逻辑复制,插件复制,多种复制方法。丰富的复制支持使得不停服务迁移数据变得无比容易。提交方式多样:异步提交,同步提交,法定人数同步提交。FDW的存在让ETL变得无比简单,一行SQL就能解决。系统视图非常完备,做监控系统相当简单。 ## 示例 ### php 连接 pgsql ``` $host = "127.0.0.1"; $dbname = "demo"; $password = '123456'; $username ='postgres'; $dbh = new PDO("pgsql:dbname=$dbname;host=$host", $username, $password ); $dbh->exec("INSERT INTO on_hand VALUES (ROW('fuzzy dice', 42, 1.999), 1000);"); ```