pgpool + postgres 读写分离配置(1)

1. 检查PostgreSQL 是否已经安装

   rpm -qa|grep postgres

   如果rpm安装的用以下方式卸载:
   用 rpm -ev 命令卸载  
   或者用 
   yum remove postgres
   yum remove pgsql
   
   删除 rm -rf /etc/init.d/postgresql
   删除原来 rm -rf /usr/local/pgsql9.2
   
   删除 rm -rf /usr/pgsql-9.2
   删除 rm -rf /var/lib/pgsql/9.2/data
   

    userdel -r postgres
  groupdel postgres
  


2.下载postgresql 
  
  wget http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.gz

3. 解压
   tar -zxvf postgresql-9.2.4.tar.gz

4.进入解压后的目录
   cd postgresql-9.2.4

5开始编译
    
   ./configure --prefix=/usr/pgsql-9.2
   
   (如果有以下错误)
   
    -----------------------以下是我编译时遇到的错误----------------------
第一个问题:
    configure:error: in'/root/postgresql-9.2.4':
    configure:error: no acceptable C compiler foundin $PATH
原因是没有GCC安装即可
    #yum -y install gcc
第二问题:
    configure: error: readline library not found
少readline库,安装即可
    #yum -y install readline-devel 
第三个问题:
    configure: error: zlib library not found
安装zlib
    #yum -y install zlib-devel
也许每个人的问题都不一样,编译的时候找到错误提示,百度一下,应该可以有答案的,我遇到的也就是这三个
-----------------------------------------------------------------------
6.make

7.make install

8.创建用户组和用户:
  groupadd postgres
  useradd -g postgres postgres
   
    passwd postgres 输入密码 我是输入了123456

9.创建数据库库文件存储目录、给postgres赋予权限:
     cd /var/lib
     mkdir pgsql
     cd pgsql/
     mkdir 9.2
     cd  9.2
    mkdir  data
    mkdir  log
  
    cd /var/lib/pgsql/9.2/
     

    这个data目录 必须是chmod 700的权限 否则起不来

  chown postgres.postgres data   
    chown postgres.postgres log
    
    chmod 700 data

10.初始化数据库目录:
切换用户
  su - postgres
初始化数据
  /usr/pgsql-9.2/bin/initdb -D /var/lib/pgsql/9.2/data


11.配置监听地址和端口:(必须用postgres用户修改)

cd /var/lib/pgsql/9.2/data
vi postgresql.conf
修改
  listen_addresses = '*'
  port = 5432

12.允许远程连接:
vi pg_hba.conf
增加一行修改

  host all all 0.0.0.0/0 md5
    md5是要密码  trust 是不要密码
配置iptables让远程主机能访问:
  vi /etc/sysconfig
  添加
    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT
  service iptables restart

13启动数据库
/usr/pgsql-9.2/bin/postmaster -D /var/lib/pgsql/9.2/data

    如果报错误
    主要是看你"/tmp/.s.PGSQL.5432.lock": Permission denied"..
    删除这个件用root的用户  rm -rf /tmp/.s.PGSQL.5432.lock

    LOG:  could not bind Unix socket: Address already in use
    HINT:  Is another postmaster already running on port 5432? If not, remove socket file "/tmp/.s.PGSQL.5432" and retry.
    删除这个件用root的用户  rm -rf /tmp/.s.PGSQL.5432

14,设置密码用postgres用户
    /usr/pgsql-9.2/bin/psql -p 5432 -U postgres
     
    可以修改超级用户postgres的密码
    ALTER USER postgres WITH PASSWORD '123456';
    用客户端起来测试 成功
   
15.  让postgresql数据库随系统启动而启动:
将启动脚本拷贝到/etc/init.d目录下,具体执行如下命令:
su root
cd /etc/init.d
#cd (第一步解压的安装文件目录)/postgresql-9.2.4/contrib/start-scripts
cd /opt/soft/postgresql-9.2.4/contrib/start-scripts
cp linux /etc/init.d/postgresql
cd /etc/init.d
chmod +x postgresql


vi  postgresql
    修改
  prefix=/usr/pgsql-9.2
  PGDATA="/var/lib/pgsql/9.2/data"
  PGUSER=postgres
  PGLOG="/var/lib/pgsql/9.2/log/serverlog"


设置postgresql服务开机自启动

chkconfig --add postgresql


启动数据库:
service postgresql stop
service postgresql start

你可能感兴趣的:(pgpool + postgres 读写分离配置(1))