Skip to content

Commit 7784e6f

Browse files
committed
improve
1 parent b049ae2 commit 7784e6f

File tree

6 files changed

+126
-106
lines changed

6 files changed

+126
-106
lines changed

201906/20190615_03.md

Lines changed: 126 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,111 +1,131 @@
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天天象上”技术沙龙活动的兄弟活动,面向开发者和DBA体系化的介绍“PostgreSQL应用开发指南,Oracle用户TO PG开发实践,PG数据库的管理与优化实践”几个方面的内容。旨在帮助开发者和DBA快速了解体系化的去O知识,顺滑的使用PostgreSQL 去O。
16-
17-
[《兄弟活动 - “PG天天象上”技术沙龙 纪录》](../201801/20180121_01.md)
18-
19-
[《为什么PostgreSQL社区几乎不可能被任何一个商业公司、国家所控制?PG是去O的最佳选择》](../201906/20190608_02.md)
20-
21-
## “PG干O,仁心所象” 公益培训活动纪录
22-
### 1 20190615期“PG干O,仁心所象”《PG开发者指南、去O、管理与优化实践》 (阿里巴巴西溪园区)
23-
报名人数:36
24-
25-
重要议题1:《PostgreSQL 开发者指南》
26-
27-
重要议题2:《PostgreSQL 日常维护、监控、管理、优化、诊断》
28-
29-
重要议题3:企业数据库辩论赛。
30-
31-
参会企业:同花顺、ODOO(全球第一openERP)、富士通、大华、海康、爱尔、娃哈哈、沃趣、大树、百世物流。。。等。
32-
33-
企业辩论赛回顾:
34-
35-
1、Q PG数据库的编码如何转换
36-
37-
A 创建数据库时指定编码,如果要转换,需要新建,数据导出导入。
38-
39-
```
40-
postgres=# create database db1 with template template0 encoding 'UTF8' lc_collate 'C' lc_ctype 'en_US.UTF8';
41-
CREATE DATABASE
42-
```
43-
44-
2、Q 创建的对象名超过64个字节会怎么样?
45-
46-
A 截断到63个字节为止。
47-
48-
```
49-
postgres=# create table a1111111111111111111111111111111111111111111111111111111111111111 (id int);
50-
psql: NOTICE: 42622: identifier "a1111111111111111111111111111111111111111111111111111111111111111" will be truncated to "a11111111111111111111111111111111111111111111111111111111111111"
51-
LOCATION: truncate_identifier, scansup.c:205
52-
CREATE TABLE
53-
54-
postgres=# select octet_length('a11111111111111111111111111111111111111111111111111111111111111');
55-
octet_length
56-
--------------
57-
63
58-
(1 row)
59-
```
60-
61-
另外,如果要超过63个字节,需要修改头文件,并重新编译软件,重新初始化数据库集群。
62-
63-
src/include/pg_config_manual.h
64-
65-
```
66-
/*
67-
* Maximum length for identifiers (e.g. table names, column names,
68-
* function names). Names actually are limited to one less byte than this,
69-
* because the length must include a trailing zero byte.
70-
*
71-
* Changing this requires an initdb.
72-
*/
73-
#define NAMEDATALEN 64
74-
```
75-
76-
3、Q 怎样保证从库需要的WAL日志不被主库清除?
77-
78-
A standby使用slot连接主库,主库不会删除没有被SLOT对应STANDBY接收的WAL日志。
79-
80-
设置wal_keep_segments, 设置归档也是能够避免WAL被及早清理的方法。但是不能保证。SLOT是绝对性的保证。
81-
82-
4、Q ORACLE RAC 与PG的几个不同点
83-
84-
A RAC为共享存储架构,PG为非共享存储架构。(但是目前阿里云POLARDB for PG已经提供了计算存储分离架构,类似于ORACLE RAC)
85-
86-
ORACLE 支持内存表,PG暂时不支持。但是PG 12开放了AM API,已经开源的ZEDSTORE支持列存,UNDO引擎等。相信很快会支持内存引擎。
87-
88-
ORACLE 有秒级快照备份。PG结合系统ZFS文件系统,同样支持基于STANDBY的ZFS秒级快照备份。(同时PG在激活STANDBY时,可以做到瞬间激活(不管多大的事务,回滚是瞬间完成的(HEAP引擎)))
89-
90-
5、在WINDOWS上,当误操作KILL PG的主进程时,会有PG_CTL进程残留的问题。这个是WIN架构下的服务注册模块的问题。
91-
92-
6、在同一个实例的多个DB自建表级同步,如何做?
93-
94-
A 使用逻辑订阅,但是在目标端创建订阅时,不能使用自动创建SLOT的语法。后期版本可能会改进。
95-
96-
![pic](20190615_03_pic_001.jpg)
97-
98-
## 参考
99-
[《PostgreSQL 11 2天体系化培训(包含Oracle迁移到PG的知识点) - 含视频》](../201901/20190105_01.md)
100-
101-
[《PostgreSQL 多应用场景实践 - 含视频》](../201805/20180524_02.md)
102-
103-
[《Oracle DBA 增值 PostgreSQL 学习路径》](../201804/20180425_01.md)
104-
105-
[《PostgreSQL、Greenplum 《如来神掌》》](../201706/20170601_02.md)
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干O,仁心所象”作为“PG天天象上”技术沙龙的兄弟活动,面向开发者和DBA体系化的介绍“PostgreSQL应用开发指南,Oracle用户TO PG开发实践,PG数据库的管理与优化实践”几个方面的内容。旨在帮助开发者和DBA快速了解体系化的去O知识,顺滑的使用PostgreSQL 去O。
16+
17+
![pic](20190604_01_pic_004.jpg)
18+
19+
![pic](20190615_03_pic_002.jpg)
20+
21+
![pic](20190615_03_pic_004.jpg)
22+
23+
加入PG|POLARDB技术进阶钉钉群,和更多的小伙伴一起分享技术。已经有2400多名来自世界各地的PG相关技术小二。
24+
25+
![pic](20190615_03_pic_003.jpg)
26+
27+
活动送书是必须的,学习PG,武装起来。
28+
29+
![pic](20190615_03_pic_006.jpg)
30+
31+
欢迎关注我的微信,了解下次“PG干O,仁心所象”公益培训活动的信息。
32+
33+
![pic](../pic/pg_weixin.jpg)
34+
35+
[《兄弟活动 - “PG天天象上”技术沙龙 纪录》](../201801/20180121_01.md)
36+
37+
[《为什么PostgreSQL社区几乎不可能被任何一个商业公司、国家所控制?为什么PG是去O的最佳选择》](../201906/20190608_02.md)
38+
39+
## “PG干O,仁心所象” 公益培训活动纪录
40+
### 1 20190615期“PG干O,仁心所象”《PG开发者指南、去O、管理与优化实践》 (阿里巴巴西溪园区)
41+
报名人数:36
42+
43+
重要议题1:《PostgreSQL 开发者指南》
44+
45+
重要议题2:《PostgreSQL 日常维护、监控、管理、优化、诊断》
46+
47+
重要议题3:企业数据库辩论赛。
48+
49+
参会企业:同花顺、ODOO(全球第一openERP)、富士通、大华、海康、爱尔、娃哈哈、沃趣、大树、百世物流。。。等。
50+
51+
企业辩论赛回顾:
52+
53+
1、Q PG数据库的编码如何转换
54+
55+
A 创建数据库时指定编码,如果要转换,需要新建,数据导出导入。
56+
57+
```
58+
postgres=# create database db1 with template template0 encoding 'UTF8' lc_collate 'C' lc_ctype 'en_US.UTF8';
59+
CREATE DATABASE
60+
```
61+
62+
2、Q 创建的对象名超过64个字节会怎么样?
63+
64+
A 截断到63个字节为止。
65+
66+
```
67+
postgres=# create table a1111111111111111111111111111111111111111111111111111111111111111 (id int);
68+
psql: NOTICE: 42622: identifier "a1111111111111111111111111111111111111111111111111111111111111111" will be truncated to "a11111111111111111111111111111111111111111111111111111111111111"
69+
LOCATION: truncate_identifier, scansup.c:205
70+
CREATE TABLE
71+
72+
postgres=# select octet_length('a11111111111111111111111111111111111111111111111111111111111111');
73+
octet_length
74+
--------------
75+
63
76+
(1 row)
77+
```
78+
79+
另外,如果要超过63个字节,需要修改头文件,并重新编译软件,重新初始化数据库集群。
80+
81+
src/include/pg_config_manual.h
82+
83+
```
84+
/*
85+
* Maximum length for identifiers (e.g. table names, column names,
86+
* function names). Names actually are limited to one less byte than this,
87+
* because the length must include a trailing zero byte.
88+
*
89+
* Changing this requires an initdb.
90+
*/
91+
#define NAMEDATALEN 64
92+
```
93+
94+
3、Q 怎样保证从库需要的WAL日志不被主库清除?
95+
96+
A standby使用slot连接主库,主库不会删除没有被SLOT对应STANDBY接收的WAL日志。
97+
98+
设置wal_keep_segments, 设置归档也是能够避免WAL被及早清理的方法。但是不能保证。SLOT是绝对性的保证。
99+
100+
4、Q ORACLE RAC 与PG的几个不同点
101+
102+
A RAC为共享存储架构,PG为非共享存储架构。(但是目前阿里云POLARDB for PG已经提供了计算存储分离架构,类似于ORACLE RAC)
103+
104+
ORACLE 支持内存表,PG暂时不支持。但是PG 12开放了AM API,已经开源的ZEDSTORE支持列存,UNDO引擎等。相信很快会支持内存引擎。
105+
106+
ORACLE 有秒级快照备份。PG结合系统ZFS文件系统,同样支持基于STANDBY的ZFS秒级快照备份。(同时PG在激活STANDBY时,可以做到瞬间激活(不管多大的事务,回滚是瞬间完成的(HEAP引擎)))
107+
108+
5、在WINDOWS上,当误操作KILL PG的主进程时,会有PG_CTL进程残留的问题。这个是WIN架构下的服务注册模块的问题。
109+
110+
6、在同一个实例的多个DB自建表级同步,如何做?
111+
112+
A 使用逻辑订阅,但是在目标端创建订阅时,不能使用自动创建SLOT的语法。后期版本可能会改进。
113+
114+
![pic](20190615_03_pic_005.jpg)
115+
116+
![pic](20190615_03_pic_001.jpg)
117+
118+
## 参考
119+
[《PostgreSQL 11 2天体系化培训(包含Oracle迁移到PG的知识点) - 含视频》](../201901/20190105_01.md)
120+
121+
[《PostgreSQL 多应用场景实践 - 含视频》](../201805/20180524_02.md)
122+
123+
[《Oracle DBA 增值 PostgreSQL 学习路径》](../201804/20180425_01.md)
124+
125+
[《PostgreSQL、Greenplum 《如来神掌》》](../201706/20170601_02.md)
106126

107127
[《为什么PostgreSQL社区几乎不可能被任何一个商业公司、国家所控制?PG是去O的最佳选择》](../201906/20190608_02.md)
108-
128+
109129

110130
<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>
111131

201906/20190615_03_pic_002.jpg

41.5 KB
Loading

201906/20190615_03_pic_003.jpg

114 KB
Loading

201906/20190615_03_pic_004.jpg

204 KB
Loading

201906/20190615_03_pic_005.jpg

234 KB
Loading

201906/20190615_03_pic_006.jpg

199 KB
Loading

0 commit comments

Comments
 (0)