PostgreSQL 10.0 解读

本文涉及的产品
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介:

背景

本文参考当前的release notes以及git, committe fest编写,10.0还没有正式release,部分内容在正式release时可能会修改,同时会新增新的内容。

迁移到10.0的注意事项

迁移时,请注意不兼容的地方。

1. 使用pg_upgrade升级时,hash index 需要重建。(因为10.0为了支持hash index WAL,存储结构改变了。)

2. $PGDATA/pg_log, pg_xlog, pg_clog目录分别重命名为log, pg_wal, pg_xact。

3. XLOG相关的系统管理函数重命名,xlog改为wal,例如

pg_switch_xlog() becomes pg_switch_wal(), pg_receivexlog becomes pg_receivewal, and --xlogdir becomes --waldir.

4. COALESCE 和 CASE 表达式支持SRF函数,当函数为SRF时,表达式返回多行。

5. plpython支持多维数组,对应Python 类型nested Python lists。

6. 并行查询相关GUC参数,新增两个参数min_parallel_table_scan_size , min_parallel_index_scan_size 代替min_parallel_relation_size。表示使用并行查询的表、索引的最小SIZE。

7. 不再支持浮点 datetimes/timestamps类型,编译项--disable-integer-datetimes去除。

8. 不再支持client/server protocol version 1.0 。

9. 不再支持contrib/tsearch2。

10. 不再支持version-0版本的c language function。

11. 注意增加了更安全的密码存储和认证策略,建议使用。

重大更新

1 服务端

并行查询

1. 支持并行 b-tree 索引扫描(允许多个并行工作进程扫描不同的b-tree page。)。

2. 支持并行 bitmap heap 扫描。

3. 支持并行 merge join(9.6只支持并行hash join)。

4. 支持并行 不相干子查询。

5. 支持并行 merge sort,例如包含多个分区表的排序查询,支持merge sort输出。

6. 内置函数梳理,可以并行的函数被标记为parallel-safe,否则标记为parallel-restricted。

7. 允许用户设置集群级的最大并行工作进程数量,通过GUC变量max_parallel_workers进行设置。建议max_parallel_workers < max_worker_processes,从而预留更多的worker process给其他需要工作进程的功能模块。

索引

1. SP-GiST索引新增对INET,CIDR网络类型的支持。

2. GIN索引垃圾回收优化,减少页锁范围。

https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=218f51584d5a9fcdf702bcc7f54b5b65e255c187

3. brin索引优化,支持自动修正元信息。

《PostgreSQL 10.0 preview 功能增强 - BRIN 索引更新smooth化》

4. 使用BRIN索引是否能提升效率?决策将更加精准。

5. 通过有效的空间重用,GiST索引的插入和更新效率更高。

6. HASH索引支持WAL日志,意味着hash索引是crash safe并且也是支持流复制的了。

7. 优化hash索引bucket的分裂性能,降低锁需求。

8. hash索引的空间增长将更加有效。

9. 允许清理单个HASH页的垃圾。

新增两个参数,max_pred_locks_per_relation 和 max_pred_locks_per_page 。 用于控制串行隔离级别的锁提升,降低内存开销。

《PostgreSQL 10.0 preview 功能增强 - 串行隔离级别 预加锁阈值可控》

优化器

1. 允许用户自定义统计信息,例如多个列的组合统计信息等。

《PostgreSQL 10.0 preview 功能增强 - 自由定义统计信息维度》

2. 加入JIT框架,OLAP类查询性能提升明显。

《PostgreSQL 10.0 preview 性能增强 - 推出JIT开发框架(朝着HTAP迈进)》

性能

1. 使用优化的numeric类型,提升SUM()聚合性能。

2. 使用radix index提升字符集转换性能。

《PostgreSQL 10.0 preview 性能提升 - radix tree提升字符编码转换性能》

3. 降低函数调用的overhead,当函数被多条记录调用(特别是OLAP场景)时,性能提升非常明显。

4. 提升grouping set(多维分析)性能。

5. 当外表是UNIQUE时,通过减少内表的扫描,提升hash join, nestloop join的性能。

《PostgreSQL 10.0 preview 性能增强 - hash,nestloop join优化(聪明的优化器是这样的)》

6. 降低在会话中跟踪relation统计信息的开销,特别是当一个会话曾经访问了多个对象(表、物化视图、索引等)时。

监控

1. 新增pg_sequence系统表,可以查看数据库中所有序列的元信息。方便了很多。

2. EXPLAIN语法增加SUMMARY选项,输出更详细的QUERY执行统计信息。

3. 刷新物化视图时,自动刷新物化视图的统计信息。

4. 添加4名监控角色: pg_monitor, pg_read_all_settings, pg_read_all_stats, pg_stat_scan_tables。 权限分配更细致了。

5. 新增两个管理函数,普通用户可以调用,pg_ls_logdir() , pg_ls_waldir() 输出数据库日志目录的所有文件,数据库WAL目录的所有文件。

6. 新增一个管理函数,pg_current_logfile() 返回当前正在写的log文件。

7. 启动时,报告socket监听端口,以及socket文件在哪里。

8. pg_stat_activity动态视图,新增一个等待事件latch wait的状态(状态包括remaining wait events, 例如 client reads, client writes, and synchronous replication)。

9. pg_stat_activity动态视图,新增reads, writes, fsyncs的等待状态。

10. pg_stat_activity动态视图,新增数据库管理进程、辅助进程、流复制进程的统计信息。通过backend_type字段区分。

11. pg_stat_activity动态视图,对于并行工作进程,QUERY列显示SQL信息。

https://www.postgresql.org/docs/devel/static/monitoring-stats.html

认证

1. 新增SCRAM-SHA-256密码认证协商机制与密码存储机制。提升安全性。用户在创建用户时选择密码存储方法,在pg_hba.conf中配置认证协商方法。

《PostgreSQL 10.0 preview 安全增强 - SASL认证方法 之 scram-sha-256 安全认证机制》

2. 新增pg_hba_file_rules视图,查看pg_hba.conf中的内容,也就是说以后DBA不需要登陆机器,就可以查看目前数据库防火墙的配置(注意目前显示的是pg_hba.conf的文件内容,而不是目前激活的配置)。

3. 支持多个RADIUS servers。

服务端配置

1. 允许在线更新SSL配置。通过pg_ctl , SELECT pg_reload_conf(), 或给postmaster进程发送SIGHUP 信号.

2. 降低修改表参数的DCL的锁粒度,例如修改表的effective_io_concurrency参数,只需要加载lwlock。

3. 将GUC变量bgwriter_lru_maxpages的最大上限设置为无限大,也就是说bgwriter可以在一个周期内,将所有的脏页写出去了。

可靠性

1. 在创建或者删除文件后,调用fsync。降低断电带来的风险。

2. 避免在空闲的系统中执行checkpoint和归档

https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=6ef2eba3f57f17960b7cd4958e18aa79e357de2f

3. 新增wal_consistency_checking参数,写入额外的FPW,standby在回放partial WAL时,对比FDW与拼装的PAGE是否一致。用于调试。

《PostgreSQL 10.0 preview 功能增强 - WAL一致性校验》

4. WAL 文件最大支持1GB。

2 流复制与恢复

1. 支持逻辑订阅

《PostgreSQL 10.0 preview 功能增强 - 逻辑订阅端worker数控制参数》

《PostgreSQL 逻辑订阅 - 给业务架构带来了什么希望?》

《PostgreSQL 10.0 preview 变化 - 逻辑复制pg_hba.conf变化,不再使用replication条目》

《PostgreSQL 10.0 preview 功能增强 - 备库支持逻辑订阅,订阅支持主备漂移了》

《PostgreSQL 10.0 preview 功能增强 - 逻辑复制支持并行COPY初始化数据》

《PostgreSQL 10.0 preview 逻辑复制 - 原理与最佳实践》

2. 同步复制,支持quorum commit模式的任意副本。

《PostgreSQL 10.0 preview 安全增强 - 任意wal副本数,金融级高可用与可靠性并存需求》

4. 修改默认的wal_level, max_wal_senders, and max_replication_slots参数配置,流复制配置将更简单。

5. 通过pg_stat_replication新增的三个字段write_lag, flush_lag, and replay_lag,报告备库的时间度量延迟。

《PostgreSQL 10.0 preview 功能增强 - 流复制统计视图pg_stat_replication增强, 新增时间维度延迟评估》

6. 基于时间点的恢复(PITR),新增支持LSN作为恢复目标。(目前已支持 xid, 时间, target name, lsn四种目标)

7. 用户可以选择pg_stop_backup()是否等待所有归档结束。

8. 允许创建临时replication slot,会话结束后自动删除该slot,这些SLOT常用于初始的数据同步等需求,例如逻辑订阅的初始数据同步。

9. 提升hot standby replay性能,提高Access Exclusive locks的tracking效率。

10. 提升2PC事务的恢复效率。

3 QUERY

1. 添加XMLTABLE函数,可以将XML格式数据转换为多行的结果集。

2. UPDATE SET中允许使用ROW构造器或者table.*,例如UPDATE ... SET (column_list) 。

3. 修正规则表达式的本土化BUG,允许大于U+7FF的字符使用正确的本土化设置。

4 DDL

1. 支持分区表语法,目前支持range和list分区,暂时不支持HASH分区。用户可以使用pg_pathman插件支持hash分区。

2. 支持statement after触发器中使用Transition table,提升性能。

《PostgreSQL 10.0 preview 功能增强 - 触发器函数内置中间表》

3. 安全增强,支持严格的行安全策略(restrictive row-level security policies)

4. 允许通过ALTER DEFAULT PRIVILEGES设置schema的默认权限。

5. 带有instead insert trigger的视图,支持COPY命令灌数据。

6. 当函数无参数时,使用DROP FUNCTION可以只提供函数名。

7. 允许在一条DROP命令中,删除多个操作符、函数。

8. vacuum verbose报告跳过了多少frozen pages 以及 oldest xmin。这些信息在日志中也会被记录下来。

9. 提升vacuum清除末端空页的性能。

5 数据类型

1. 全文检索支持JSON, JSONB类型,通过ts_headline和to_tsvector接口进行转换。

2. 支持EUI-64国际标准mac地址类型MACADDR8,macaddr为老的EUI-48标准。

3. 支持SQL标准的identity columns,实际上功能和SERIAL一致。自增序列。

4. 支持重命名枚举类型元素值。

6 函数

1. 新增regexp_match()函数,返回第一个匹配的串,简化使用。老的版本可以使用regexp_matches()达到同样目的(只是写法略复杂)。

2. jsonb类型,支持原子删除指定的KEYS,通过ARRAY提供KEYS进行删除。

3. 新增一个函数txid_current_ifassigned()用于获取当前已分配的事务号,如果未分配,返回NULL。之前txid_current()也有这个功能,但是如果未分配,txid_current会申请一个事务号并返回。所以txid_current不能在standby使用,而txid_current_ifassigned可以在standby使用。

4. 新增txid_status()函数,可以检查XID(事务)的状态,是否已提交。

5. 允许make_date()使用负的BC year值。

6. to_timestamp() , to_date() 将检测时间有效性,to_date('2009-06-40','YYYY-MM-DD')将报错,不再转换为'2009-07-10'。

7 服务端编程

1. 允许pl/python对象调用游标和执行动态SQL。

2. 允许将PL/pgSQL GET DIAGNOSTICS接收的信息输入ARRAY变量。

3. 移除服务端编程接口 SPI_push(), SPI_pop(), SPI_restore_connection() 。

4. 允许PL/Tcl函数返回复合类型和SRF。

5. PL/Tcl 支持子事务命令,如果子事务异常,不会回滚整个事务。

6. 添加PL/Tcl初始化参数,pl/tcl装载时,自动调用pltcl.start_proc , pltclu.start_proc设置的程序。

8 客户端接口

1. libpq支持配置多个主机名、端口。libpq自动连接到第一个正常响应的数据库。

2. libpq支持配置多个主机名、端口,并且允许配置每一对主机名端口的target_session_attrs,是否支持读写。

适合物理流复制,一主多备的读写分离场景。

3. libpq支持密码文件,不需要再连接中配置密码了,以往也可以通过设置环境变量实现。

4. ecpg的版本号更新,以后ECPG版本号将与PG的发布版本保持一致。

9 客户端应用程序

psql

1. psql 客户端支持\if, \elif, \else, \endif 用法。

2. psql 客户端 \set 将列出已设置的变量。

3. TAB 补齐功能增强。

10 服务端应用程序

1. pg_receivewal 流式WAL接收,支持流式压缩。option -Z/--compress

2. pg_recvlogical 流式逻辑复制客户端,支持指定开始位置和结束位置。 --startpos , --endpos

3. pg_restore 逻辑还原命令,支持排除schemas。 -N/--exclude-schema

4. pg_dump 逻辑备份命令,可以不备份大对象了。 --no-blobs

5. pg_dumpall 逻辑备份命令,可以不备份用户密码,这样的话普通用户也能调用pg_dumpall。 --no-role-passwords

6. pg_dump and pg_dumpall 默认备份完成后,对备份文件调用fsync落盘,通过--no-sync关闭。

7. pg_basebackup 支持双流同时流式备份数据文件、WAL文件。支持tar模式。

8. pg_basebackup使用临时replication slots,会话结束自动清除SLOT。

9. pg_basebackup 自动跳过不需要备份的目录,跳过哪些目录参考文档。

10. pg_ctl 添加一个选项,是否等待备库激活完成。wait (--wait) and no-wait (--no-wait)

11 源码

1. 版本号规则变更,第一个数字表示major号,第二个数字表示minor号。不在使用第三个数字。

也就是说10之后,下一个版本是11。

2. 支持ICU国际化LIB库,避免GCC LIB库不通用的问题。

《PostgreSQL 10.0 preview 功能增强 - 国际化功能增强,支持ICU(International Components for Unicode)》 Automatically mark all PG_FUNCTION_INFO_V1 functions as DLLEXPORT-ed on Windows (Laurenz Albe)

3. 支持动态分配共享内存。

4. 在Linux, BSD系统中使用POSIX semaphores 代替 SysV semaphores,再也不用担心SYSV不够用了。

请参考,《PostgreSQL on Linux 最佳部署手册》

5. 支持slab-like内存分配器,分配固定大小内存更加有效。

6. 增强支持64-bit原子操作,支持ARM64 64bit原子操作。

7. 优先使用clock_gettime()获取时间,代替gettimeofday()。提升获取时间性能。

8. 支持更安全的随机数生成器,当使用cryptographic时。

9. 使用XSLT代替Jade, DSSSL, JadeTex生成PostgreSQL手册。

12 插件

1. file_fdw插件,允许从外部程序(例如shell程序)的标准输出摄取数据。

2. postgres_fdw插件,支持聚合操作下推,sharding更加完美。

3. postgres_fdw插件,允许FULL JOIN下推。

4. postgres_fdw插件,支持OID列。

5. btree_gist, btree_gin支持枚举、UUID类型。

6. amcheck插件,支持btree索引的DEBUG。

7. pg_stat_statements插件,使用$N代替?,表示变量占位符。

8. cube插件,增强0维数据的支持。

9. pg_buffercache插件,降低锁需求,减少冲突。

10. pgstattuple插件,添加pgstathashindex()函数接口,查看hash index统计信息。

11. pgstattuple插件,支持GRANT,普通用户可以调用pgstattuple插件。

12. pgstattuple插件,当检车hash索引时,降低锁需求。

13. pageinspect插件,新增page_checksum()接口,支持hash index page的检查,新增bt_page_items()接口打印b-tree索引的item信息。

小结

PostgreSQL 10,越来越像一个HTAP数据库了,quorum base多副本 \ sharding增强 \ 分布式事务 \ 逻辑订阅 \ JIT框架 \ 多核计算增强 \ 国际化增强 \ 客户端驱动balance 等。

其他文档

《PostgreSQL 10.0 preview 功能增强 - SQL执行剩余时间 - 垃圾回收过程可视pg_stat_progress_vacuum》

《PostgreSQL 10.0 preview 功能增强 - 逻辑订阅端worker数控制参数》

《PostgreSQL 10.0 preview 功能增强 - 串行隔离级别 预加锁阈值可控》

《PostgreSQL 10.0 preview 性能增强 - hash,nestloop join优化(聪明的优化器是这样的)》

《PostgreSQL 10.0 preview 性能增强 - 支持64bit atomic》

《PostgreSQL 10.0 preview 功能增强 - 增加ProcArrayGroupUpdate等待事件》

《PostgreSQL 10.0 preview 功能增强 - 更强可靠性, 过去式事务状态可查(杜绝unknown事务)》

《PostgreSQL 10.0 preview 性能提升 - radix tree提升字符编码转换性能》

《PostgreSQL 10.0 preview 变化 - pg_xlog,pg_clog,pg_log目录更名为pg_wal,pg_xact,log》

《PostgreSQL 10.0 preview 功能增强 - WAL一致性校验》

《PostgreSQL 10.0 preview 功能增强 - 增加access method CHECK接口amcheck》

《PostgreSQL 10.0 preview 功能增强 - libpq支持多主机连接(failover,LB)让数据库HA和应用配合更紧密》

《PostgreSQL 10.0 preview 变化 - 逻辑复制pg_hba.conf变化,不再使用replication条目》

《PostgreSQL 10.0 preview 功能增强 - BRIN 索引更新smooth化》

《PostgreSQL 10.0 preview 功能增强 - 触发器函数内置中间表》

《PostgreSQL 10.0 preview sharding增强 - 支持分布式事务》

《PostgreSQL 10.0 preview 功能增强 - 动态视图pg_stat_activity新增数据库管理进程信息》

《PostgreSQL 10.0 preview 性能增强 - hashed aggregation with grouping sets(多维分析)更快,更省内存》

《PostgreSQL 10.0 preview 功能增强 - 自由定义统计信息维度》

《PostgreSQL 10.0 preview 功能增强 - 国际化功能增强,支持ICU(International Components for Unicode)》

《PostgreSQL 10.0 preview 功能增强 - 支持分区表ON CONFLICT .. DO NOTHING》

《PostgreSQL 10.0 preview 性能增强 - 推出JIT开发框架(朝着HTAP迈进)》

《PostgreSQL 10.0 preview 功能增强 - 备库支持逻辑订阅,订阅支持主备漂移了》

《PostgreSQL 10.0 preview 性能增强 - GIN索引vacuum锁降低》

《PostgreSQL 10.0 preview 功能增强 - 流复制统计视图pg_stat_replication增强, 新增时间维度延迟评估》

《PostgreSQL 10.0 preview 功能增强 - CLOG oldest XID跟踪》

《PostgreSQL 10.0 preview 功能增强 - 逻辑复制支持并行COPY初始化数据》

《PostgreSQL 10.0 preview 性能增强 - Write Amplification Reduction Method (WARM)消除某些情况下的INDEX写放大》

《PostgreSQL 10.0 preview 功能增强 - 后台运行(pg_background)》

《PostgreSQL 10.0 preview 功能增强 - 回滚范围可精细控制(事务、语句级)》

《PostgreSQL 10.0 preview 功能增强 - 客户端ACL(pg_hba.conf动态视图)》

《PostgreSQL 10.0 preview 多核并行增强 - 控制集群并行度》

《PostgreSQL 10.0 preview 安全增强 - 任意wal副本数,金融级高可用与可靠性并存需求》

《PostgreSQL 10.0 preview 性能增强 - hash index metapage cache、高并发增强》

《PostgreSQL 10.0 preview 性能增强 - mergesort(Gather merge)》

《PostgreSQL 10.0 preview 多核并行增强 - 索引扫描、子查询、VACUUM、fdw/csp钩子》

《PostgreSQL 10.0 preview 性能增强 - CLOG group commit》

《PostgreSQL 10.0 preview 功能增强 - OLAP增强 向量聚集索引(列存储扩展)》

《PostgreSQL 10.0 preview 功能增强 - SQL:2016标准(之SQL/JSON) Oracle 12c兼容》

《PostgreSQL 10.0 preview 功能增强 - identify column (SQL标准:T174)》

《PostgreSQL 10.0 preview 功能增强 - 分区表(list default)》

《PostgreSQL 10.0 preview 功能增强 - 分区表(hash,range,list)》

《PostgreSQL 10.0 preview 功能增强 - 支持EUI-64格式MAC地址类型》

《PostgreSQL 10.0 preview 功能增强 - JSON 内容全文检索》

《PostgreSQL 10.0 preview 功能增强 - 唯一约束+附加字段组合功能索引》

《PostgreSQL 10.0 preview 功能增强 - 匿名、自治事务(Oracle 兼容性)(background session)》

《PostgreSQL 10.0 preview 性能增强 - 间接索引(secondary index)》

《PostgreSQL 10.0 preview sharding增强 - pushdown 增强》

《PostgreSQL 10.0 preview 功能增强 - slave提前苏醒》

《PostgreSQL 10.0 preview 功能增强 - slave支持WAITLSN 'lsn', time;用于设置安全replay栅栏》

《PostgreSQL 10.0 preview 功能增强 - hash index 支持wal(灾难恢复)》

《PostgreSQL 10.0 preview 性能增强 - 分区表子表元信息搜索性能增强》

《PostgreSQL 10.0 preview 性能增强 - libpq支持pipeline batch模式减少网络交互提升性能》

《PostgreSQL 10.0 preview 性能增强 - OLAP提速框架, Faster Expression Evaluation Framework(含JIT)》

《PostgreSQL 10.0 preview 性能增强 - pg_xact align(cacheline对齐)》

《PostgreSQL 10.0 preview 流复制增强 - 支持可配置的wal send max size》

《PostgreSQL 10.0 preview sharding增强 - 支持Append节点并行》

《PostgreSQL 10.0 preview 优化器改进 - 不完整索引支持复合排序》

《PostgreSQL 10.0 preview 性能增强 - 2PC事务恢复阶段性能提升》

《PostgreSQL 10.0 preview 多核并行增强 - 并行hash join支持shared hashdata, 节约哈希表内存提高效率》

《PostgreSQL 10.0 preview sharding增强 - postgres_fdw 多节点异步并行执行》

《PostgreSQL 10.0 preview 功能增强 - 自动预热shared buffer (auto prewarm)》

《PostgreSQL 10.0 preview 多核并行增强 - tuplesort 多核并行创建索引》

《PostgreSQL 10.0 preview 功能增强 - QUERY进度显示》

《PostgreSQL 10.0 preview 功能增强 - 角色化权限管理 - 新增几个内置角色(统计信息查看、管理用户会话)》

《PostgreSQL 10.0 preview 功能增强 - 新增数十个IO等待事件监控》

《PostgreSQL 10.0 preview 主动防御 - 可配置是否允许执行不带where条件的update\delete》

《PostgreSQL 10.0 preview 安全增强 - SASL认证方法 之 scram-sha-256 安全认证机制》

《PostgreSQL 10.0 preview 逻辑复制 - 原理与最佳实践》

《PostgreSQL 10.0 preview 流复制增强 - 流式接收端在线压缩redo》

《PostgreSQL 10.0 preview - 截至2017元旦装备了哪些核武器》

《PostgreSQL 10.0 preview 功能增强 - 内置分区表》

参考

https://www.postgresql.org/docs/devel/static/release-10.html

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
5月前
|
SQL 关系型数据库 数据库
PostgreSQL|认识PostgreSQL
【7月更文挑战第1天】
|
2月前
|
存储 JSON 关系型数据库
PostgreSQL介绍
【10月更文挑战第11天】
|
4月前
|
SQL 关系型数据库 数据库
在 PostgreSQL 中使用 LIKE
【8月更文挑战第12天】
682 1
|
4月前
|
SQL 存储 关系型数据库
PostgreSQL的介绍
【8月更文挑战第4天】PostgreSQL的介绍
65 0
|
存储 关系型数据库 数据库连接
PostgreSQL很多优秀的书籍
PostgreSQL很多优秀的书籍
863 1
|
SQL Oracle 关系型数据库
|
关系型数据库 PostgreSQL 数据库
|
关系型数据库 PostgreSQL