设为首页 收藏本站
查看: 1369|回复: 0

[经验分享] Centos 7源码编译安装Postgresql

[复制链接]

尚未签到

发表于 2019-2-15 16:30:56 | 显示全部楼层 |阅读模式
Centos 7源码编译安装Postgresql-9.4
下载地址:https://www.postgresql.org/download/
1、安装gcc
2、安装readline-devel
3、安装zlib-devel
4、上传Postgresql-9.4源码包到服务器
5、解压源码包
(1)#tar -zxvf postgresql-9.4.18.tar.gz

6、创建postgresql安装目录
(1)#mkdir /postgresql

7、创建postgresql数据目录
(1)#mkdir /pgdata

8、检查安装环境
(1)#./configure –prefix=/postgresql
注意:–prefix是指定要安装的目录,这个目录要提前创建出来

9、进行编译
(1)#make

8、进行安装
(2)#make install

9、创建普通用户postgres
(1)#useradd postgres

10、修改postgresql的安装目录与数据目录的所属用户和组
(1)#chown -R postgres:postgres /postgresql/

#chown -R postgres:postgres  /pgdata/
11、给postgresql用户设置密码
(1)#passwd postgres

12、设置postgres用户的环境变量
(1)#su - postgres
(2)vim /home/postgres/.bash_profile  
(3)注释原有的  #PATH=
vim /home/postgres/.bash_profile  (3)注释原有的  #PATH=PATH:HOME/.local/bin:HOME/.local/bin:HOME/bin
(4)增加以下内容:

PGHOME=/postgresql
export PGHOME
PGDATA=/pgdata
export PGDATA
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
export PATH注意:最后 export PATH 默认在脚本中存在,不用重复添加。
12、检查环境变量配置
(1)$ source ./.bash_profile
这个命令是使配置的环境变量立即生效
(2)切换到任意目录,执行以下命令:
$which psql
$ psql -V
如果这2条命令,都有执行结果,则表示环境变量配置成功。

13、初始化数据库
$ cd  postgresql/bin
(1)$./initdb
注意:此处可以使用 initdb –help初始化相关的帮助信息
如果在初始化的时候,没有指定数据文件目录,则默认使用环境变量中配置的PGDATA目录
(2)初始化成功后,可以看到PGDAT目录下生成了相关的数据文件和配置文件

启动: ./postgres -D /home/pgdata &
14、启动postgresql数据库
(1)mkdir/postgresql/logpostgresql/home/pgdata &mkdir/postgresql/log创建postgresql数据库存放日志的目录(2) pg_ctl start -l /postgresql/log/pg_server.log
postgresql数据库启动命令

15、验证启动是否成功
(1)查看服务器进程
$ps -ef | grep postgres
出现如下表所示的信息,则表示数据库启动成功

[postgres@localhost ~]$ ps -ef | grep postgres
postgres   2093      1  0 22:34 pts/0    00:00:00 /postgresql/bin/postgres
postgres   2095   2093  0 22:34 ?        00:00:00 postgres: checkpointer process  postgres   2096   2093  0 22:34 ?        00:00:00 postgres: writer process  postgres   2097   2093  0 22:34 ?        00:00:00 postgres: wal writer process  postgres   2098   2093  0 22:34 ?        00:00:00 postgres: autovacuum launcher process  postgres   2099   2093  0 22:34 ?        00:00:00 postgres: stats collector process  postgres   2270   2231  0 22:41 pts/1    00:00:00 grep --color=auto postgres12345678(2)查看postgresql默认端口5432是否处于监听状态
$netstat -an | grep 5432[postgres@localhost ~]$ netstat -an | grep 5432tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN     tcp6       0      0 :::5432                 :::*                    LISTEN     unix  2      [ ACC ]     STREAM     LISTENING     31009    /tmp/.s.PGSQL.54321234516、设置postgresql允许远程主机连接
(1)修改/pgdata目录下的pg_hba.conf文件,在IPv4 local connections这行的下面,添加以下参数
含义:host表示安装postgresql的主机,第一个all表示数据库,第二个all表示用户,0.0.0.0/0表示允许连接的IP地址,md5表示连接时的加密方式。

host    all             all             0.0.0.0/0               md517、设置postgresql对本机的所有IP进行监听
(1)修改/pgdata目录下的postgresql.conf文件,在connection setting这块,添加以下参数

listen_addresses = '*'18、设置数据库密码
(1)postgersql默认的数据库是postgers,在服务器上输入psql进入数据库命令行客户端
$psql
(2)在客户端里输入\password设置数据库密码
postgres=# \password
(3)在客户端里输入\l即可查看postgersql当前有哪些数据库

19、记住:修改了数据库运行参数后,要重启数据库,使配置生效。
20、在远程服务器上,通过客户端(pgAdmin III或者Navicat Premium)连接postgresql数据库,验证是否可以正常连接。
21、设置postgersql开启自启动(此处使用root用户进行设置)
(1)postgersql开机自启动脚本在源码程序包的“postgresql-9.4.18/contrib/start-scripts/”目录下,脚本名为“linux”。
(2)将此linux文件拷贝纸/etc/init.d目录下,并重命名为postgresql
#cp postgresql-9.4.18/contrib/start-scripts/linux /etc/init.d/postgresql
(3)给postgersql启动脚本赋予执行权限
#chmod u+x /etc/init.d/postgresql
(4)修改/etc/init.d/postgresql文件,需要注意以下几项参数:
注意:prefix:postgersql的安装主目录;PGDATA:postgersql的数据文件目录;PGUSER:启动postgersql数据库的用户名;PGLOG:postgersql运行日志的存放路径。

# Installation
prefixprefix=/postgresql
# Data directory
PGDATA="/pgdata"
# Who to run the postmaster as, usually "postgres".  (NOT "root")
PGUSER=postgres
# Where to keep a log file
PGLOG="$prefix/log/pg_server.log"(5)加入开启启动
# chkconfig  --add postgresql

(6)查看设置是否成功
# chkconfig  --list postgresql
当显示以下信息,则表示已成功设置为开启自启动
postgresql 0:off 1:off 2:on 3:on 4:on 5:on 6:off

(7)重启服务验证




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-672666-1-1.html 上篇帖子: Centos7配置Docker Swarm及安装Portainer 下篇帖子: 安装CentOS6.10需要注意的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表