赞
踩
选择gz安装包
tar -zxvf postgresql-13.0.tar.gz
./configure --prefix=/usr/local/postgresql (后面这个路径可以自定义)
报错:configure: error: readline library not found
原因是没有找到readline
解决方法:yum install -y readline-devel
报错:configure: error: zlib library not found
解决方法:yum install zlib-devel
没解决还可以更换yum源,可以在网上搜索下相对应文档
但我当时linux服务器是统信系统,上述两个方法都不行,使用yum命令下载提示说下载元数据失败,更换源也没找到统信系统对应的更换yum源的文档
并且我查看是有readline的
发现有readline,但依然报错说找不到
后面发现解决configure: error: readline library not found错误
还有另一个解决方法:
在执行命令 ./configure
加上 --without-readline
选项,不编译 readline:
但是不建议这样做,readline 的作用是能够在 pg 控制台读取历史命令,就像在 linux shell 中按上下键读取历史命令,不需要再手动输入重复的命令
./configure --prefix=/usr/local/postgresql --without-readline
接着执行make和make install进行安装编译
过程有点儿长,显示这行信息代表完成
执行完毕,在/usr/local目录下就会有postgresql这个目录
view /etc/profile
小写o进入编辑
export PGHOME=/usr/local/postgresql
export PGDATA=/usr/local/postgresql/data
export PATH=P A T H : PATH:PATH:JAVA_HOME/bin:$PGHOME/bin
Esc 退出编辑
:wq! 强行保存并退出
使配置文件生效:source /etc/profile
- useradd postgres
- chown -R postgres:root /usr/local/postgresql
- su postgres (切换到postgres用户)
- /usr/local/postgresql/bin/initdb -D /usr/local/postgresql/data/
注意:
不能在 root 用户下初始数据库,否则会报错
vim /usr/local/postgresql/data/postgresql.conf
把60行的listen_addresses = 'localhost’改为listen_addresses = ‘*’,并放开注释
把对应的port=5432放开注释
vim /usr/local/postgresql/data/pg_hba.conf
添加一行:
host all all 0.0.0.0/0 md5
说明:
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/postgresql/log/pg_server.log
看到postgres=#代表成功
当我们在postgresql的命令行敲命令的时候我们会发现命令行会发生变化,在postgres=#和postgres-#之间切换:
postgres-#的意思是:你当前的命令输入还不完整。
postgres=#的意思是:当前没有输入新的命令
使用\password进行设置密码,默认用户名是:postgres,这里我们就不去修改用户名了,只修改密码
使用\l 进行查看
设置开机自启动
chkconfig --add postgresql
查看版本
psql -V
如果服务器是开启防火墙状态的请注意 将数据库的端口开放否则链接会报错
命令:firewall-cmd --add-service=postgresql --permanent
# 5432为postgresql端口
命令:firewall-cmd --zone=public --add-port=5432/tcp --permanent
命令:firewall-cmd --reload
# 查看防火墙开放端口
firewall-cmd --zone=public --list-ports
————————————————
版权声明:本文为CSDN博主「Dark Sky.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Dark_Blue__/article/details/125187959
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。