zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Service Name Port Number Transport Protocol tcp udp 端口号16bit
    linux linux 互传文件 win 不通过 ftp sftp 往linux 传文件(文件夹)
    soft deletion Google SRE 保障数据完整性的手段
    Taylor series
    Taylor's theorem
    Moving average
    REQUEST
    Unix file types
    mysqld.sock
    Tunneling protocol
  • 原文地址:https://www.cnblogs.com/Crazy-Liu/p/12504999.html
Copyright © 2011-2022 走看看