centos7离线安装postgresql-9.5

PostgreSQL是一个功能非常强大的、源代码开放的客户/服务器关系型数据库管理系统,官网https://www.postgresql.org/download/,本文仅提供在centos7系统环境下安装postgres数据库。

PostgreSQL数据库在安装过程中会自动创建postgres用户,家目录:/var/lib/postgresql,我们也可以提前创建postgres用户,修改用户家目录。

安装postgresql:
1.检查系统是否存在postgres数据库

  rpm -qa | grep postgres -->检查是否有安装
  rpm -qal | grep postgres -->检查安装位置
  rpm -e postgresql_name -->卸载数据库(如果有),需替换具体的数据库版本名称,可同时卸载多个
2.创建postgres用户(此过程可省略)

  groupadd postgres -->创建组
  useradd -g postgres postgres -->创建用户,属组为postgres
  passwd postgres -->设置用户postgres密码
  mkdir /home/postgres_data
  chown postgres:postgres
3.安装数据库
  yum install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
  安装PostgreSQL服务器和第三方扩展包
  yum install postgresql95-server postgresql95-contrib -y

  也可以选择离线安装,在官网下载系统对应的rpm包。
4.配置postgres数据库数据存储位置,如果第二步没有做此过程可跳过。

  切换用户postgres
  vi .bash_profile
  export PATH=$PATH:/usr/pgsql-95/bin
  export LD_LIBRARY_PATH=/usr/pgsql-9.5/lib
  export PGDATA=/home/postgres_data

5.修改配置文件/usr/lib/systemd/system/postgresql-9.5.service,如果过程2没有做此过程可生省略。
  Environment=PGDATA=/home/postgres_data

6.切root用户

  初始化数据库(以postgresql用户初始化数据库会导致服务启动失败)
  # /usr/pgsql-9.5/bin/postgresql95-setup initdb

7.修改配置文件/var/lib/pgsql/9.5/data/postgresql.conf,去掉注释符“#”(该路径为postgres默认的配置文件生成路径,如果在步骤5修改了配置文件生成位置需要在对应位置找到配置文件)

  listen_addressed='*'
  port=5432
  password--encryption=on
8.修改配置文件/var/lib/pgsql/9.5/data/pg_hba.conf(该路径为postgres默认的配置文件生成路径,如果在步骤5修改了配置文件生成位置需要在对应位置找到配置文件)
  IPV4所在一行修改ident为trust
  IPV4下新增一行host  all  all    0.0.0.0/32  md5

9.起服务
  # systemctl enable postgresql-9.5.service
  # systemctl start postgresql-9.5.service
  # systemctl status postgresql-9.5.service
输出应为:
  postgresql-9.5.service - PostgreSQL 9.5 database server
  Loaded: loaded (/usr/lib/systemd/system/postgresql-9.5.service; enabled)
  Active: active (running) since Fri 2016-02-19 00:01:13 UTC; 6min ago
  Process: 10809 ExecStart=/usr/pgsql-9.5/bin/pg_ctl start -D ${PGDATA} -s -w -t 300 (code=exited, status=0/SUCCESS)
  Process: 10802 ExecStartPre=/usr/pgsql-9.5/bin/postgresql95-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
  Main PID: 10811 (postgres)
  CGroup: /system.slice/postgresql-9.5.service
  ├─10811 /usr/pgsql-9.5/bin/postgres -D /var/lib/pgsql/9.5/data
  ├─10812 postgres: logger process
  ├─10814 postgres: checkpointer process
  ├─10815 postgres: writer process
  ├─10816 postgres: wal writer process
  ├─10817 postgres: autovacuum launcher process
  └─10818 postgres: stats collector process

9.数据库设置
psql
#psql -U postgres并回车,登录数据库。
#ALTER USER postgres with encrypted password '1234';
#select * from pg_database;
#\q

备注:我在docker安装postgres 的时候遇到个报错:warning: postgresql95-9.5.14-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY  经查询是依赖缺失,安装:yum install -y libicu systemd-sysv感谢大佬分享经验

posted @ 2019-09-10 14:46  多少黑夜挣扎  阅读(1893)  评论(0编辑  收藏  举报