欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

centos6.5中源码编译安装postgres10.4

程序员文章站 2022-05-10 11:04:19
...
  • 编译安装postgres10.4

  • 下载安装包postgres-10.4.tar.gz
  • 解压安装包到安装目录 /usr/local
  • 进入root模式解压,一般模式会出现没有权限的问题。
  • [aaa@qq.com Desktop]# tar xzvf postgresql-10.4.tar.gz -C /usr/local
  • 进入资源目录[aaa@qq.com Desktop]# cd /usr/local/postgresql-10.4/
  • 执行./configure会指定默认安装目录/usr/local/pgsql
  • 执行中若出现readline或zlib错误
  • Root下执行yum install readline*  yuminstall zlib*
  • 然后继续./configure
  • 编译安装 make && make install
  • 创建data目录 mkdir -p /usr/local/pgsql/data
  • 添加postgres用户 adduser postgres
  • 设置postgres密码 passwd postgres
  • 将安装目录权限移交给postgres用户 chown -R postgres:postgres /usr/local/pgsql
  • 切换到postgres用户  su postgres
  • 设置环境变量 vi ~/.bash_profile(这里设置的是postgres用户的环境变量)
  • export PGHOME=/usr/local/pgsql
    export PGDATA=/usr/local/pgsql/data
    PATH=$PATH:$HOME/bin:$PGHOME/bin
    export PATH
  • centos6.5中源码编译安装postgres10.4
  • 设置环境变量立即生效 source ~/.bash_profile(最好重启,防止关闭窗口后失效)
  • 若生效可以使用psql-V 查看数据库版本
  • 初始化数据库 initdb 若环境变量没有设置PGDATA 则初始化的时候需要加上data的路径
  •         initdb -D /usr/local/pgsql/data
  • 出现下图提示说明数据库安装成功
  • centos6.5中源码编译安装postgres10.4
  • 启动数据库 pg_ctl start  出现server started说明启动成功。数据库安装完成。
  • 连接到数据库,修改管理员密码
  • su postgres
  • psql 
  • 执行以下语句,给postgres用户设置密码
  • ALTER USER postgres WITH PASSWORD '你的密码';
  •  退出\q
  • 数据库相关设置
  • 配置远程连接进入data目录 cd /usr/local/pgsql/data
  • 编辑文件 vi pg_hba.conf,允许任何连接通过密码方式连接数据库。
  • centos6.5中源码编译安装postgres10.4
  •  
  • 设置监听 vi postgresql 将
  • centos6.5中源码编译安装postgres10.4
  • 设置完保存退出,pg_ctl  restart重启数据库就可以远程连接了.(关闭防火墙 root 下 chkconfig iptables off )
  • 进入root账户复制postgresql的源码包目录下的linux启动脚本到/etc/init.d
  • cd /usr/local/postgresql-10.4/contrib/start-scripts/
  • cp /linux  /etc/init.d/pgsql10.4
  • 赋予执行权限
  • chmod 755 /etc/init.d/pgsql10.4
  • 启动数据库(root账户下)
  • service pgsql10.4 start
  • 开机启动
  • chkconfig pgsql10.4 on
  • chkconfig iptables off   关闭防火墙
    • chkconfig iptables on   打开防火墙
    • chkconfig iptables --list  查看防火墙状态
    • 重启系统 reboot 后就可以远程连接数据库使用了。