CentOS安裝PostgreSQL数据库的方法,以及连接数据库报错"SSL off"问题解决
环境:
- CentOS 7.5
- PostgreSQL 10.9
下载postgresql-10.9-2-linux-x64.run:
下载地址: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
安装:
1.赋予可执行权限:
chmod +x postgresql-10.9-2-linux-x64.run
2.执行:
./postgresql-10.9-2-linux-x64.run
3.安装过程中根据提示设置参数
Installation Directory: /opt/PostgreSQL/10
Server Installation Directory: /opt/PostgreSQL/10
Data Directory: /opt/PostgreSQL/10/data
Database Port: 5432
Database Superuser: postgres
Operating System Account: postgres
Database Service: postgresql-10
Command Line Tools Installation Directory: /opt/PostgreSQL/10
pgAdmin4 Installation Directory: /opt/PostgreSQL/10/pgAdmin 4
Stack Builder Installation Directory: /opt/PostgreSQL/10
4.安装完成
ps -ef | grep postgres # 含有postgres表示安装完成
5.设置
~/.bash_profile
,可以直接使用psql
pg_ctl
等命令
vim ~/.bash_profile
#export postgresql
export PATH=/opt/PostgreSQL/10/bin:$PATH
export PGDATA=/opt/PostgreSQL/10/data
export PGDATABASE=postgres
export PGUSER=postgres
export PGPORT=5432
export PGLOCALEDIR=/opt/PostgreSQL/10/share/locale
export MANPATH=$MANPATH:/opt/PostgreSQL/10/share/man
安装中遇到的问题
连接数据库报错
FATAL: no pg_hba.conf entry for host "ip", user "postgres", database "postgres", SSL off
解决办法
1将连接数据库ip加入pg_hba.conf
文件中
vim /opt/PostgreSQL/10/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5 #加入行,所有ip都可连接
2.设置postgresql.conf
文件listen_addresses参数
vim /opt/PostgreSQL/10/data/postgresql.conf
listen_addresses = '*' # what IP address(es) to listen on;
3.重启数据库pg_ctl restart
[root@centos opt]# su postgres #切换账号
bash-4.2$ pg_ctl restart # 重启
waiting for server to shut down.... done
server stopped
waiting for server to start....2019-07-06 16:39:02.158 CST [10697] LOG: listening on IPv4 address "0.0.0.0", port 5432
2019-07-06 16:39:02.158 CST [10697] LOG: listening on IPv6 address "::", port 5432
2019-07-06 16:39:02.216 CST [10697] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432"
2019-07-06 16:39:02.292 CST [10697] LOG: redirecting log output to logging collector process
2019-07-06 16:39:02.292 CST [10697] HINT: Future log output will appear in directory "log".
done
server started