Linux 在线yum安装: PostgreSQL 15.6数据库

news/2024/7/9 22:04:52 标签: 数据库, linux, postgresql, 运维, PostgreSQL15数据库

Linux 在线yum安装: PostgreSQL 15.6数据库

  • 1、PostgreSQL数据库简介
  • 2、在线安装PostgreSQL15.6
  • 3、配置 PostgreSQL的环境变量
  • 4、使用默认用户登录PostgreSQL
  • 5、配置 PostgreSQL 允许远程登录
  • 6、修改 PostgreSQL 默认端口
  • 7、创建数据库和表、远程用户zyl
  • 8、pgAdmin远程访问该数据库(db_pg01)


💖The Begin💖点点关注,收藏不迷路💖

1、PostgreSQL数据库简介

🍒 PostgreSQL 中文文档

PostgreSQL(又称 Postgres)是一种强大、开源的关系型数据库管理系统(RDBMS),它具有高度的可靠性、稳定性和可扩展性。以下是关于 PostgreSQL 数据库的一些简要介绍:

主要特点:

1、开源: PostgreSQL 是基于开源许可证发布的,任何人都可以免费使用、修改和分发它。

2、关系型数据库: PostgreSQL 是一种关系型数据库管理系统,支持 SQL 查询语言,具有强大的数据处理能力。

3、可扩展性: PostgreSQL 支持多种插件和扩展,可以满足各种不同规模和需求的应用场景。

4、支持复杂数据类型: 除了传统的数据类型外,PostgreSQL 还支持数组、JSON、XML 等复杂数据类型。

5、事务支持: PostgreSQL 提供完整的 ACID 事务支持,确保数据的一致性和可靠性。

6、触发器和存储过程: 支持触发器和存储过程,可以在数据库层面实现业务逻辑。

7、并发控制: 具有强大的并发控制能力,能够处理大量并发访问请求。

8、安全性: 提供强大的用户认证和权限管理功能,保护数据安全。

9、扩展性: 可以轻松地通过扩展模块来增加额外的功能,如全文搜索、地理信息系统等。

主要组件:

1、PostgreSQL 服务器(postgres): 数据库服务进程,负责接收客户端请求并执行相应的操作。

2、pgAdmin: 基于图形界面的管理工具,用于管理数据库、执行 SQL 查询等操作。

3、psql: 命令行工具,用于与 PostgreSQL 数据库进行交互和执行 SQL 命令。

4、扩展模块: 提供额外功能的模块,如 PostGIS 用于地理信息系统、pgcrypto 用于加密等。

2、在线安装PostgreSQL15.6

官方文档:https://www.postgresql.org/download/linux/redhat/

在这里插入图片描述

1、安装软件仓库 RPM 包:

sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

在这里插入图片描述
2、安装 PostgreSQL 15:

sudo yum install -y postgresql15-server

在这里插入图片描述

3、可选:初始化数据库并设置自动启动:

sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15

sudo systemctl status postgresql-15

在这里插入图片描述

4、查询已安装的 PostgreSQL 14 软件包的详细信息:

rpm -qi postgresql15

在这里插入图片描述
在 PostgreSQL 中,默认情况下会创建一个名为 “postgres” 的系统用户,用于管理 PostgreSQL 数据库服务。

在这里插入图片描述

3、配置 PostgreSQL的环境变量

1、编辑/etc/profile 配置文件:

vim /etc/profile 

2、在文件末尾添加以下行:

export PATH=$PATH:/usr/pgsql-15/bin

在这里插入图片描述
3、保存并应用更改:

source /etc/profile 

4、验证配置是否成功:

运行 psql --version 命令来验证 PostgreSQL 是否已经配置到系统环境变量中。如果成功配置,将显示 PostgreSQL 的版本信息。

psql --version

在这里插入图片描述

4、使用默认用户登录PostgreSQL

1、切换到 “postgres” 用户(默认不需要密码):

[root@zyl-server ~]# su postgres
bash-4.2$ psql
could not change directory to "/root": Permission denied
psql (15.6)
Type "help" for help.

postgres=# 

2、进入 PostgreSQL 命令行界面:

psql

3、修改 “postgres” 用户密码(postgres):

postgres=# ALTER USER postgres WITH PASSWORD 'postgres';
ALTER ROLE
postgres=# 

4、退出 PostgreSQL 命令行和 “postgres” 用户:

## 退出命令行
\q

## 退出postgres用户
exit

postgres=# \q
bash-4.2$ exit
exit

5、连接到 PostgreSQL 数据库(默认端口5432):

psql -h localhost -p 5432 -U postgres

在这里插入图片描述

5、配置 PostgreSQL 允许远程登录

通常情况下,postgresql.conf 文件位于 /var/lib/pgsql/15/data/ 下面。

1、修改 postgresql.conf 文件:

找到 postgresql.conf 中的 listen_addresses 配置项,并将其设置为 ‘*’,以允许来自任何 IP 地址的连接。如果希望只允许特定IP地址的连接,将其设置为相应的IP地址即可。

cd /var/lib/pgsql/15/data/


vim postgresql.conf 

##添加一行或修改
listen_addresses ='*'

在这里插入图片描述
2、修改 pg_hba.conf 文件:

找到并编辑 pg_hba.conf 文件,该文件用于设置客户端认证规则。

cd /var/lib/pgsql/15/data/

vim pg_hba.conf

在 pg_hba.conf 文件中,添加一条允许远程连接的规则。例如,可以添加以下规则以允许所有IP地址的所有用户通过密码进行连接:

host    all             all             0.0.0.0/0               scram-sha-256

在这里插入图片描述

6、修改 PostgreSQL 默认端口

1、编辑 postgresql.conf 文件:

在文件中找到 port = 5432 这一行(默认端口为5432),将其修改为想要的新端口号,例如 port = 5433。

vim postgresql.conf

在这里插入图片描述

2、重启 PostgreSQL 服务:

重启 PostgreSQL 服务使配置生效。

sudo systemctl restart postgresql-15

7、创建数据库和表、远程用户zyl

1、创建数据库

[root@zyl-server data]# psql -h localhost -p 5433 -U postgres
Password for user postgres: 
psql (15.6)
Type "help" for help.

postgres=# CREATE DATABASE db_pg01;
CREATE DATABASE
postgres=# 

2、创建新用户,并设置密码:

CREATE USER zyl WITH ENCRYPTED PASSWORD 'zyl@2024';


-- 授予用户 zyl 对数据库 db_pg01 的所有权限
GRANT ALL PRIVILEGES ON DATABASE db_pg01 TO zyl;

-- 授予用户 zyl 对表 users 的所有权限
GRANT ALL PRIVILEGES ON TABLE users TO zyl;

3、创建表、插入数据:

## 连接到db_pg01数据库

postgres=# \c db_pg01;
You are now connected to database "db_pg01" as user "postgres".
db_pg01=# 

##创建表、插入数据

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50),
    age INT
);

INSERT INTO users (name, age) VALUES ('Alice', 25);
INSERT INTO users (name, age) VALUES ('Bob', 30);
INSERT INTO users (name, age) VALUES ('Charlie', 28);
INSERT INTO users (name, age) VALUES ('David', 35);
INSERT INTO users (name, age) VALUES ('Eve', 22);

在这里插入图片描述

8、pgAdmin远程访问该数据库(db_pg01)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


💖The End💖点点关注,收藏不迷路💖

http://www.niftyadmin.cn/n/5444201.html

相关文章

服务器数据恢复—光纤环境互斥不当导致存储VMFS卷损坏的数据恢复案例

服务器数据恢复环境&故障: 某公司的信息管理平台,通过3台虚拟机共享了一台存储设备供企业内部使用,存储设备中存放了公司内部重要的数据文件。 由于业务增长的需要,管理员又在这个存储网络上连接了一台Windows server服务器&a…

Unity学习笔记 6.2D换帧动画

下载源码 UnityPackage 目录 1.导入图片 1.1. 图片的叠放顺序 2.图片切片 3.用动画控制器让马🐎动起来 1.导入图片 直接拖拽进场景 检查 Texture Type(纹理类型)是否为 Sprite 创建2D精灵对象,拖拽图片到Sprite&#xff08…

odoo扩展导出pdf功能

1. 说明: odoo原生导出功能扩展导出pdf文件功能, 如有额外需求请联系博主 2. 版本说明: odoo版本: odoo15 其他odoo版本未进行测试,如有需要自行测试 3. 地址: 该补丁代码放在github仓库, 地址: https://github.com/YSL-Alpaca/odoo_export_pdf 4. 改补丁依赖于第三方软件wkh…

python学习之if判断

条件语句 1、什么是条件语句 Python 条件语句跟其他语言基本一致的,都是通过一条或多条语句的执行结果( True 或者 False )来决定执行的代码块。 Python 程序语言指定任何非 0 和非空(null)值为 True,0 …

Java项目基于Docker打包发布

1.打包应用 mvn clean package -DskipTests 或者 2.新建dockerfile FROM openjdk:8 #设置工作目录 WORKDIR /opt#COPY wms-app-0.0.1-SNAPSHOT.jar /wms-app/app.jar ADD wms-app-0.0.1-SNAPSHOT.jar app.jar #配置容器暴露的端口 写EXPOSE 是为了防止写-P时匹配不上 …

动态规划 Leetcode 123 买卖股票的最佳时机III

买卖股票的最佳时机III Leetcode 121 学习记录自代码随想录 要点:1.需要想清楚每天有四种状态,持有第一支股票-不持有第一支股票-持有第二支股票-不持有第二支股票,从而明确出dp数组的定义; 2.递推公式想到对每个状态分别做递归…

Power BI ----SVG(圆环图)

圆环图助力矩阵图 定义度量值放置视觉对象 SVG是什么鬼,在现在的Web世界中越来越凸显这一标准的优势。关于SVG,我们只需要知道一点就好 ---- SVG 意为可缩放矢量图形(Scalable Vector Graphics)。它是使用 XML 格式定义的图像。 由…

数据结构万字总结(超级详细)第二章——线性表

线性表 定义 线性表是具有相同数据类型的n(n≥0)个数据元素的有限 序列 特点 除第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅 有一个直接后继 操作 初始化、增、删、查、改、销毁 元素…