• Centos 安装postgreSQL9.4.3


    rpm -ivh http://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-7.2-x86_64/pgdg-centos94-9.4-3.noarch.rpm

    yum install postgresql94-server postgresql94-contrib -y

    #首先在/home下创建一个Postgresql的数据目录
    mkdir /home/postgresql_data

    #然后为这个目录指定所有者同时分配权限
    chown postgres:postgres /home/postgresql_data -R

    chmod 0700 /home/postgresql_data

    #请在root用户和切换至postgres用户,同时设置环境变量
    export PATH=/usr/pgsql-9.4/bin:$PATH

    export LD_LIBRARY_PATH=/usr/pgsql-9.4/lib

    export PGDATA=/home/postgresql_data

    #然后source使环境变量生效
    source .bash_profile

    #然后使用命令initdb生成数据库簇,
    initdb

    #最后尝试启动Postgresql服务

    pg_ctl start -D $PGDATA


    #使用 ps -ef | grep postgres 验证,如果有一堆postgres相关进程,那就安装成功了。

    如果就到此结束了,貌似第4步就没法做了,因为使用 systemctl start postgresql-9.4 将不会成功的,为啥呢?请打开
    vi /usr/lib/systemd/system/postgresql-9.4.service ,因为在#Location of database direcotry配置节里面没有指定正确的PGDATA。所以我们需要将下面的PGDATA设置成正确值

    #Location of database directory
    Environment=PGDATA=/home/postgresql_data

    #设置服务开机自启动
    systemctl enable postgresql-9.4.service
    systemctl start postgresql-9.4.service(注意:如果已经使用pg_ctl start -D $PGDATA启动数据库,必须先停止数据库运行pg_ctl stop,否则将会由于端口冲突导致数据库服务无法启动)
    systemctl status postgresql-9.4.service
    ------------------------------------------------------------------------------------------

    安装数据库同步


    在主数据库db1上执行:

    mkdir -p /home/postgresql_data/xlog_archive
    ---------------------------------------------------

    vi /home/postgresql_data/postgresql.conf

    listen_addresses = '*'
    wal_level = hot_standby
    synchronous_commit = on
    archive_mode = on
    archive_command = 'cp %p /home/postgresql_data/xlog_archive/%f'
    max_wal_senders=5
    wal_keep_segments = 32
    hot_standby = on
    restart_after_crash = off
    restart_after_crash = off

    -------------------------------------------------------------
    #创建用于数据库同步的用户replica并授予权限
    create user replica superuser password 'replica';
    --------------------------------------------------------------
    vi /home/postgresql_data/pg_hba.conf

    local all all trust
    host all all 192.168.2.0/24 trust #允许94连接到主服务器
    host replication replica 192.168.2.0/24 md5 #允许94使用postpgresql用户来复制

    ---------------------------------------------------------------
    db1上切换postgresql用户执行:

    pg_ctl start -D $PGDATA

    或者root用户执行:

    systemctl restart postgresql-9.4.service
    -----------------------------------------------------------

    在从数据库db2上执行

    #首先在/home下创建一个Postgresql的数据目录
    mkdir /home/postgresql_data

    #然后为这个目录指定所有者同时分配权限
    chown -R postgres:postgres /home/postgresql_data

    chmod 7500 /home/postgresql_data

    #然后切换用户:

    su - postgres

    pg_basebackup -h 192.168.2.103 -U postgres -D $PGDATA -X stream -P(提示输入postgres用户密码)
    Password:
    86664/86664 kB (100%), 1/1 tablespace

    -------------------------------------------------------------------------
    vi /home/postgresql_data/recovery.conf
    standby_mode = on # 说明该节点是从服务器
    primary_conninfo = 'host=192.168.2.103 port=5432 user=postgres password=postgres' # 主服务器的信息以及连接的用户
    recovery_target_timeline = 'latest'
    --------------------------------------------------------------------------
    #启动数据库

    pg_ctl -D /data/postgresql/data/ start 或 systemctl start postgresql-9.4.service

  • 相关阅读:
    基于log4net的帮助类Log
    log4Net不能成功生成日志问题(关于配置错误)
    js 时间构造函数
    启动调试IIS时,vs无法在 Web 服务器上启动调试。Web 服务器未能找到请求的资源。 有关详细信息,请单击“帮助”。
    XmlException: 名称不能以“<”字符(十六进制值 0x3C)开头
    poj 3040 Allowance
    1144 数星星 (树状数组)
    18121 排排坐看电影
    18124 N皇后问题
    18025 小明的密码
  • 原文地址:https://www.cnblogs.com/Crazy-Liu/p/12504999.html
Copyright © 2020-2023  润新知