|
| 1 | +## “PG干O,仁心所象” 公益培训活动纪录 - 《PG开发者指南、去O、管理与优化实践》 |
| 2 | + |
| 3 | +### 作者 |
| 4 | +digoal |
| 5 | + |
| 6 | +### 日期 |
| 7 | +2019-06-15 |
| 8 | + |
| 9 | +### 标签 |
| 10 | +PostgreSQL , 阿里云 , 开发者指南 , 管理 , 优化 , 实践 , 公益培训 |
| 11 | + |
| 12 | +---- |
| 13 | + |
| 14 | +## 背景 |
| 15 | +“PG干O,仁心所象” 公益培训活动2019.6.15启动。是“PG天天象上”技术沙龙活动的兄弟活动,旨在帮助PG用户了解体系化的去O知识,让用户顺滑的使用PostgreSQL 去O。 |
| 16 | + |
| 17 | +[《“PG天天象上”技术沙龙纪录》](../201801/20180121_01.md) |
| 18 | + |
| 19 | +## “PG干O,仁心所象” 公益培训活动纪录 |
| 20 | +### 1 20190615期“PG干O,仁心所象”《PG开发者指南、去O、管理与优化实践》 (阿里巴巴西溪园区) |
| 21 | +报名人数:36 |
| 22 | + |
| 23 | +重要议题1:《PostgreSQL 开发者指南》 |
| 24 | + |
| 25 | +重要议题2:《PostgreSQL 日常维护、监控、管理、优化、诊断》 |
| 26 | + |
| 27 | +重要议题3:企业数据库辩论赛。 |
| 28 | + |
| 29 | +参会企业:同花顺、ODOO(全球第一openERP)、富士通、大华、海康、爱尔、娃哈哈、沃趣、大树、百世物流。。。等。 |
| 30 | + |
| 31 | +企业辩论赛回顾: |
| 32 | + |
| 33 | +1、Q PG数据库的编码如何转换 |
| 34 | + |
| 35 | +A 创建数据库时指定编码,如果要转换,需要新建,数据导出导入。 |
| 36 | + |
| 37 | +``` |
| 38 | +postgres=# create database db1 with template template0 encoding 'UTF8' lc_collate 'C' lc_ctype 'en_US.UTF8'; |
| 39 | +CREATE DATABASE |
| 40 | +``` |
| 41 | + |
| 42 | +2、Q 创建的对象名超过64个字节会怎么样? |
| 43 | + |
| 44 | +A 截断到63个字节为止。 |
| 45 | + |
| 46 | +``` |
| 47 | +postgres=# create table a1111111111111111111111111111111111111111111111111111111111111111 (id int); |
| 48 | +psql: NOTICE: 42622: identifier "a1111111111111111111111111111111111111111111111111111111111111111" will be truncated to "a11111111111111111111111111111111111111111111111111111111111111" |
| 49 | +LOCATION: truncate_identifier, scansup.c:205 |
| 50 | +CREATE TABLE |
| 51 | + |
| 52 | +postgres=# select octet_length('a11111111111111111111111111111111111111111111111111111111111111'); |
| 53 | + octet_length |
| 54 | +-------------- |
| 55 | + 63 |
| 56 | +(1 row) |
| 57 | +``` |
| 58 | + |
| 59 | +另外,如果要超过63个字节,需要修改头文件,并重新编译软件,重新初始化数据库集群。 |
| 60 | + |
| 61 | +src/include/pg_config_manual.h |
| 62 | + |
| 63 | +``` |
| 64 | +/* |
| 65 | + * Maximum length for identifiers (e.g. table names, column names, |
| 66 | + * function names). Names actually are limited to one less byte than this, |
| 67 | + * because the length must include a trailing zero byte. |
| 68 | + * |
| 69 | + * Changing this requires an initdb. |
| 70 | + */ |
| 71 | +#define NAMEDATALEN 64 |
| 72 | +``` |
| 73 | + |
| 74 | +3、Q 怎样保证从库需要的WAL日志不被主库清除? |
| 75 | + |
| 76 | +A standby使用slot连接主库,主库不会删除没有被SLOT对应STANDBY接收的WAL日志。 |
| 77 | + |
| 78 | +设置wal_keep_segments, 设置归档也是能够避免WAL被及早清理的方法。但是不能保证。SLOT是绝对性的保证。 |
| 79 | + |
| 80 | +4、Q ORACLE RAC 与PG的几个不同点 |
| 81 | + |
| 82 | +A RAC为共享存储架构,PG为非共享存储架构。(但是目前阿里云POLARDB for PG已经提供了计算存储分离架构,类似于ORACLE RAC) |
| 83 | + |
| 84 | +ORACLE 支持内存表,PG暂时不支持。但是PG 12开放了AM API,已经开源的ZEDSTORE支持列存,UNDO引擎等。相信很快会支持内存引擎。 |
| 85 | + |
| 86 | +ORACLE 有秒级快照备份。PG结合系统ZFS文件系统,同样支持基于STANDBY的ZFS秒级快照备份。(同时PG在激活STANDBY时,可以做到瞬间激活(不管多大的事务,回滚是瞬间完成的(HEAP引擎))) |
| 87 | + |
| 88 | +5、在WINDOWS上,当误操作KILL PG的主进程时,会有PG_CTL进程残留的问题。这个是WIN架构下的服务注册模块的问题。 |
| 89 | + |
| 90 | +6、在同一个实例的多个DB自建表级同步,如何做? |
| 91 | + |
| 92 | +A 使用逻辑订阅,但是在目标端创建订阅时,不能使用自动创建SLOT的语法。后期版本可能会改进。 |
| 93 | + |
| 94 | + |
| 95 | + |
| 96 | +## 参考 |
| 97 | +[《PostgreSQL 11 2天体系化培训(包含Oracle迁移到PG的知识点) - 含视频》](../201901/20190105_01.md) |
| 98 | + |
| 99 | +[《PostgreSQL 多应用场景实践 - 含视频》](../201805/20180524_02.md) |
| 100 | + |
| 101 | +[《Oracle DBA 增值 PostgreSQL 学习路径》](../201804/20180425_01.md) |
| 102 | + |
| 103 | +[《PostgreSQL、Greenplum 《如来神掌》》](../201706/20170601_02.md) |
| 104 | + |
| 105 | + |
| 106 | +<a rel="nofollow" href="http://info.flagcounter.com/h9V1" ><img src="http://s03.flagcounter.com/count/h9V1/bg_FFFFFF/txt_000000/border_CCCCCC/columns_2/maxflags_12/viewers_0/labels_0/pageviews_0/flags_0/" alt="Flag Counter" border="0" ></a> |
| 107 | + |
| 108 | + |
| 109 | +## [digoal's 大量PostgreSQL文章入口](https://github.com/digoal/blog/blob/master/README.md "22709685feb7cab07d30f30387f0a9ae") |
| 110 | + |
| 111 | + |
| 112 | +## [免费领取阿里云RDS PostgreSQL实例、ECS虚拟机](https://free.aliyun.com/ "57258f76c37864c6e6d23383d05714ea") |
| 113 | + |
0 commit comments