当前位置: 首页 > news >正文

Linux安装单机PostgreSQL15.4

1. 联网rpm安装

1.1.关闭服务

## 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
## 关闭 selinux
cat /etc/selinux/config
SELINUX=disabled

1.2.安装yum源

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

1.3.安装PostgreSQL

yum install -y postgresql15-server

1.4.初始化数据库

/usr/pgsql-15/bin/postgresql-15-setup initdb

1.5.启动数据库

systemctl enable postgresql-15
systemctl start postgresql-15

1.6.查看PostgreSQL是否安装

## 检查 PostgreSQL 是否已安装
rpm -qa | grep postgres## 查看 PostgreSQL 安装位置
rpm -qal | grep postgres

2. 离线rpm安装

2.1.下载rpm安装包

## 下载地址
https://yum.postgresql.org/15/redhat/rhel-7-x86_64/repoview/## 例如下载postgreSQL 15.4
libzstd-1.5.5-1.el7.x86_64.rpm
postgresql15-libs-15.4-1PGDG.rhel7.x86_64.rpm
postgresql15-15.4-1PGDG.rhel7.x86_64.rpm
postgresql15-server-15.4-1PGDG.rhel7.x86_64.rpm

2.2.初始化数据库

/usr/pgsql-15/bin/postgresql-15-setup initdb

2.3.启动数据库

systemctl enable postgresql-15.service
systemctl start postgresql-15.service
systemctl status postgresql-15.service

2.4.rpm安装注意事项

## 默认情况下,数据目录位置:/var/lib/pgsql/<version>/data## 默认创建 postgres 的 Linux 登录用户,用于连接数据库
[root@pg01 ~]# su - postgres
-bash-4.2$ psql
psql (15.4)
Type "help" for help.postgres=# \q  --退出

3. 源码编译安装

源码编译总体分为三个过程:配置(configure)、编译(make)、安装(make install)。

3.1.下载源码包

## 下载地址
https://www.postgresql.org/ftp/source/v15.4/## 例如下载PostgreSQL 15.4
postgresql-15.4.tar.gz## 解压源码包
tar -zxvf postgresql-15.4.tar.gz

3.2.配置(configure)

## 先安装依赖包,在进行配置操作,不然后面检查会报错
yum install readline-devel zlib-devel -y## 开始配置
cd /tmp/pg_soft/postgresql-15.4
./configure --prefix=/pgsql15.4## 解释
--prefix:指定安装路径,将所有文件放置到该路径下

3.3.编译(make)

## make命令版本需要在gmake v3.8以上
make --version## 开始编译
cd /tmp/pg_soft/postgresql-15.4
make

3.4.安装(make install)

cd /tmp/pg_soft/postgresql-15.4
make install

3.5.创建数据目录和用户

## 用户
groupadd -g 1500 postgres
useradd -g 1500 -u 1501 postgres## 数据目录
mkdir -p /pgsql15.4/data
chown postgres:postgres -R /pgsql15.4

3.6.配置环境变量

vi /etc/profile
## 可执行文件位置
export PATH=/pgsql15.4/bin:$PATH
## 共享库位置
export LD_LIBRARY_PATH=/pgsql15.4/lib
## 数据目录
export PGDATA=/pgsql15.4/data

3.7.初始化数据库

注:必须使用非特权用户进行初始化。

su - postgres
cd /pgsql15.4/bin
initdb

3.8.启动/停止数据库

## 启动
pg_ctl -D /pgsql15.4/data start## 关闭
pg_ctl -D /pgsql15.4/data stop -m fast## 三种关闭模式
smart:等所有连接中止后,关闭数据库。如果客户端连接不终止,则无法关闭数据库。
fast:快速关闭数据库,断开客户端的连接,让已有的事务回滚,然后正常关闭数据库。相当于Oracle的imediate。
mmediate:立即关闭数据库,相当于数据库进程立即停止,直接退出,下次启动数据库需要进行恢复。相当于Oracle的abort。

3.9.安装contrib目录下的工具

## 以 basic_archive 归档模块为例
[root@postgresql postgresql-15.4]# ./configure
[root@postgresql postgresql-15.4]# cd contrib/basic_archive/
[root@postgresql basic_archive]# make
[root@postgresql basic_archive]# make install## 或手动将生成的.so文件复制到lib目录下
[root@postgresql basic_archive]# ll
total 48
-rw-r--r-- 1 1107 1107 10145 Aug  8 04:08 basic_archive.c
-rw-r--r-- 1 1107 1107   110 Aug  8 04:08 basic_archive.conf
-rw-r--r-- 1 root root 10528 Sep 26 13:32 basic_archive.o
-rwxr-xr-x 1 root root 14328 Sep 26 13:32 basic_archive.so
drwxrwxrwx 2 1107 1107    31 Aug  8 04:23 expected
-rw-r--r-- 1 1107 1107   639 Aug  8 04:08 Makefile
drwxrwxrwx 2 1107 1107    31 Aug  8 04:23 sql
[root@postgresql basic_archive]# cp basic_archive.so /pgsql15.4/lib/
[root@postgresql lib]# chown postgres:postgres basic_archive.so

4.安装后的配置

4.1.pg_hba.conf的配置

默认创建的数据库无法接受远程连接,因为默认情况下,pg_hba.conf中没有相应的配置项。

cd /pgsql15.4/data
vi pg_hba.conf
# IPv4 local connections:
host    all             all             0/0                     md5pg_hba.conf文件是一个黑白名单的访问控制文件,可以控制允许哪些IP地址的机器访问数据库。

4.2.修改监听的IP和端口

cd /pgsql15.4/data
vi postgresql.conf
#listen_addresses = 'localhost'
listen_addresses = '*'
#port = 5432## 解释
listen_addresses = 'localhost' 为本地监听,也就是127.0.0.1,会造成远程主机无法登录数据库。
port = 5432 默认的数据库端口,如果一台机器安装了多个实例,就可以设置不同的端口。以上两个参数,需要重启数据库才能生效

4.3.数据库日志相关参数

## 打开日志收集(默认off)
logging_collector = on
## 日志目录
log_directory = 'log'
## 参数修改方式(alter system set或postgresql.conf)
alter system set logging_collector = on;
alter system set log_truncate_on_rotation = on;vi postgresql.conf
logging_collector = on
log_directory = 'log'## 日志切换和是否覆盖的三种方案
(1)每天生成一个新的日志文件
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 1d
log_rotation_size = 0(2)每当日志写满一定的大小(如10M),则切换一个日志
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 0
log_rotation_size = 10M(3)只保留最近7天的日志,进行循环覆盖
log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on
log_rotation_age = 1d
log_rotation_size = 0

4.4. 内存参数

PostgreSQL安装完成后,可以修改以下主要的内存参数:

shared_buffer:共享内存的大小,主要用于共享数据块。默认值为32M。如果有足够的内存,可以设置为物理内存大小的四分之一。

work_mem:单个SQL执行时,以及排序、Hash Join时使用的内存,SQL运行完后,该内存就会被释放,默认为4M,work_mem设置大一些,会使排序操作效率更高。

对于一个复杂查询,可能会并行运行好几个排序或哈希操作,每个操作都会被允许使用这个参数指定的内存量,然后才会开始写数据到临时文件。

4.5.数据库状态查询

## 服务的运行状态和启动路径
pg_ctl status## 数据库运行状态
select state from pg_stat_activity where datname='postgres';

5.其他功能配置

5.1.如何使用较大的数据块(可选,一般默认即可)

如果要使用较大的数据块来提高I/O性能,只能在源码编译安装时,执行./configure脚本指定数据块的大小。

## 如指定32KB的数据块、WAL日志、64MB WAL日志文件大小
./configure --with-blocksize=32 --with-wal-blocksize=32 --with-wal-segsize=64

注:对于此时编译出来的PostgreSQL程序创建的PostgreSQL数据库,不能使用其他块大小的PostgreSQL程序启动。

5.2.Checksum功能(可选)

对于一些数据可靠性要求较高的场景,建议打开数据块的checksum校验功能。

通常用于校验数据在传输或存取过程中是否发生错误,以发现数据因磁盘、I/O损坏等原因造成的数据库异常。

开启checksum可能会对系统性能造成一定的影响。将为数据库中的所有对象计算校验和。

所有校验和失败都将在pg_stat_database视图中报告。

如果数据库较大,转换成checksum功能的数据库就需要比较长的一段时间,需要安排合理的停机时间。

## 检查是否打开checksum功能
此命令需要数据库处于关闭状态:
pg_checksums -c此命令在数据库开启状态可执行,0关闭,1打开:
pg_controldata -D /pgsql15.4/data |grep checksum## 打开checksum功能
初始化时:
initdb -k创建数据库后,先关闭数据库,然后打开该功能:
pg_checksums -e -P## 禁用checksum功能
pg_checksums -d

相关文章:

Linux安装单机PostgreSQL15.4

1. 联网rpm安装 1.1.关闭服务 ## 关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service ## 关闭 selinux cat /etc/selinux/config SELINUXdisabled1.2.安装yum源 yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-…...

最新 SpringCloud微服务技术栈实战教程 微服务保护 分布式事务 课后练习等

SpringCloud微服务技术栈实战教程&#xff0c;涵盖springcloud微服务架构Nacos配置中心分布式服务等 SpringCloud及SpringCloudAlibaba是目前最流行的微服务技术栈。但大家学习起来的感受就是组件很多&#xff0c;不知道该如何应用。这套《微服务实战课》从一个单体项目入手&am…...

Docker搭建MySQL8.0主从复制(一主一从)

0. 配置说明 宿主机使用的版本为19045的win10专业版&#xff0c;MySQL使用的是8.0&#xff0c;Docker容器使用Linux。 1. 安装Docker Desktop 略 修改Docker默认安装路径 安装包自己就提供了修改安装路径的功能&#xff0c;CMD中运行&#xff1a; “Docker Desktop Installe…...

40V汽车级P沟道MOSFET SQ4401EY-T1_GE3 工作原理、特性参数、封装形式—节省PCB空间,更可靠

AEC-Q101车规认证是一种基于失效机制的分立半导体应用测试认证规范。它是为了确保在汽车领域使用的分立半导体器件能够在严苛的环境条件下正常运行和长期可靠性而制定的。AEC-Q101认证包括一系列的失效机制和应力测试&#xff0c;以验证器件在高温、湿度、振动等恶劣条件下的可…...

记录在搭建Jenkins时,所遇到的坑,以及解决方案

项目场景&#xff1a; 记录在搭建Jenkins时,所遇到的坑,以及解决方案.问题描述1 在使用Jenkins构建时,报错如下&#xff1a; cp: cannot stat /project/xx/xxxx/dist/: No such file or directory Build step Execute shell marked build as failure Finished: FAILURE解决方…...

二极管“天马行空”的作用,你知道吗?

网友&#xff1a;二极管怎么有这么多种类呀&#xff1f; 工程师&#xff1a;二极管可以说除了电阻电容外用的比较多的一种元器件&#xff0c;起到的作用多着呢 那么二极管都可以起到哪些作用呢&#xff1a; 一、防反作用&#xff0c;主回路中串联一个二极管&#xff0c;是利用…...

鼎盛合:adc芯片的五种结构

随着国内消费电子产品、通信、工业自动化、汽车电子等行业的快速发展&#xff0c;对ADC芯片的需求不断增加&#xff0c;国内ADC芯片近年也在持续稳定地发展着。ADC种类多样&#xff0c;可分为单通道ADC、多通道ADC、高速ADC、精密ADC和集成ADC等&#xff0c;主要应用于医疗仪器…...

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http

文章目录 参考环境题目hello.php雾现User-Agent伪造 User-AgentHackBarHackBar 插件的获取修改请求头信息 雾散 a.php雾现本地回环地址与客户端 IP 相关的 HTTP 请求头X-Forwarded-For 雾散 参考 项目描述搜索引擎Bing、GoogleAI 大模型文心一言、通义千问、讯飞星火认知大模型…...

物联网AI MicroPython传感器学习 之 4路电容式触摸开关

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; 一、产品简介 板载TTP224电容式4键触摸感应IC&#xff0c;开发者通过触摸该电容模块获取对应的高低电平状态&#xff0c;可以广泛应用于灯光控制、玩具、家用电器等产品中。 引脚定义&#xff1a; VCC&…...

头戴式耳机什么牌子最好?头戴式耳机推荐性价比高

脖子上挎个头戴式作为随身装备&#xff0c;不仅给服装配饰添加了潮流感&#xff0c;还可以可以随时聆听音乐&#xff0c;随着广大消费者的生活水平不断提高&#xff0c;市面上的头戴式耳机越来越多。 选择头戴式耳机时无非就是听音质、看外观、舒适度等等&#xff0c;那么头戴…...

第 366 场周赛 LeetCode 周赛题解

A 分类求和并作差 模拟 class Solution { public:int differenceOfSums(int n, int m) {int res 0;for (int i 1; i < n; i)res i % m ! 0 ? i : -i;return res;} };B 最小处理时间 排序&#xff1a;设四个 p r o c e s s o r T i m e processorTime processorTime 的元…...

Linux: tcpdump抓包示例

文章目录 1. 前言2. TCP 状态机3. tcpdump 抓包示例3.1 抓连接握手包&#xff1a;三次握手3.2 抓数据包示例3.3 抓终结连接&#xff1a;四次挥手 4. 参考资料 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任…...

seafile server10.0.1 onlyoffice

目标&#xff1a;解决seafile server无法查看office相关文档问题 seafile server 已安装完成 安装onlyoffice 一、Install Docker Engine on Ubuntu 20.04 验证是否安装成功 sudo docker run hello-world 二、拉取onlyoffice/documentserver 镜像及安装 docker network cre…...

商城系统选型:Java商城系统还是PHP商城系统好?

电子商务的不断发展&#xff0c;商城系统成为了企业建设在线销售平台的重要组成部分。 可是在选择合适的商城系统时&#xff0c;许多企业面临着一个重要的决策&#xff1a;是选择Java商城系统还是PHP商城系统呢&#xff1f;下面就对这两种常见的商城系统进行比较&#xff0c;并…...

【多线程进阶】线程安全的集合类

文章目录 前言1. 多线程环境使用 ArrayList2. 多线程环境使用队列3. 多线程环境使用哈希表3.1 HashTable3.2 ConcurrentHashMap 总结 前言 本文主要讲解 Java 线程安全的集合类, 在之前学习过的集合类中, 只有 Vector, Stack, HashTable, 是线程安全的, 因为在他们的关键方法中…...

016 Spring Boot + Vue 图书管理系统

Spring Boot Vue 图书馆管理系统&#xff08;library-system&#xff09; 本地快捷预览项目 第一步&#xff1a;运行 db 文件夹下的springboot-vue.sql(询问作者获取)&#xff0c;创建springboot-vue数据库 第二步&#xff1a;修改后端数据库配置文件&#xff0c;启动后端 …...

C语言中volatile/register/const/static/extern/auto关键字的作用

目录 一、volatile 二、register详解 三、const详解 四、static详解 五、extern详解 语法 作用 六、auto详解 突然想总结一下这些关键字的作用&#xff0c;灵活使用这些对程序的可靠性和速率都有提高 一、volatile volatile是防止编译器优化&#xff0c;如果是高频繁…...

docker compose的安装和使用

docker-copose 介绍 docker-compose 是一个容器编排工具&#xff08;自动化部署、管理&#xff09;; 它用来在单台 Linux 服务器上运行多个 Docker 容器; docker-compose 使用YAML文件来配置所有需要运行的 Docker 容器&#xff0c;该 YAML 文件的默认名称为 docker-compose.…...

/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21‘ not found (required by

在某项目中遇到下面的错误&#xff0c; ./model2trt_v2: /lib64/libstdc.so.6: version GLIBCXX_3.4.21 not found (required by ./model2trt_v2) ./model2trt_v2: /lib64/libstdc.so.6: version GLIBCXX_3.4.21 not found (required by ../../../lib/linux_lib/libcuda_utils…...

数字化转型的必备工具:智能呼叫中心系统的应用

数字化转型已经成为企业发展的必然趋势&#xff0c;在这个过程中&#xff0c;智能呼叫中心系统成为了一个不可或缺的工具。智能呼叫中心系统通过整合各种通信渠道和自动化技术&#xff0c;为企业提供了高效、智能的客户服务解决方案。 首先&#xff0c;系统能够集成多种通信渠…...

macOS Sonoma 正式版系统已发布,macos14值得更新吗

北京时间9月27日macOS Sonoma 正式版系统发布&#xff0c;为 Mac 带来一系列丰富新功能&#xff1a;优化小组件、升级视频会议、沉浸式游戏体验等&#xff0c;最新macos14值得更新吗&#xff1f;这里根据我一个月的试用beta版本体验来分享一下。 我使用的是M1芯片的MacBook air…...

数据结构-图-最短路径问题

最短路径问题 单源最短路径Dijkstra算法原理代码实现 Bellman-Ford算法原理代码实现SPFA优化SPFA代码实现 多元最短路径Floyd-Warshall算法原理代码实现 单源最短路径 &#x1f680;最短路径&#xff1a;从图G的某个顶点出发到达另一个顶点的最短路径&#xff0c;其中最短是指…...

弹性资源组件elastic-resource设计(二)-集群

简介 弹性资源组件提供动态资源能力,是分布式系统关键基础设施,分布式datax,分布式索引,事件引擎都需要集群和资源的弹性资源能力,提高伸缩性和作业处理能力。 本文介绍弹性资源组件的设计,包括架构设计和详细设计,指导开发人员代码开发,设计基于《flink原理源码分析(一…...

Flink学习笔记(一):Flink重要概念和原理

文章目录 1、Flink 介绍2、Flink 概述3、Flink 组件介绍3.1、Deploy 物理部署层3.2、Runtime 核心层3.3、API&Libraries 层3.4、扩展库 4、Flink 四大基石4.1、Checkpoint4.2、State4.3、Time4.4、Window 5、Flink 的应用场景5.1、Event-driven Applications【事件驱动】5.…...

网络中的一些基本概念

数据共享本质是网络数据传输 &#xff0c;即计算机之间通过网络来传输数据&#xff0c;也称为 网络通信 。 根据网络互连的规模不同&#xff0c;可以划分为局域网和广域网。 局域网 LAN 局域网&#xff0c;即 Local Area Network &#xff0c;简称 LAN 。 Local 即标识了局…...

mysql中varchar长度为多少

一. varchar存储规则&#xff1a; 4.0版本以下&#xff0c;varchar(20)&#xff0c;指的是20字节&#xff0c;如果存放UTF8汉字时&#xff0c;只能存6个&#xff08;每个汉字3字节&#xff09; 5.0版本以上&#xff0c;varchar(20)&#xff0c;指的是20字符&#xff0c;无论存…...

python+selenium实现UI自动化(入门篇)

一、基础准备。 python环境安装&#xff0c;参考&#xff1a;CSDN pycharm安装&#xff0c;参考&#xff1a;CSDN 谷歌浏览器驱动配置&#xff0c;参考&#xff1a;CSDN二、新建pycharm项目 截图中&#xff0c;上面是项目地址&#xff08;可以提前在指定位置创建文件夹&#xf…...

深度学习基础知识 nn.Sequential | nn.ModuleList | nn.ModuleDict

深度学习基础知识 nn.Sequential &#xff5c; nn.ModuleList &#xff5c; nn.ModuleDict 1、nn.Sequential 、 nn.ModuleList 、 nn.ModuleDict 类都继承自 Module 类。2、nn.Sequential、nn.ModuleList 和 nn.ModuleDict语法3、Sequential 、ModuleDict、 ModuleList 的区别…...

【DevOps】搭建你的第一个 Docker 应用栈

搭建你的第一个 Docker 应用栈 1.Docker 集群部署2.第一个 Hello World2.1 获取应用栈各节点所需镜像2.2 应用栈容器节点互联2.3 应用栈容器节点启动2.4 应用栈容器节点的配置2.4.1 Redis Master 主数据库容器节点的配置2.4.2 Redis Slave 从数据库容器节点的配置2.4.3 Redis 数…...

软件测试职业生涯需要编写的全套文档模板,收藏这一篇就够了 ~

作为一名测试工程师&#xff0c;在整个的职业生涯中&#xff0c;会涉及到各种不同类型的文档编写&#xff0c;大体包括如下&#xff1a; 对应文档模板及文档编写视频如下&#xff1a; 一、测试岗位必备的文档 在一个常规的软件测试流程中&#xff0c;会涉及到测试计划、测试方…...

建设项目环保验收平台网站/百度图片搜索引擎

<% 先下载远程图片 url"http://www.webjx.com/images/logo.gif" 远程图片地址 savepath"D:\photo\" 保存路径 为文件重命名 randomize ranNumint(999*rnd) filenameyear(now)&month(now)&day (now)&hour(now)&minute(now)&s…...

网站举报网/电话营销外包公司

本文用于记录一个人肉运维的奋起之路系统层面系统组件&#xff1a;1、nginx&#xff08;单点或负载&#xff09;2、memcached&#xff08;只能单点&#xff09;3、rabbitmq&#xff08;单点&#xff09;4、php5、mysql&#xff08;主从&#xff09;6、mongodb&#xff08;主从&…...

江西省建设监督网站电子网/厦门seo搜索引擎优化

在纽约QCon大会上&#xff0c;WeWork的工程副总裁Randy Shoup做了题为“破译密码、设计飞机和建设团队”的演讲。他引用马克•吐温的名言“历史不会重演&#xff0c;但会惊人地相似”开始了他的演讲。他认为&#xff0c;纵观历史&#xff0c;最有效的团队一直专注于目标、组织文…...

wordpress 主题模版/哪里有网络推广

前文 Android 7.1 设置添加一级目录设置项 新增需求 新增一级项, 打开指定Activity, 如下图, 在系统下添加 定时开关机, 点击后, 打开指定app(非设置内部) 步骤 packages/apps/Settings/src/com/android/settings/Settings.java diff --git a/packages/apps/Settings/src/…...

福州网站制作培训/项目推广计划书

Android 中 Toast 的基本用法比较简单, 按照下面的文件复制运行即可. Toast 是一个消息提示组件 设置显示的位置 自定义显示内容 (示例: 添加一个图片) ToastUtil 类 ToastActivity 文件 package com.example.hello;import androidx.appcompat.app.AppCompatActivity;import an…...

汽车网站建设页面/乔拓云网站注册

android手机客户端在上传文件时&#xff0c;有时候会一直失败&#xff0c;其可能的原因是APN的设置。wap下的成功率极低&#xff0c;所以在进行文件上传时最好设置下apn为net形式。下面是我在网上找的一些代码&#xff0c;是由wap转net的&#xff0c;当然net转wap稍微修改下就可…...