在 Linux 系统中安装 PostgreSQL 以及安装成功后在 Windows 环境下使用 Navicat 远程连接 PostgreSQL 的过程本人已体验两遍。
第一次是在 Windows 安装的虚拟机环境中安装 PostgreSQL,虚拟机使用的 Linux 版本是 CentOS 7。
第二次是在购买的大洋彼岸的一台主机中安装 PostgreSQL,主机使用的 Linux 版本也是 CentOS 7。
下面记录第二次安装 PostgreSQL 过程。
目录
一、安装步骤
1.查看 Linux 版本和处理器类型
2.访问 PostgreSQL 官网:PostgreSQL: Linux downloads (other)
3.选择具体要安装的 PostgreSQL 版本
4.选择平台(Linux 版本)
5.选择架构(Linux 处理器类型)
6.复制、粘贴并运行命令
7.检查 PostgreSQL 启动状态
8.可以再次尝试重启服务
二、配置相关文件
1.配置远程登录
2.配置秘钥方式
3.重启服务
4.检查服务启动状态
1.登录数据库
2.切换到用户 postgres(使用内置的用户 postgres)
3.创建用户及数据库
4.查询角色属性
5.给账号(超级用户)绑定从属角色
6.退出登录的 postgres
7.退出当前的 shell
四、给 PostgreSQL 数据库导入脚本,创建数据表
1.在 Windows 系统中准备 .sql 源文件
2.把 .sql 文件拷贝到 Linux中
3.导入.sql 文件到数据库
4.检查表是否已创建
cat /etc/centos-release (显示发行版本)
uname -m (显示处理器类型)
根据所知道的 Linux 版本信息进行选择。
注意:目前是使用 yum 安装,请提前配置yum源。
复制下图中的命令安装存储库 RPM,安装 PostgreSQL ,(可选择)初始化数据库并启用自动启动。
(1)复制命令到 Linux 环境,运行命令安装 RPM
(2)复制命令到 Linux 环境,运行命令安装 PostgreSQL(过程太长,截了2张图)
(3)复制命令到 Linux 环境,可选择初始化数据库并启用自动启动。
systemctl status postgresql-14
注:①数字14需要根据安装的 PostgreSQL 版本进行更改 ,如果命令结尾的数字与安装的版本不匹配会报错,比如:systemctl status postgresql-13,会报错:Unit postgresql-13.service could not be found;
②此命令前加 sudo 也未影响命令运行,sudo 命令以系统管理者的身份执行指令
systemctl restart postgresql-14.service
修改这个目录下的 /var/lib/pqsql/14/data/postgresql.conf 文件。
输入命令:
vi /var/lib/pgsql/14/data/postgresql.conf
注:需掌握 vi 的使用 Linux vi/vim | 菜鸟教程
取消 listen_addresses 的注释,将值改为 “*”。
修改这个目录下 /var/lib/pgsql/14/data/pg_hba.conf 文件。
输入命令:
vi /var/lib/pgsql/14/data/pg_hba.conf
找到 IPv4 local connections ,在已有配置的下方添加红色框中的内容。
systemctl restart postgresql-14.service
到这里,PostgreSQL 安装完毕~
此时数据库中存在一个内置的超级用户 postgres,postgres 可以在数据库中创建新的超级用户,也可以把一个超级用户变成普通用户……
要学的知识太多了,大家可以百度“PostgreSQL 角色、用户、权限和数据库安全等”自行了解~~
su - postgres
注:su 命令边练边学参考 Linux su 命令 | 菜鸟教程
psql -U postgres
注:接下来的内容中开始使用 PostgreSQL 的相关命令了,比如:psql ……
创建 root 用户并设置密码:
create user root with password '密码';
创建数据库:
create database 库名 owner root;
授权:
grant all privileges on database 库名 to root;
查询已存在的数据库:
\l
注:l 是字母 L 的小写
\du
GRANT postgres TO root;
\du
再次查询角色属性
\q
exit
注:exit 是 Linux 命令
拷贝过程省略:我使用的是 FinalShell 工具,直接拖曳到指定目录。
进入 Linux 系统 .sql 源文件所在目录,输入命令:
ls -l
先看看文件的属性等信息(目的是检查文件是否拷贝到 Linux 系统中)。
通过命令把刚才的 “setup.sql” 文件,导入到刚才在 PostgreSQL 创建的数据库中。
psql -U root -d 库名 -f /usr/local/go-web/SQL/setup.sql
注:① root 是刚才创建的用户,即把数据库导入到这个用户下;② 库名指的是哪个数据库,比如上述过程中创建的数据库;③ /usr/local/go-web/SQL/setup.sql 是 .sql 源文件所在位置路径。
输入命令:
su - postgres
输入命令:
psql -h localhost -p 5432 -U root 库名
输入密码后会进入数据库。
在数据库下输入命令:
\dt
显示刚才导入 .sql 源文件创建的表。
安装破解过程略过……
SSH 配置(注:①这一步可以点击测试连接,会有提示成功,当然还有其他情况;②或者在 Windows 的 CMD 窗口使用 telnet IP 22 测试 Linux 主机的22端口是否可用)
常规配置
点击确定后,打开连接可以看到库和表。
到这里 Linux 环境安装 PostgreSQL 以及在 Windows 环境下远程连接的过程记录就结束了~