随笔 - 308  文章 - 0  评论 - 84  阅读 - 75万

centos7下安装postgresql-10.3

centos7下安装pgsql10.3

前言

在centos7上面安装pgsql-10.3,在网上找了很多的文章,试了好久才成功.那就总结下,安装的过程吧,避免下次浪费时间.

下载pgsql-10.3

系统版本centos7

下载pgsql-10.3:https://www.postgresql.org/ftp/source/v10.3/

上传tar包到服务器

$ scp postgresql-10.3.tar.gz root@192.168.56.189:~
The authenticity of host '192.168.56.189 (192.168.56.189)' can't be established.
ECDSA key fingerprint is SHA256:q2lore2LaeBsH4j3jmEVg0VYbfudDDR4LkmF/rt+Zp0.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/home/liz/.ssh/known_hosts).
root@192.168.56.189's password: 
postgresql-10.3.tar.gz                                                     100%   25MB  37.5MB/s   00:00  

安装

解压

# tar -xzvf postgresql-10.3.tar.gz

安装基本的工具

yum install -y vim lrzsz tree wget gcc gcc-c++ readline-devel zlib-devel

编译

进入到刚刚解压的文件夹,执行命令

./configure --prefix=/usr/local/pgsql

后面的/usr/local/pgsql表示的是要编译安装的具体位置,可以自己定义

安装

make && make install

然后等待安装........

直到出现PostgreSQL installation complete.表示安装成功了

创建目录 data、log

# mkdir /usr/local/pgsql/data
# mkdir /usr/local/pgsql/log

加入系统环境变量

 vim /etc/profile

在最后写入

PGHOME=/usr/local/pgsql
export PGHOME
PGDATA=/usr/local/pgsql/data
export PGDATA
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin

注意:/usr/local/pgsql需要修改为自己的安装目录

使配置文件生效

# source /etc/profile

增加用户 postgres 并赋权

# adduser postgres
# chown -R postgres:root /usr/local/pgsql/

修改密码(在root)

# passwd postgres 
更改用户 postgres 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

初始化数据库

注意:需要在postgres用户下初始化

切换用户 postgres

# su postgres

然后初始化数据库

# /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/

编辑配置文件

# vim /usr/local/ppgsql/data/postgresql.conf

修改

listen_addresses = '*'
port = 5432

同样修改

# vim /usr/local/pgsql/data/pg_hba.conf

在最后面添加

说明:

TYPE:pg的连接方式,local:本地unix套接字,host:tcp/ip连接
DATABASE:指定数据库
USER:指定数据库用户
ADDRESS:ip地址,可以定义某台主机或某个网段,32代表检查整个ip地址,相当于固定的ip,24代表只检查前三位,最后一 位是0~255之间的任何一个
METHOD:认证方式,常用的有ident,md5,password,trust,reject。
md5是常用的密码认证方式。
password是以明文密码传送给数据库,建议不要在生产环境中使用。
trust是只要知道数据库用户名就能登录,建议不要在生产环境中使用。
reject是拒绝认证。

启动服务

$ pg_ctl start -l /usr/local/pgsql/log/pg_server.log
could not change directory to "/root/postgresql-10.3": 权限不够
waiting for server to start.... done
server started

启动,停止,重启

$ pg_ctl start\stop\restart -D /usr/local/pgsql/log/pg_server.log

需要切换用户 postgres,使用root用户 su postgres切换到postgres用户时,执行上面的启动命令会提示权限不够,使用下面的这个命令,就可以了

# su - postgres

查看版本

# psql -V
psql (PostgreSQL) 10.3

设置开机启动

将pgsql安装包中的linux文件复制到/etc/init.d或者/etc/rc.d

[root@10 postgresql-10.3]# cp contrib/start-scripts/linux /etc/init.d/pgsql

根据安装路径修改pgsql文件中的配置项

## EDIT FROM HERE

# Installation prefix (安装路径)
prefix=/usr/local/pgsql

# Data directory (data路径)
PGDATA="/usr/local/pgsql/data"

修改pgsql文件权限

# chmod +x /etc/init.d/pgsql

开机执行pgsql文件

# chkconfig --add pgsql

关掉防火墙

$ systemctl stop firewalld
$ systemctl disable firewalld
posted on   ZhanLi  阅读(916)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示