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

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-15sudo 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用户
exitpostgres=# \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.mzph.cn/news/769679.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB环境下基于离散小波变换和主成分平均的医学图像融合方法

随着计算机技术和生物影像工程的日趋成熟,医学图像为医疗诊断提供的信息越来越丰富。目前,由于医学成像的设备种类繁多,导致医生获得的图像信息差异较大。如何把这些信息进行整合供医生使用成为当务之急。基于此,医学图像融合技术…

Rust 实战练习 - 8. 内存,ASM,外挂 【重磅】

目标&#xff1a; C写一个Demo版本的游戏由浅入深&#xff0c;了解外挂原理Linux/Android下实现内存读取ptrace实现内存修改&#xff08;依赖第三方库&#xff09; 先准备一个C写的小游戏 #include <stdio.h> #include <string.h>struct Role {float pos_x; // …

vue3+vite配置环境变量

1、创建环境变量文件&#xff1a;首先在vue3项目根目录创建.env.development 和 .env.prodution两个文件&#xff0c;分别为开发和生产环境&#xff08;必须.env.开头&#xff0c;需要额外环境&#xff0c;配置自定义的文件名称即可&#xff09; 2、在环境变量文件分别写对应…

Android内存优化项目经验分享 兼顾效率与性能

背景 项目上线一段时间后,回顾重要页面 保证更好用户体验及生产效率&#xff0c;做了内存优化和下载导出优化&#xff0c;具体效果如最后的一节的表格所示。 下面针对拍摄流程的两个页面 预览页 导出页优化实例进行介绍&#xff1a; 一.拍摄前预览页面优化 预览效果问题 存在…

试试前端自动化测试(基础篇)

众所周知的原因&#xff0c;前端作为一种特殊的 GUI 软件&#xff0c;做自动化测试困难重重。在快速迭代&#xff0c;UI 变动大的业务中&#xff0c;自动化测试想要落地更是男上加男 &#x1f436;。 近期的学习过程中&#xff0c;翻阅了众多前端自动化测试相关的文章&#xf…

【兆易创新GD32H759I-EVAL开发板】 关于LVGL 的内存配置

【兆易创新GD32H759I-EVAL开发板】拥有外部32MB的 SDRAM 在使用LVGL时 可以随意分配大小 但是我们也应该明白 所定义的内存大小的 的一些概念 LVGL中 有单独的 定义 LV_MEM_SIZE 定义内存大小 LVLG 中 在定义 显示程序 接口时 还需要用到 lv_disp_draw_buf_init() 分配显存…

MyBatis框架解析与优化

MyBatis 是一个半 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了 JDBC&#xff0c;开发时只需要关注 SQL 语句本身&#xff0c;不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。 什么是 MyBatis&#xff1f; MyBatis 是一个半…

【3D reconstruction 学习笔记】

三维重建 3D reconstruction 1. 相机几何针孔相机摄像机几何 2. 相机标定线性方程组的解齐次线性方程组的解非线性方程组的最小二乘解透镜相机标定带畸变的相机标定 3. 单视图重建2D平面上的变换3D空间上的变换单视测量无穷远点 无穷远线 无穷远平面影消点 影消线单视重构 4. 三…

天艺制盖邀您参观2024第七届世界燕窝及天然滋补品博览会

2024第七届世界燕窝及天然滋补品博览会 2024年8月7-9日| 上海新国际博览中心 上海燕博会 世界燕窝及天然滋补品展览会暨世界滋补产业生态发展大会&#xff08;简称上海燕博会&#xff09;&#xff0c;2017年创办于中国上海&#xff0c;是一年一度的世界燕窝滋补品行业盛会。…

宁波中墙建材施工过程中,如何确保陶粒复合砌块的垂直度和水平度符合要求?

宁波中墙建材陶粒复合砌块如何使用 确保陶粒复合砌块施工质量的建议&#xff1a; 基层处理&#xff1a;在施工前&#xff0c;确保基层干净、平整、坚固&#xff0c;去除表面的杂物和油污等。 砌块质量&#xff1a;选择质量好、尺寸规格一致的陶粒复合砌块&#xff0c;避免使用有…

【串口开发】android 智能设备开发 知识笔记

1.一般的波特率选择115200,自己玩的可以用9600等随便的 2.为了android方便操作,引入了 implementation com.licheedev:android-serialport:2.1.3包。 不然就得手写了,比如像这样 ,打开串口监听 // 打开串口boolean openSerialPort = mSerialPortManager.setOnOpenSerial…

每天一个数据分析题(二百二十八)

在超参数调参的各种方法中&#xff0c;贝叶斯优化搜索(Bayesian Optimization)是一种非常有效的方法。请问在贝叶斯搜索中&#xff0c;用于估计目标函数并为下一次迭代提供建议的模型是什么&#xff1f; A. 线性回归 B. 随机森林 C. 高斯过程 D. 神经网络 题目来源于CDA模…

vue js有哪些优点和缺点

Vue.js 是一个流行的前端 JavaScript 框架&#xff0c;用于构建用户界面和单页面应用。以下是 Vue.js 的一些主要优点和缺点&#xff1a; 优点&#xff1a; 轻量级和简洁&#xff1a;Vue.js 的核心库专注于视图层&#xff0c;并且非常轻量&#xff0c;这使得它可以很容易地与其…

java算法题每日多道六

138. 随机链表的复制 题目 给你一个长度为 n 的链表&#xff0c;每个节点包含一个额外增加的随机指针 random &#xff0c;该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成&#xff0c;其中每个新节点的值都设为其对…

JS异步操作

点击按钮触发onScan函数&#xff0c;函数调用扫描二维码这个异步操作后&#xff0c;需要扫描二维码的函数返回结果&#xff0c;可以用Promise来实现。Promise对象状态变为resolved&#xff08;成功&#xff09;或rejected&#xff08;失败&#xff09;&#xff0c;然后将解决&a…

运放PSRR与开关电源纹波分析的实际案例分享!

本文来自看海原创视频教程&#xff1a;《运放秘籍》运算放大器基础精讲及应用第一部*开天 微信公众号&#xff1a;工程师看海 【淘宝】https://m.tb.cn/h.5PAjLi7?tkvmMLW43KO7q CZ3457 「运放秘籍_运算放大器Multisim仿真视频教程第一部开天_工程师看海」 点击链接直接打开 …

前端逻辑错误或UI崩溃解决问题

全屏错误覆盖层或UI崩溃 VueReact&#xff08;错误边界&#xff09; Vue Vue的全屏错误覆盖层解决&#xff0c;其实只需要配置Error就好&#xff0c;在开发服务器的client.overlay中设置关闭全屏覆盖层 module.exports {devServer: {client: {overlay: {warnings: false,error…

安卓面试题多线程41-45

41. Java中都有哪些同步器?1.synchronized关键字   在Java中,使用synchronized关键字可以对代码块或方法进行同步,使得在同一时刻只有一个线程可以执行该代码块或方法。   下面是一个使用synchronized关键字同步的示例代码: public class SynchronizedExample {private…

Android下的Touch事件分发详解

文章目录 一、事件传递路径二、触摸事件的三个关键方法2.1 dispatchTouchEvent(MotionEvent ev)2.2 onInterceptTouchEvent(MotionEvent ev)2.3 onTouchEvent(MotionEvent event) 三、ViewGroup中的dispatchTouchEvent实现四、总结 在Android系统中&#xff0c;触摸事件的分发和…

k8s入门到实战(一)—— kubernetes概述

k8s 概述 k8s github地址&#xff1a;https://github.com/kubernetes/kubernetes 官方文档&#xff1a;https://kubernetes.io/zh-cn/docs/home/ k8s&#xff0c;全程是 kubernetes&#xff0c;这个名字源于希腊语&#xff0c;意为"舵手"或"飞行员” k8s 这…