先检查自己是否安装了postgres
rpm -qa | grep postgresql
这个是安装之后的查询(目录不重要,在什么目录下都可以执行这个命令)
未安装的样子
安装的样子(如果已经安装了,但是没有成功需要卸载重新安装)PS:这个暂时不做教程
我们用这个台未安装的虚拟机进行后续操作
首先去官网获取该链接
postgres
我已经从教程的上面得到了下载路径如下(可以直接复制使用)
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
yum install postgresql12 -y
yum install postgresql12-server -y
数据库初始化与设置自启动
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12
这一步初始化数据库命令会在 /var/lib/pgsql 目录下创建名称为12文件夹,12为数据库版本。这里如果已经有对应版本的文件夹了,初始化这一步会报错,需要你自行去删除对应的文件夹再去初始化。
修改密码
passwd postgres
进入目录 cd /var/lib/pgsql/12/data
修改之前的样子以及位置
vi postgresql.conf
修改之后,然后按esc
之后
:wq
进入该文件
vi pg_hba.conf
修改之前的样子
修改后的样子
重新启动
systemctl restart postgresql-12
设置登录数据库账号和密码
#不能使用root用户登录,切换到普通用户
su postgres
psql -U postgres
#设置用户密码
\password
#查看版本
select version();
登录成功截图
在连接native时出现连接超时,这个时候去查看防护墙
方案一:直接关闭防火墙
关闭防火墙
systemctl stop firewalld.service
查看防火墙状态
firewall-cmd --state
方案二:
开启5432的端口
firewall-cmd --zone=public --add-port=5432/tcp --permanent
重启生效
firewall-cmd --reload
查看已经开启的端口
firewall-cmd --zone=public --list-ports
查看防火墙的状态
systemctl status firewalld
均可以保证连接成功
现在来创建用户
首先登录到数据库中
切换用户
su - postgres
进入数据库
psql
(查看角色)
\du
(列出所有数据库)
\l
(退出)
\q
创建用户
创建用户:dbuser
createuser dbuser
创建数据库dbname所属用户为dbuser
createdb -e -O dbuser dbname
给创建的用户设置密码
\password dbuser
切换用户登录
指定自己刚刚创建的用户名和数据库以及自己的ip地址
psql -U dbuser -d dbname -h 192.168.138.141
ip 查询命令
ip add
插入一条记录
insert into test (t1,t2) values (11, 'ccccc'), (22, 'aaaa');
查看表的数据
select * from test limit 10;