• centos7下安装postgresql-10.3


    centos7下安装pgsql10.3

    前言

    在centos7上面安装pgsql-10.3,在网上找了很多的文章,试了好久才成功.那就总结下,安装的过程吧,避免下次浪费时间.

    下载pgsql-10.3

    系统版本centos7

    下载pgsql-10.3:https://www.postgresql.org/ftp/source/v10.3/

    上传tar包到服务器

    $ scp postgresql-10.3.tar.gz root@192.168.56.189:~
    The authenticity of host '192.168.56.189 (192.168.56.189)' can't be established.
    ECDSA key fingerprint is SHA256:q2lore2LaeBsH4j3jmEVg0VYbfudDDR4LkmF/rt+Zp0.
    Are you sure you want to continue connecting (yes/no)? yes
    Failed to add the host to the list of known hosts (/home/liz/.ssh/known_hosts).
    root@192.168.56.189's password: 
    postgresql-10.3.tar.gz                                                     100%   25MB  37.5MB/s   00:00  
    

    安装

    解压

    # tar -xzvf postgresql-10.3.tar.gz
    

    安装基本的工具

    yum install -y vim lrzsz tree wget gcc gcc-c++ readline-devel zlib-devel
    

    编译

    进入到刚刚解压的文件夹,执行命令

    ./configure --prefix=/usr/local/pgsql
    

    后面的/usr/local/pgsql表示的是要编译安装的具体位置,可以自己定义

    安装

    make && make install
    

    然后等待安装........

    直到出现PostgreSQL installation complete.表示安装成功了

    创建目录 data、log

    # mkdir /usr/local/pgsql/data
    # mkdir /usr/local/pgsql/log
    

    加入系统环境变量

     vim /etc/profile
    

    在最后写入

    PGHOME=/usr/local/pgsql
    export PGHOME
    PGDATA=/usr/local/pgsql/data
    export PGDATA
    PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin
    

    注意:/usr/local/pgsql需要修改为自己的安装目录

    使配置文件生效

    # source /etc/profile
    

    增加用户 postgres 并赋权

    # adduser postgres
    # chown -R postgres:root /usr/local/pgsql/
    

    修改密码(在root)

    # passwd postgres 
    更改用户 postgres 的密码 。
    新的 密码:
    无效的密码: 密码未通过字典检查 - 过于简单化/系统化
    重新输入新的 密码:
    passwd:所有的身份验证令牌已经成功更新。
    

    初始化数据库

    注意:需要在postgres用户下初始化

    切换用户 postgres

    # su postgres
    

    然后初始化数据库

    # /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
    

    编辑配置文件

    # vim /usr/local/ppgsql/data/postgresql.conf
    

    修改

    listen_addresses = '*'
    port = 5432
    

    同样修改

    # vim /usr/local/pgsql/data/pg_hba.conf
    

    在最后面添加

    说明:

    TYPE:pg的连接方式,local:本地unix套接字,host:tcp/ip连接
    DATABASE:指定数据库
    USER:指定数据库用户
    ADDRESS:ip地址,可以定义某台主机或某个网段,32代表检查整个ip地址,相当于固定的ip,24代表只检查前三位,最后一 位是0~255之间的任何一个
    METHOD:认证方式,常用的有ident,md5,password,trust,reject。
    md5是常用的密码认证方式。
    password是以明文密码传送给数据库,建议不要在生产环境中使用。
    trust是只要知道数据库用户名就能登录,建议不要在生产环境中使用。
    reject是拒绝认证。

    启动服务

    $ pg_ctl start -l /usr/local/pgsql/log/pg_server.log
    could not change directory to "/root/postgresql-10.3": 权限不够
    waiting for server to start.... done
    server started
    

    启动,停止,重启

    $ pg_ctl startstop
    estart -D /usr/local/pgsql/log/pg_server.log
    

    需要切换用户 postgres,使用root用户 su postgres切换到postgres用户时,执行上面的启动命令会提示权限不够,使用下面的这个命令,就可以了

    # su - postgres
    

    查看版本

    # psql -V
    psql (PostgreSQL) 10.3
    

    设置开机启动

    将pgsql安装包中的linux文件复制到/etc/init.d或者/etc/rc.d

    [root@10 postgresql-10.3]# cp contrib/start-scripts/linux /etc/init.d/pgsql
    

    根据安装路径修改pgsql文件中的配置项

    ## EDIT FROM HERE
    
    # Installation prefix (安装路径)
    prefix=/usr/local/pgsql
    
    # Data directory (data路径)
    PGDATA="/usr/local/pgsql/data"
    

    修改pgsql文件权限

    # chmod +x /etc/init.d/pgsql
    

    开机执行pgsql文件

    # chkconfig --add pgsql
    

    关掉防火墙

    $ systemctl stop firewalld
    $ systemctl disable firewalld
    
  • 相关阅读:
    mac 系统下删除目录的所有.svn文件
    java DES加密解密文件
    也许,未来需要重新规划
    android选择图片或拍照图片上传到服务器(包括上传参数)
    iOS DES ECB模式对称加密解密
    iOS开发中防止键盘挡住UITextField解决方案
    xCode 4.X 免证书真机公布及调试
    iOS 获取手机的型号,系统版本,软件名称,软件版本
    java DES ECB模式对称加密解密
    解决error: failed to launch"/private/var/mobile/Applications/XX" timed out waiting for app to launch
  • 原文地址:https://www.cnblogs.com/ricklz/p/12723699.html
Copyright © 2020-2023  润新知