Linux 在线yum安装: PostgreSQL 15.6数据库
- 1、PostgreSQL数据库简介
- 2、在线安装PostgreSQL15.6
- [3、配置 PostgreSQL的环境变量](#3、配置 PostgreSQL的环境变量)
- 4、使用默认用户登录PostgreSQL
- [5、配置 PostgreSQL 允许远程登录](#5、配置 PostgreSQL 允许远程登录)
- [6、修改 PostgreSQL 默认端口](#6、修改 PostgreSQL 默认端口)
- 7、创建数据库和表、远程用户zyl
- 8、pgAdmin远程访问该数据库(db_pg01)
|-----------------------------|
| 💖The Begin💖点点关注,收藏不迷路💖 |
1、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 包:
sql
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:
sql
sudo yum install -y postgresql15-server
3、可选:初始化数据库并设置自动启动:
sql
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 软件包的详细信息:
sql
rpm -qi postgresql15
在 PostgreSQL 中,默认情况下会创建一个名为 "postgres
" 的系统用户,用于管理 PostgreSQL 数据库服务。
3、配置 PostgreSQL的环境变量
1、编辑/etc/profile 配置文件:
sql
vim /etc/profile
2、在文件末尾添加以下行:
sql
export PATH=$PATH:/usr/pgsql-15/bin
3、保存并应用更改:
sql
source /etc/profile
4、验证配置是否成功:
运行 psql --version
命令来验证 PostgreSQL 是否已经配置到系统环境变量中。如果成功配置,将显示 PostgreSQL 的版本信息。
sql
psql --version
4、使用默认用户登录PostgreSQL
1、切换到 "postgres" 用户(默认不需要密码):
sql
[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 命令行界面:
sql
psql
3、修改 "postgres" 用户密码(postgres):
sql
postgres=# ALTER USER postgres WITH PASSWORD 'postgres';
ALTER ROLE
postgres=#
4、退出 PostgreSQL 命令行和 "postgres" 用户:
sql
## 退出命令行
\q
## 退出postgres用户
exit
postgres=# \q
bash-4.2$ exit
exit
5、连接到 PostgreSQL 数据库(默认端口5432):
sql
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地址即可。
sql
cd /var/lib/pgsql/15/data/
vim postgresql.conf
##添加一行或修改
listen_addresses ='*'
2、修改 pg_hba.conf 文件:
找到并编辑 pg_hba.conf
文件,该文件用于设置客户端认证规则。
sql
cd /var/lib/pgsql/15/data/
vim pg_hba.conf
在 pg_hba.conf 文件中,添加一条允许远程连接的规则。例如,可以添加以下规则以允许所有IP地址的所有用户通过密码进行连接:
sql
host all all 0.0.0.0/0 scram-sha-256
6、修改 PostgreSQL 默认端口
1、编辑 postgresql.conf 文件:
在文件中找到 port = 5432 这一行(默认端口为5432),将其修改为想要的新端口号,例如 port = 5433。
sql
vim postgresql.conf
2、重启 PostgreSQL 服务:
重启 PostgreSQL 服务使配置生效。
sql
sudo systemctl restart postgresql-15
7、创建数据库和表、远程用户zyl
1、创建数据库:
sql
[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、创建新用户,并设置密码:
sql
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、创建表、插入数据:
sql
## 连接到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💖点点关注,收藏不迷路💖 |