Linux上安装Postgres

一、安装dnf

# 安装 epel-release 依赖
yum install epel-release
 
# 安装 DNF 包:
yum install dnf
 
# 安装:
dnf install dnf

二、安装Postgresql

pgsql官网地址:https://www.postgresql.org/ ,进入后点击【Download→】进入下载页,这里点击Linux,选择对应的linux发行版,这里以RedHat为例,进入新页面后按需要选择Postgresql版本等相关信息,下面会自动生成下载安装命令,复制到shell执行即可
Linux上安装Postgres_第1张图片Linux上安装Postgres_第2张图片

三、使用Postgresql

1.安装完成后切换postgres用户(安装时会自动创建)

su - postgres

2.进入Postgresql命令行

psql

Linux上安装Postgres_第3张图片
3.创建数据库(关键字大小写都OK)

CREATE DATABASE test;
-- 切换数据库
\c test;

Linux上安装Postgres_第4张图片

四、遇到的问题

问题1. 使用本地pgAdmin4/Navicat远程ssh连接Postgresql,提示分别如下错误:

Linux上安装Postgres_第5张图片
Linux上安装Postgres_第6张图片

解决办法:修改pg_hba.conf文件,添加如下内容,按照如上方法安装的Postgresql配置文件所在路径为 /var/lib/pgsql/xx/data

# "local" is for Unix domain socket connections only
local   all             all                           trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust

修改后的结果:
Linux上安装Postgres_第7张图片
修改postgresql.conf文件,将监听地址修改为全部

listen_addresses = '*'	

修改后的结果:
Linux上安装Postgres_第8张图片

修改完成后,重启Postgresql服务或者在数据库命令行中执行: SELECT pg_reload_conf(); 即可

# 重启服务
sudo systemctl restart postgresql-13

补充:如果找不到配置文件位置,可以通过如下命令确定

find / -name pg_hba.conf

image

问题2. 使用Navicat 12连接成功后,数据库中无法显示表(前提数据库中存在表)

解决办法:将Navicat12更新到最新版即可

问题3. 在项目中连接远程数据库时,报错如下:
org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "123.185.181.129", user "postgres", database "offline", SSL off
解决办法:修改pg_hba.conf文件,在IPv4下加入如下配置后,重启服务
(!!#ff0000 注意!!:所配置的ip为报错提示中的ip,而不是连接数据库配置的ip)

host    all             all             123.185.181.129/32            trust

配置结果如下:
Linux上安装Postgres_第9张图片

你可能感兴趣的:(教程,linux,postgresql,数据库)