作者:IT邦德 中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造 现拥有 Oracle 11g OCP/OCM、Mysql、Oceanbase(OBCA)认证 分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证 从业8年DBA工作,在数据库领域有丰富的经验 B站主播Oracle、Mysql、PG实战课程,请搜索:jeames007 微信:jem_db QQ交流:168797397
复制
简介:
本次部署为在Docker环境下部署源码安装,在生产上是一个较为稳定的部署方式,整理如下 更多内容关注B站: https://www.bilibili.com/video/BV1PK4y1V7Wf/
复制
1. 容器部署
#先拉邦老师制作好的镜像 docker pull techerwang/mysql:jeamespg_1.0 docker run -d --name pghost02 -h pghost02 \ -p 35432:5432 \ -v /sys/fs/cgroup:/sys/fs/cgroup \ --privileged=true techerwang/mysql:jeamespg_1.0 \ /usr/sbin/init docker update --restart=always pghost02 [root@pghost02 ~]# cd /soft/
复制
2.源码包下载
官网下载安装包 https://www.postgresql.org/ftp/source/ [root@jeames ~]# cd /soft [root@jeames soft]# ll -h [root@jeames soft]# docker cp postgresql-13.4.tar.gz pghost02:/soft
复制
3.创建用户
[root@pghost02~]# groupadd -g 60000 pgsql [root@pghost02 ~]# useradd -u 60000 -g pgsql pgsql [root@pghost02 ~]# echo "jem" | passwd --stdin pgsql
复制
4.创建目录
[root@pghost02 ~]# mkdir -p /postgresql/{pgdata,archive,scripts,backup,pg13,soft} [root@pghost02 ~]# chown -R pgsql:pgsql /postgresql [root@pghost02 ~]# chown -R pgsql:pgsql /soft [root@pghost02 ~]# chmod -R 775 /postgresql
复制
5.编译
[root@pghost02 ~]$ su - pgsql [pgsql@pghost02 ~]$ cd /soft [pgsql@pghost02 soft]$ cp postgresql-13.2.tar.gz /postgresql/soft/ [pgsql@pghost02 soft]$ cd /postgresql/soft [pgsql@pghost02 soft]$ pwd /postgresql/soft [pgsql@pghost02 soft]$ ll
复制
[pgsql@pghost02 soft]$ tar zxvf postgresql-13.4.tar.gz [pgsql@pghost02 soft]$ cd postgresql-13.4 [pgsql@pghost02 postgresql-13.4]$ du -sh . ##编译 [pgsql@pghost02 postgresql-13.4]$ ./configure --prefix=/postgresql/pg13 --without-readline
复制
##安装 [pgsql@pghost02 postgresql-13.4]$ make -j 4 && make install
复制
6 配置环境变量
cat >> ~/.bash_profile <<"EOF" export LANG=en_US.UTF-8 export PS1="[\u@\h \W]\$ " export PGPORT=5432 export PGDATA=/postgresql/pgdata export PGHOME=/postgresql/pg13 export LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH export PATH=$PGHOME/bin:$PATH:. export DATE=`date +"%Y%m%d%H%M"` export MANPATH=$PGHOME/share/man:$MANPATH export PGHOST=$PGDATA export PGUSER=postgres export PGDATABASE=postgres #alias psql='rlwrap psql' EOF [pgsql@pghost02 ~]$ source ~/.bash_profile
复制
#初始化 [root@pghost02 /]# su - pgsql [pgsql@pghost02 ~]$ /postgresql/pg13/bin/initdb -D /postgresql/pgdata -E UTF8 --locale=en_US.utf8 -U postgres
复制
两个参数文件: /postgresql/pgdata/postgresql.conf /postgresql/pgdata/pg_hba.conf [pgsql@pghost02 ~]$ more /postgresql/pgdata/postgresql.conf | grep list cat >> /postgresql/pgdata/postgresql.conf <<"EOF" listen_addresses = '*' port=5432 unix_socket_directories='/postgresql/pgdata' logging_collector = on log_directory = 'pg_log' log_filename = 'postgresql-%a.log' log_truncate_on_rotation = on #日志循环 EOF cat > /postgresql/pgdata/pg_hba.conf << EOF # 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 password host replication all 0.0.0.0/0 password local replication all trust EOF
复制
7.启动
[root@pghost02 /]# su - pgsql [pgsql@pghost02 ~]$ pg_ctl start [pgsql@pghost02 ~]$ pg_ctl status [pgsql@pghost02 ~]$ pg_ctl stop [pgsql@pghost02 ~]$ netstat -anp | grep 5433
复制
[pgsql@pghost02 ~]$ cd /postgresql/pgdata/pg_log --日志文件
复制
查看pg的进程号
#远程登陆方式 psql -U postgres -h 192.168.1.54 -d postgres -p 35432
复制
本文如有错误或不完善的地方请大家多多指正,
留言微信:jem_db 或 QQ:2243967774 皆可,您的批评指正是我写作的最大动力!
大家多多点赞,转发,谢谢
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1296次阅读
2025-03-13 11:40:53
王炸!OGG 23ai 终于支持从PostgreSQL备库抽取数据了
曹海峰
401次阅读
2025-03-09 12:54:06
玩一玩系列——玩玩login_hook(一款即将停止维护的PostgreSQL登录插件)
小满未满、
375次阅读
2025-03-08 18:19:28
明明想执行的SQL是DELETE、UPDATE,但为什么看到的是SELECT(FDW的实现原理解析)
小满未满、
352次阅读
2025-03-19 23:11:26
PostgreSQL初/中/高级认证考试(3.15)通过考生公示
开源软件联盟PostgreSQL分会
304次阅读
2025-03-20 09:50:36
IvorySQL 4.4 发布 - 基于 PostgreSQL 17.4,增强平台支持
通讯员
198次阅读
2025-03-20 15:31:04
套壳论
梧桐
188次阅读
2025-03-09 10:58:17
命名不规范,事后泪两行
xiongcc
178次阅读
2025-03-13 14:26:08
PG vs MySQL 执行计划解读的异同点
进击的CJR
122次阅读
2025-03-21 10:50:08
版本发布| IvorySQL 4.4 发布
IvorySQL开源数据库社区
115次阅读
2025-03-13 09:52:33