2017年10月10日星期二

SL6安装postgresql

参考网址 https://wiki.postgresql.org/wiki/YUM_Installation
数据库安装
  1. 访问yum.postgresql.org,选择你要安装的postgresql安装版本,选择OS的类型复制rpm包链接。
  2. yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-sl96-9.6-3.noarch.rpm(我的系统是sl6)
  3. yum install postgresql96-server即可完成安装。
数据库初始化
数据库在运行前需初始化,有两种方法
  1. 第一种方法, 按照wiki.postgresql.org指导,使用service postgresql-9.6 initdb进行初始化工作,此参数的具体明细,可查看/etc/init.d/postgresql-9.6脚本,其中变量PGDATA为data保存位置,PGLOG为日志保存位置,可以修改脚本满足自己需要。
  2. 使用initdb参数时, 获取$LANG为字符格式, 新建了数据目录, 修改了目录访问权限与读写权限, 初始化了启动日志.
  3. 最后,执行的命令为SU -l postgres -c "initdb --pgdata='data_path' --auth='ident' $LANG".
  4. 这种方式执行的数据库启动后,是不知道postgres用户的密码,需要进入psql进行更改(切换至psotgres用户并执行psql命令不需要密码)
  5. initdb的详细参数是可参考/usr/pgsql-9.6/share/man/man1/initdb.1, 仔细查看.
  6. 第二种方法,则是根据initdb手册, 按自己的需求进行数据库初始化.同时也需修改/etc/init.d/postgresql-9.6启动脚本PGDATA参数,才能开机启动服务.
    mkdir -p /opt/pgsql/9.6/data
    chown postgres.postgres /opt/pgsql/9.6/data
    su -l postgres -c "/usr/pgsql-9.6/bin/initdb --pgdata=/opt/pgsql/9.6/data --auth=ident --locale=en_US.UTF-8 --username=postgres -W"
    执行此命令前,需自己建立好目录,并有正确权限,否则会出错
initdb常用参数简介
  1. --auth= 设置pg_hba.conf文件中host与local的验证方法
  2. --auth-host --auth-local 同上,只是分别设置host与local
  3. -D --pgdata= 数据保存path, 可以自行设置PGDATA变量, 在安装时调用
  4. -E 编码方式
  5. --locale=
  6. -U --username= superuser用户名
  7. -W 提示输入密码
设置开机启动postgresql
chkconfig --level 235 postgresql-9.6 on

设置远程可以连接postgresql
  1. 修改数据目录下的postgresql.conf中
    listen_addresses = '*' 打开所有地址的IP地址监听
  2. 修改数据目录下的pg_hba.sql,添加
  3. # IPv4 local connections:
    host    all             all             192.168.13.0/24         md5
  4. 重启服务

认证方法如下:
"trust", "reject", "md5", "password", "gss", "sspi","ident", "peer", "pam", "ldap", "radius" or "cert".  注意"password"发送明文,"md5"发送加密

没有评论: