PostgreSQL大总结
📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验 中国DBA联盟(ACDU)成员,目前从事DBA及程序编程😜😜😜 擅长Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。 ❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
# ⛳️ 1.PG简介
官网链接:www.postgresql.org (opens new window)
● PostgreSQL是加州大学伯克利分校计算机系开发的,一个开源免费的关系式数据库管理系统,
经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内相对高的声誉。
● PostgreSQL可以运行在所有主流操作系统上,包括Linux、AIX、HP-UX、Solaris和Windows等34种平台。
● PostgreSQL是完全的事务安全性数据库,
完整地支持外键、联合、视图、触发器和存储过程(并支持多种语言开发存储过程)。
● PostgreSQL支持了大多数SQL标准的数据类型,
包括整型、数值型、布尔型、字节型、字符型、日期型、时间型、二进制的大对像(图片、声音和视频)。
● PostgreSQL的存储过程开发可以使用众多的程序语言,
包括Java、Perl、Python、Ruby、Tcl、C/C++和自带的PL/pgSQL,
其中的PL/pgSQL与Oracle的PL/SQL很相似,内置了数百个函数,
功能从基本的算术计算和字符串处理到加密逻辑计算并与Oracle有高度兼容性。
● PostgreSQL对很多高级开发语言有原生的编程接口,
如C/C++、Java、.Net、Perl、Python、Ruby、Tcl和ODBC以及其他语言等,也包含各种文档。
● PostgreSQL有很多高级功能,像多版本并发控制(MVCC)、按时间点恢复(PITR)、表空间、异步复制、嵌套事务、在线热备、复杂查询的规划和优化以及为容错而进行的预写日志等。
● PostgreSQL支持国际字符集、多字节编码并支持使用当地语言进行排序、大小写处理和格式化等操作。
● PostqreSQL有很多高品质的图形化的PostgreSQL管理工具软件,包括开源和商业性质的。
● PostgreSQL的源代码可以自由获取,它的授权是在非常自由的开源授权下,
这种授权允许用户在各种开源或是闭源项目中使用、修改和发布PostgreSQL的源代码。
用户对源代码的可以按用户意愿进行任何修改、改进。
● 目前有不少业务系统使用PostgreSQL在实际生产环境下管理着超过4TB的数据。
● PostgreSQL的快速发展是由于MySQL被Oracle公司收购导致的,
同时在2019年微软官宣收购PostgreSQL初创公司Citus Data。
复制代码
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# ⛳️ 2.PG安装
PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。 如:RPM包安装(在线、离线)、源码编译安装、二进制安装(直接解压,PG10以后不支持Linux)
# 🐴 2.1 Windows环境安装
详细安装点击博客:Windows环境PostgreSQL安装部署 (opens new window)
# 🐴 2.2 Linux环境安装
详细安装点击博客:Linux源码安装PostgreSQL (opens new window)
# 🐴 2.3 docker中直接使用
仓库:https://hub.docker.com/_/postgres\
[root@centos7 ~]# docker pull postgres:13.3
#白名单配置
cat << EOF > /tmp/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
local all all trust
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
host replication all 0.0.0.0/0 md5
local replication all trust
EOF
[root@centos7 ~]# docker ps -a --format “table {undefined{.ID}}\t{undefined{.Names}}\t{undefined{.Status}}”
复制代码
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@centos7 ~]# docker exec -it jempg133 bash
root@jempg133:/# su - postgres
postgres@jempg133:~$ psql
postgres=# select version();
复制代码
2
3
4
5
# ⛳️ 3.PG客户端工具
Navicat连接如下
pgAdmin4连接如下:
pgAdmin4 是开源数据库 PostgreSQL 的图形管理工具,
是桌面版图形管理工具pgAdmin3 的重写,
遵循 PostgreSQL协议 是开源、免费、可商用的。
pgAdmin4 是python开发的web应用程序,既可以部署为web模式通过浏览器访问,
可以部署为桌面模式独立运行。
下载:https://www.pgadmin.org/download/
复制代码
2
3
4
5
6
7
# ⛳️ 4.PG数据类型
点击博客查看:PostgreSQL数据类型大总结,一家老小都在这里 (opens new window)
# ⛳️ 5.PG体系架构
点击博客:想学明白PostgreSQL,得先捋一捋体系架构 (opens new window)
# 🐴 5.1 物理结构
# 🐴 5.2 内存结构
# ⛳️ 6. Zabbix监控PG
点击博客:Zabbix监控PG,企业必备,经典之作 (opens new window)
# ⛳️ 7. PG备份恢复
# 🐴 7.1 逻辑备份恢复
pg_dump支持指定所要备份的对象:可以单独备份表、schema或者database;
pg_dumpall仅支持导出全库数据。
pg_dump可以将数据备份为SQL文本文件格式,也支持备份为用户自定义的压缩格式或者TAR包格式。
PostgreSQL支持以下两种数据恢复方法:
1、使用psql恢复pg_dump或pg_dumpall工具生成的SQL文本格式的数据备份。
2、使用pg_restore工具来恢复由pg_dump工具生成的自定义压缩格式(-Fc)、
TAR包格式(-Ft)或者目录格式(-Fd)备份。
复制代码
2
3
4
5
6
7
8
# 🐴 7.2 PG物理备份恢复
pg_rman-是一个开源的PG备份软件,第三方,
本质是一个文件的拷贝,必须和Server安装在一起
支持基于时间的恢复,支持在线的全备和增备
同时还可以支持WAL的备份过期删除
复制代码
2
3
4
5
体系化掌握PG备份恢复,www.bilibili.com/video/BV1af… (opens new window)
相关推荐阅读: 90天精通Oracle-实战系列 (opens new window) Oracle高可用实战系列 (opens new window) MySQL从入门到实战 (opens new window) 如何成为SQL高手 (opens new window) PostgreSQL从入门到实战 (opens new window)
大家可以点赞、收藏、关注、评论我啦 、有数据库相关的问题随时联系我或交流哟~!
作者:IT邦德 链接:https://juejin.cn/post/7071575433325576228 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。