程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

统信UOS服务器操作系统离线安装postgresql数据库

balukai 2025-02-06 13:59:28 文章精选 6 ℃

原文链接:统信UOS服务器离线安装postgresql数据库

Hello,大家好啊!今天给大家带来一篇关于在统信UOS服务器操作系统上离线安装PostgreSQL数据库的文章。PostgreSQL是一款功能强大的开源对象-关系型数据库管理系统。由于某些环境中无法直接访问互联网,本文将详细介绍如何在离线环境下安装PostgreSQL数据库。欢迎大家分享转发,点个关注和在看吧!

1.查看系统信息

[root@pdsyw ~]# cat /etc/os-version
[root@pdsyw ~]# uname -a

2.在互联网机查找包

[root@pdsyw ~]# dnf search postgresql-13

为了运行PostgreSQL数据库服务器,您主要需要安装以下两个包:

postgresql-13

postgresql-13-server

这两个包包括运行PostgreSQL服务器所需的基本组件和客户端程序。

其他包是可选的,根据您的需求可以选择性安装:

postgresql-13-contrib:包含一些额外的模块和扩展,可以增强PostgreSQL的功能。

postgresql-13-docs:包含PostgreSQL的额外文档。

postgresql-13-llvmjit:支持即时编译(JIT)功能。

postgresql-13-plperl:支持在PostgreSQL中使用Perl语言编写存储过程。

postgresql-13-plpython3:支持在PostgreSQL中使用Python 3编写存储过程。

postgresql-13-pltcl:支持在PostgreSQL中使用Tcl语言编写存储过程。

postgresql-13-server-devel:包含PostgreSQL开发所需的头文件和库。

postgresql-13-static:包含静态链接的PostgreSQL库。

postgresql-13-test:PostgreSQL的测试套件。

postgresql-13-test-rpm-macros:在构建时用于测试PostgreSQL服务器的方便RPM宏。

3.下载离线包

[root@pdsyw ~]# dnf download postgresql-13 postgresql-13-server
Last metadata expiration check: 0:09:45 ago on 2024年07月11日 星期四 19时54分35秒.
(1/2):
postgresql-13-13.3-3.uel20 1.3 MB/s | 1.6 MB 00:01

(2/2):
postgresql-13-server-13.3- 937 kB/s | 5.4 MB 00:05

[root@pdsyw ~]# ls | grep post

postgresql-13-13.3-3.uel20.02.x86_64.rpm


postgresql-13-server-13.3-3.uel20.02.x86_64.rpm

[root@pdsyw ~]#

4.安装插件

[root@pdsyw ~]# dnf install -y dnf-plugins-core

5.现在依赖包

[root@pdsyw ~]# dnf download --resolve postgresql-13 postgresql-13-server

6.打包离线包

[root@pdsyw ~]# tar zcvf postgresql-13.tar.gz postgresql-13-*

postgresql-13-13.3-3.uel20.02.x86_64.rpm


postgresql-13-server-13.3-3.uel20.02.x86_64.rpm

[root@pdsyw ~]# ll postgresql-13.tar.gz
-rw-r--r-- 1 root root 7288897 7月 11 20:07 postgresql-13.tar.gz
[root@pdsyw ~]#

7.在内网机解压

[root@pdsyw ~]# tar zxvf postgresql-13.tar.gz
postgresql-13-13.3-3.uel20.02.x86_64.rpm
postgresql-13-server-13.3-3.uel20.02.x86_64.rpm
[root@pdsyw ~]# ls | grep postgresql-13-
postgresql-13-13.3-3.uel20.02.x86_64.rpm
postgresql-13-server-13.3-3.uel20.02.x86_64.rpm
[root@pdsyw ~]#

8.在内网机安装

[root@pdsyw ~]# dnf install -y *.rpm

9.查找PostgreSQL安装路径

[root@pdsyw ~]# rpm -ql postgresql-13-server | grep bin
/usr/bin/initdb
/usr/bin/pg_basebackup
/usr/bin/pg_checksums
/usr/bin/pg_controldata
/usr/bin/pg_ctl
/usr/bin/pg_receivewal
/usr/bin/pg_recvlogical
/usr/bin/pg_resetwal
/usr/bin/pg_rewind
/usr/bin/pg_verifybackup
/usr/bin/postgres
/usr/bin/postgresql-setup
/usr/bin/postgresql-upgrade
/usr/bin/postmaster
/usr/sbin/postgresql-new-systemd-unit
[root@pdsyw ~]#

10.初始化数据库

[root@pdsyw ~]# /usr/bin/postgresql-setup initdb
WARNING: using obsoleted argument syntax, try --help
WARNING: arguments transformed to: postgresql-setup --initdb --unit postgresql
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
[root@pdsyw ~]#

11.启用并启动服务

[root@pdsyw ~]# systemctl enable postgresql
[root@pdsyw ~]# systemctl start postgresql
[root@pdsyw ~]# systemctl status postgresql

12.切换用户

[root@pdsyw ~]# su - postgres

13.设置用户密码

[postgres@pdsyw ~]$ psql
psql (13.3)
输入 "help" 来获取帮助信息.
postgres=# \password postgres
输入新的密码:
再次输入:
postgres=# \q
[postgres@pdsyw ~]$

14.创建数据库及用户

[postgres@pdsyw ~]$ psql
psql (13.3)
输入 "help" 来获取帮助信息.
postgres=# create database pdsywdatabase;
CREATE DATABASE
postgres=# create user pdsyw with encrypted password 'pdsyw';
CREATE ROLE
postgres=# grant all privileges on database pdsywdatabase to pdsyw;
GRANT
postgres=# \q
[postgres@pdsyw ~]$

15.查找身份验证配置文件

[postgres@pdsyw ~]$ psql -c "SHOW hba_file;"
hba_file

---------------------------------


/var/lib/pgsql/data/pg_hba.conf

(1 行记录)
[postgres@pdsyw ~]$

16.修改身份验证配置文件

默认情况下,PostgreSQL使用对等身份验证,这意味着系统用户和数据库用户必须匹配。刚刚配置的用户密码将会无法登录,报对等认证失败错误。需要将文件中的peer及ident改为md5,这样会使用密码认证。

[postgres@pdsyw ~]$ vim /var/lib/pgsql/data/pg_hba.conf
[postgres@pdsyw ~]$
[postgres@pdsyw ~]$ tail -13 /var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all md5
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
[postgres@pdsyw ~]$

17.重启服务

[root@pdsyw ~]# systemctl restart postgresql.service
[root@pdsyw ~]# systemctl status postgresql.service

18.登录用户创建表

[postgres@pdsyw ~]$ psql -U pdsyw -d pdsywdatabase
用户 pdsyw 的口令:
psql (13.3)
输入 "help" 来获取帮助信息.
pdsywdatabase=> CREATE TABLE employees (
pdsywdatabase(> id SERIAL PRIMARY KEY,
pdsywdatabase(> name VARCHAR(100),
pdsywdatabase(> position VARCHAR(100),
pdsywdatabase(> salary NUMERIC
pdsywdatabase(> );
CREATE TABLE
pdsywdatabase=> INSERT INTO employees (name, position, salary) VALUES
pdsywdatabase-> ('John Doe', 'Manager', 60000),
pdsywdatabase-> ('Jane Smith', 'Developer', 55000);
INSERT 0 2
pdsywdatabase=>
pdsywdatabase=> SELECT * FROM employees;
id | name | position | salary
----+------------+-----------+--------
1 | John Doe | Manager | 60000
2 | Jane Smith | Developer | 55000
(2 行记录)
pdsywdatabase=> \q
[postgres@pdsyw ~]$

19.查询配置文件

[postgres@pdsyw ~]$ psql -c "SHOW config_file;"
用户 postgres 的口令:
config_file

-------------------------------------


/var/lib/pgsql/data/postgresql.conf

(1 行记录)
[postgres@pdsyw ~]$

20.修改监听地址

[postgres@pdsyw ~]$ vim /var/lib/pgsql/data/postgresql.conf
[postgres@pdsyw ~]$
[postgres@pdsyw ~]$ grep listen /var/lib/pgsql/data/postgresql.conf
#listen_addresses = 'localhost' # what IP address(es) to listen on;
listen_addresses = '*' # what IP address(es) to listen on;
[postgres@pdsyw ~]$

21.允许整个子网连接

[postgres@pdsyw ~]$ vim /var/lib/pgsql/data/pg_hba.conf
[postgres@pdsyw ~]$
[postgres@pdsyw ~]$ tail -14 /var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all md5
host replication all 127.0.0.1/32 md5
host replication all ::1/128 md5
[postgres@pdsyw ~]$

22.重启服务

[root@pdsyw ~]# systemctl restart postgresql.service
[root@pdsyw ~]# systemctl status postgresql.service

23.开放防火墙端口

[root@pdsyw ~]# firewall-cmd --permanent --add-port=5432/tcp
success
[root@pdsyw ~]# firewall-cmd --reload
success
[root@pdsyw ~]#

24.查看ip地址

[root@pdsyw ~]# ip a

25.远程客户端连接

pdsyw@pdsyw-PC:~/Desktop$ psql -h 192.168.80.5 -U pdsyw -d pdsywdatabase
用户 pdsyw 的口令:
psql (11.22 (Debian 11.22.0.3-deepin3), 服务器 13.3)
警告:psql 主版本11,服务器主版本为13.
一些psql功能可能无法正常使用.
输入 "help" 来获取帮助信息.
pdsywdatabase=>

通过本文的介绍,您应该已经掌握了在统信UOS服务器操作系统上离线安装PostgreSQL数据库的方法。从下载软件包、传输和安装,到配置和验证,完整地展示了整个流程。如果您觉得这篇文章有用,请分享和转发。同时,别忘了点个关注和在看,以便未来获取更多实用的技术信息和解决方案。感谢大家的阅读,我们下次再见!

最近发表
标签列表