在Linux上安装PostgreSQL数据库,并使用Navicat连接

本文详细介绍了在Linux系统中安装PostgreSQL12的步骤,包括检查与卸载旧版本、安装YUM-PostgreSQL存储库、初始化数据库、配置监听地址和权限、启动服务、设置环境变量、查看数据库版本、创建数据库以及修改超级用户密码。同时,文章还解决了安装过程中可能遇到的网络连接、Yum安装报错、更新源等问题,并提供了使用Navicat连接数据库的指南,包括填写连接信息和处理连接错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装步骤

软件版本:postgresql-12

0、检查PostgreSQL 是否已经安装

rpm -qa | grep postgres    检查PostgreSQL 是否已经安装
rpm -qal | grep postgres   检查PostgreSQL 安装位置

若已经安装,则先卸载。

yum remove postgresql*

1、安装YUM-PostgreSQL存储库

YUM-PostgreSQL存储库由PostgreSQL官方提供。

[root@localhost ~]# yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2、安装PostgreSQL12

[root@localhost ~]# yum -y install postgresql12 postgresql12-server

3、初始化数据库

[root@localhost ~]# /usr/pgsql-12/bin/postgresql-12-setup initdb

4、修改配置,监听所有网卡地址

这样其他主机也可以通过主网卡访问到PostgreSQL数据库,默认情况下如果不修改,则PostgreSQL只允许本地访问。

[root@localhost ~]# vi /var/lib/pgsql/12/data/postgresql.conf
listen_addresses = '*'
port = 5432

5、添加信任网段,允许其他主机访问

[root@localhost ~]# vi /var/lib/pgsql/12/data/pg_hba.conf
# 添加以下内容到文件尾部。
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             0.0.0.0/0               md5
# 身份验证方法(METHOD):
# - md5       密码经过MD5加密后登陆到数据库,一般采用选择这种方式。
# - password  使用明文密码登陆到数据库。
# - trust     信任该主机,无需密码即可登陆到数据库。
# - ident     通过读取"pg_ident.conf"文件里面具有系统用户=数据库用户的映射关系,可以使用系统用户登陆到
#             数据库。

6、启动服务

[root@localhost ~]# systemctl enable postgresql-12
[root@localhost ~]# systemctl start postgresql-12
[root@localhost ~]# systemctl status postgresql-12
● postgresql-12.service - PostgreSQL 12 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-12.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-03-05 08:22:38 EST; 5s ago
     Docs: https://www.postgresql.org/docs/12/static/
[root@localhost ~]# netstat -lnupt |grep postmaster
tcp        0      0 0.0.0.0:5432            0.0.0.0:*               LISTEN      35219/postmaster    
tcp6       0      0 :::5432                 :::*                    LISTEN      35219/postmaster   

7、配置环境变量

配置环境变量,使“psql”客户端命令可以再全局使用。

[root@localhost ~]# vi /etc/profile
# PostgreSQL
export POSTGRESQL_BIN="/usr/pgsql-12/bin/"
export PATH=$PATH:$POSTGRESQL_BIN
[root@localhost ~]# source /etc/profile

8、查看数据库版本

切换操作用户“postgres”,“postgres”用户是PostgreSQL的超级用户。

[root@localhost ~]# sudo -i -u postgres
-bash-4.2$ psql
psql (12.2)
Type "help" for help.
postgres=# SELECT version();
                                                 version                                                 
-------------------------------------------------------------------------------------------------------
 PostgreSQL 12.2 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
(1 row)

9、创建数据库,查看数据库列表

postgres=# CREATE DATABASE zyhdb;
CREATE DATABASE
postgres=# select pg_database.datname from pg_database;
  datname  
-----------
 postgres
 zyhdb
 template1
 template0
(4 rows)

10、修改"postgres"用户密码

默认情况下"postgres"用户没有密码,我们需要给超级管理员一个密码。

postgres=# \password
Enter new password: XXX
Enter it again: XXX
postgres=# exit
-bash-4.2$ exit

二、使用navicat连接数据库

1.打开navicat,点击左上角连接,选择postgresql

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NQGvL1Ko-1605248674700)(安装PostgreSQL.assets/3.png)]

2.填写好连接信息,ip地址,数据库密码,点击确定即可

ip地址可通过“ifconfig”查询

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0iX2w2MY-1605248674706)(安装PostgreSQL.assets/4.png)]

二、遇到的问题

安装中

1.linux网络连接问题,连接不上网络

解决办法:

(1)在VMware里,依次点击”编辑“ - ”虚拟网络编辑器“,如下图,我选择的是NAT模式:

不要勾选”使用本地DHCP服务将IP分配给虚拟机“这个选项。然后是配置子网ip,子网IP与宿主机的ip一定不能处在同一地址范围里,保证ip的第三个数字在0到254。

img

在这个界面接着点"NAT设置",查看虚拟机的网关

img

​ (2)以root权限编辑/etc/sysconfig/network-scripts/ifcfg-ens32这个文件
不一定都叫“ifcfg-ens32”,可以自己在“network-scripts”文件下查找“ifcfg”开头的文件查看
在这里插入图片描述

BOOTPROTO=static  #设置静态Ip
ONBOOT=yes  #这里如果为no的话就改为yes,表示网卡设备自动启动
GATEWAY=192.168.10.2  #这里的网关地址就是第二步获取到的那个网关地址
IPADDR=192.168.10.150  #配置ip,在第二步已经设置ip处于192.168.10.xxx这个范围,我就随便设为150了,只要不和网关相同均可
NETMASK=255.255.255.0#子网掩码
DNS1=202.96.128.86#dns服务器1,填写你所在的网络可用的dns服务器地址即可
DNS2=8.8.8.8

​ (3)更改本机电脑网络设置和虚拟机网络设置
在这里插入图片描述
在这里插入图片描述

(4)重启网卡服务,执行

service network restart
2.Yum安装报错Error: Nothing to do

​ 解决办法:更新yum源

yum -y -update
3.更新yum源报错

​ Error: initscripts conflicts with centos-release-7-4.1708.el7.centos.x86_64 You could try using --skip-broken to work around the problem ** Found 123 pre-existing rpmdb problem(s), ‘yum check’ output follows:

解决办法:修改yum配置文件

	cd /etc
	vi yum.conf

​ 添加:exclude=kernel*

					exclude=centos-release* 

​ exclude=initscripts

使用navicat连接数据库

1.连接不上服务器

could not connect to server: Connection timed out(Ox0000274C/10060)
ls the server running on host “192.168.10.150” and accepting
TCP/IP connections on port 5432?

解决办法:

​ (1)重启系统

reboot

​ (2)防火墙开放端口

# 添加指定端口
$ firewall-cmd --add-port=5432/tcp --permanent

# 重载入端口
$ firewall-cmd --reload

# 查询端口是否开启成功
$ firewall-cmd --query-port=5432/tcp
2.用户“postgres”的密码验证失败

在这里插入图片描述

解决办法:

​ 修改postgres密码

#切换到postgres用户
[root@bogon ~]# sudo -i -u postgres
#进入控制台
[postgres@bogon ~]$ psql
#修改密码
postgres=# \password
Enter new password: 
Enter it again: 

​ 之后再使用修改后的密码就可以连接成功
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值