PostgreSQL大总结,小白最适合了

9252

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程😜😜😜
擅长Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

⛳️ 1.PG简介

官网链接:www.postgresql.org

image.png

● 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.PG安装

PG安装方法很多,和MySQL类似,给用户提供很大的选择空间。
如:RPM包安装(在线、离线)、源码编译安装、二进制安装(直接解压,PG10以后不支持Linux)

🐴 2.1 Windows环境安装

image.png

详细安装点击博客:Windows环境PostgreSQL安装部署

🐴 2.2 Linux环境安装

image.png

详细安装点击博客:Linux源码安装PostgreSQL

🐴 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}}”

image.png

[root@centos7 ~]# docker exec -it jempg133 bash
root@jempg133:/# su - postgres
postgres@jempg133:~$ psql
postgres=# select version();

image.png

⛳️ 3.PG客户端工具

Navicat连接如下

image.png

pgAdmin4连接如下:

pgAdmin4 是开源数据库 PostgreSQL 的图形管理工具,
是桌面版图形管理工具pgAdmin3 的重写,
遵循 PostgreSQL协议 是开源、免费、可商用的。
pgAdmin4 是python开发的web应用程序,既可以部署为web模式通过浏览器访问,
可以部署为桌面模式独立运行。
下载:https://www.pgadmin.org/download/

image.png

⛳️ 4.PG数据类型

点击博客查看:PostgreSQL数据类型大总结,一家老小都在这里

image.png

⛳️ 5.PG体系架构

image.png

点击博客:想学明白PostgreSQL,得先捋一捋体系架构

🐴 5.1 物理结构

image.png

🐴 5.2 内存结构

image.png

⛳️ 6. Zabbix监控PG

点击博客:Zabbix监控PG,企业必备,经典之作

image.png

⛳️ 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)备份。

🐴 7.2 PG物理备份恢复

pg_rman-是一个开源的PG备份软件,第三方,
本质是一个文件的拷贝,必须和Server安装在一起
支持基于时间的恢复,支持在线的全备和增备
同时还可以支持WAL的备份过期删除

体系化掌握PG备份恢复,www.bilibili.com/video/BV1af…

相关推荐阅读:
90天精通Oracle-实战系列
Oracle高可用实战系列
MySQL从入门到实战
如何成为SQL高手
PostgreSQL从入门到实战

大家可以点赞、收藏、关注、评论我啦 、有数据库相关的问题随时联系我或交流哟~!

image.png