1、创建用户和组
[root@localhost ~]# groupadd postgres
[root@localhost ~]# useradd -g postgres postgres
2、下载源码包
https://ftp.postgresql.org/pub/source/
根据自己需要的版本下载,由于环境要求9.6版本,程序不支持9.6以上,我这以9.6为例,下载postgresql-9.6.1.tar.gz版本
注:也可用yum安装,必须是9.6版本
3、解压
[root@localhost ~]# cd /usr/local/ [root@localhost local]# tar -xf postgresql-9.6.1.tar.gz
4、编译安装
[root@localhost local]# cd postgresql-9.6.1/ [root@localhost postgresql-9.6.1]# ./configure --prefix=/usr/local/postgresql --without-readline [root@localhost postgresql-9.6.1]# make && make install 安装contrib目录下的一些工具,是第三方组织的一些工具代码,建议安装
5、创建数据库目录
[root@localhost ~]# mkdir -p /var/postgresql/data [root@localhost ~]# chown postgres:postgres /var/postgresql/ -R [root@localhost ~]# chown postgres:postgres /usr/local/postgresql –R
6、添加环境变量
[root@localhost ~]# su – postgres 在~/.bash_profile的最后添加如下内容 export PGHOME=/usr/local/postgresql export PGDATA=/var/postgresql/data export PATH=$PGHOME/bin:$PATH export MANPATH=$PGHOME/share/man:$MANPATH export LANG=en_US.utf8 export DATE=`date +"%Y-%m-%d %H:%M:%S"` export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
7、初始化数据库
[postgres@localhost bin]$ initdb -D /var/postgresql/data/
8、启动服务
[postgres@localhost bin]$ pg_ctl -D /var/postgresql/data -l /var/postgresql/logfile start
9、测试
#登录客户端使用"psql 数据库名"登录数据库。 #缺省数据库名时,连接到默认的数据库postgres。 #本地不用指定数据库 postgres@localhost local]$ psql 创建测试数据库 postgres=# create database test;
10、修改linux 系统用户postgres 的密码
[root@localhost ~]# passwd postgres
11、修改PostgresSQL 数据库配置实现远程访问
设置监听整个网络 [postgres@localhost ~]$ vim /var/postgresql/data/postgresql.conf listen_addresses = '*' 修改客户端认证配置文件pg_hba.conf,将需要远程访问数据库的IP地址或地址段加入该文件 [postgres@localhost ~]$ vim /var/postgresql/data/pg_hba.conf #在文件的最下方加上下面的这句话(出于安全考虑,不建议这样配置) host all all 0.0.0.0/0 md5
12、重启服务
[postgres@localhost ~]$ pg_ctl -D /var/postgresql/data -l /var/postgresql/logfile restart 查看端口是否启用 [postgres@localhost ~]$ netstat -anptu | grep 5432
13、修改PostgreSQL数据库默认用户postgres的密码
PostgreSQL数据库创建一个postgres用户作为数据库的管理员,密码随机,所以需要修改密码,方式如下: [postgres@localhost ~]$ psql postgres=# ALTER USER postgres WITH PASSWORD 'postgres';