PostgreSQL源码安装

news2025/1/18 3:17:54

文章目录

  • 一、先决条件检查
  • 二、源码安装
    • 1、获取源代码
    • 2、编译安装
      • 1.运行 configure
      • 2.运行make
    • 3、PostgreSQL的配置
    • 4、安装contrib目录下的工具
  • 三、初始化数据库
    • 1、创建数据库管理员
    • 2、创建数据库实例
    • 3、启动和停止数据库
    • 4、设置数据库密码
  • 四、PostgreSQL的简单配置
    • 1、pg_hba.conf 的配置
    • 2、postgresql.conf 的配置
    • 3、数据库日志相关参数

一、先决条件检查

根据官方文档内容,我门将进行一些检查,以便能够正确安装
在这里插入图片描述

make --version

在这里插入图片描述

二、源码安装

1、获取源代码

官网链接
在这里插入图片描述
选择需要的版本,这里我使用14.10
在这里插入图片描述
下载包,并上传到服务器上

2、编译安装

1.运行 configure

tar xvf postgresql-14.10.tar

在这里插入图片描述

cd postgresql-14.10/

在这里插入图片描述

./configure --prefix=/usr/local/pgsql14.10 --with-perl --with-python

在这里插入图片描述
可以看到缺少readline包

yum -y install -y readline-devel

在这里插入图片描述
再次执行先决检查,通过
在这里插入图片描述

2.运行make

编译安装的“第二板斧”是make命令,该命令比较简单,直接运行即可

make

在这里插入图片描述

sudo make install

在这里插入图片描述

前面我们看到–prefix设置的路径为“/usr/local/pgsql14.10”,如果不进行设置,默认的路径将是“/usr/local”,为什么要在此路径上加上PostgreSQL的版本号呢?这是为了方便升级。make install命令运行完成后,还要进入“/usr/local”目录,为“/usr/local/pgsql16.2”建立一个/usr/local/pgsql链接:

cd /usr/local
sudo ln -sf /usr/local/pgsql14.10 /usr/local/pgsql

在这里插入图片描述

3、PostgreSQL的配置

配置环境变量并设置共享库

export PATH=/usr/local/pgsql/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/pgsql/lib

如果想让以上配置对所有的用户生效,可以把以上内容添加到/etc/profile文件中

vim /etc/profile

在这里插入图片描述

source /etc/profile

4、安装contrib目录下的工具

contrib下有一些工具比较实用,一般用户都会安装这些工具,其安装的方法也与Linux下的编译过程相同,安装命令如下:

cd /root/postgresql-14.10/contrib
make
sudo make install

在这里插入图片描述

三、初始化数据库

1、创建数据库管理员

# 使用useradd命令创建用户(pg默认是postgres,但若还有其他类型数据库,个人为了方便管理统一用mydba)
sudo useradd mydba
#设置密码
sudo passwd mydba
# 系统将提示你输入密码,输入后按Enter键确认,再次输入以确认密码

# 若要赋予该用户sudo权限(可选,取决于你希望mydba用户是否具有管理员权限)
sudo usermod -aG wheel mydba  # 对于使用wheel组的系统

# 确认用户和组信息已生效
id mydba

2、创建数据库实例

添加并修改目录权限

mkdir -p /home/mydba/pgdata
chown -R mydba:mydba /home/mydba/
chmod -R 700 /home/mydba/
# 将目录权限设置为700,这意味着仅属主(这里是postgres用户)有权读取、写入和执行目录内的内容,其他用户无权访问,这是出于数据库安全性的考虑。

首先设定数据库的数据目录的环境变量:

echo 'export PGDATA=/home/mydba/pgdata' >> /etc/profile
source /etc/profile

然后执行下面的命令创建数据库簇:

su mydba
initdb

在这里插入图片描述
至此,数据库实例的创建就完成了。

3、启动和停止数据库

启动数据库的命令如下:

pg_ctl start -D $PGDATA

在这里插入图片描述
其中,环境变量“PGDATA”指向具体的PostgreSQL数据库的数据目
录,示例如下:

pg_ctl start -D /home/mydba/pgdata

停止数据库的命令如下:

pg_ctl stop -D $PGDATA [-m SHUTDOWN-MODE]

在这里插入图片描述
较常用的关闭数据库的方法是fast模式

4、设置数据库密码

PostgreSQL的默认用户名通常是postgres(我这里用的是osdba),但并没有默认密码。在首次安装PostgreSQL时,系统不会自动生成一个默认密码,而是需要你在安装后手动设置。

在很多Linux发行版中,安装完成后,作为超级用户(如root)可以通过以下步骤为mydba用户设置密码:

sudo -u mydba psql -d postgres
# 进入psql命令行后,可以执行以下命令设置密码
ALTER USER mydba WITH PASSWORD '123';
\q

在这里插入图片描述

四、PostgreSQL的简单配置

PostgreSQL数据库的配置主要是通过修改数据目录下的 postgresql.conf和pg_hba.conf 文件来实现的。

1、pg_hba.conf 的配置

默认创建的数据库无法接受远程连接,因为默认情况下pg_hba.conf中没有相应的配置项。我们可以在pg_hba.conf文件中加入以下命令行:

vim pg_hba.conf

#该命令允许任何用户远程连接本数据库,连接时需要提供密码。
host    all     all             0/0                 md5

pg_hba.conf文件是一个黑白名单的访问控制文件,可以控制允许哪些IP地址的机器访问数据库。

2、postgresql.conf 的配置

修改监听的IP和端口
在数据目录下编辑 postgresql.conf 文件,找到如下内容:

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
#port = 5432                            # (change requires restart)

其中,参数“listen_addresses”表示监听的IP地址,默认是在“localhost”处监听,也就是在IP地址“127.0.0.1”上监听,这会造成远程主机无法登录该数据库,如果想从其他机器上登录该数据库,需要把监听地址改成实际网络的地址,一种简单的方法是把地址改成“*”,表示在本地的所有地址上监听,命令如下:

listen_addresses = '*'         # what IP address(es) to listen on;
#port = 5432                            # (change requires restart)

参数“port”表示监听的数据库端口,默认为“5432”,可以使用默认设置。如果一台机器上安装了多个数据库实例(如安装了多个不同版本的PostgreSQL),可以设置为不同的端口。
对于这两个参数的修改,需要重启数据库才能生效。

3、数据库日志相关参数

还是在 postgresql.conf ,下面来看看与日志相关的几个参数:
日志的收集一般是需要打开的,所以需要进行如下设置:

logging_collector = on

注意,在新版本的数据库中,以上参数默认已打开,如PostgreSQL10版本。
日志的目录一般使用默认值即可(旧版是 pg_log):

log_directory = 'log'                   # directory where log files are written,
                                        # can be absolute or relative to PGDATA

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1674621.html

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

相关文章

重新定义社交:Facebook的未来愿景与颠覆力量

在当今数字化社会中,Facebook作为全球最大的社交媒体平台,其未来愿景和颠覆力量备受关注。本文将深入探讨Facebook如何重新定义社交,以及其未来发展中的新趋势和影响。 1. 智能化社交体验 Facebook致力于利用人工智能技术提供更智能、个性化…

智慧公厕的未来价值分析和创新设计

智慧公厕正在逐渐成为现代城市建设的重要组成部分。通过全面的数据云端化和自动化技术,智慧公厕实现了高效的数据分析和协作,提升了运行效率和管理水平。未来,智慧公厕将以“景厕融合”的目标发展,结合前沿科技和创新设计&#xf…

数据仓库作业六:第9章 分类规则挖掘

目录 第9章 分类规则挖掘第一题第二题第三题第四题 第9章 分类规则挖掘 第一题 1、设网球俱乐部有打球与气候条件的历史统计数据如下表1所示。它有“天气”、“气温”、“适度”和“风力”4个描述气候的条件属性,类别属性为“是”与“否”的二元取值,分…

【八大排序算法】插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序、计数排序

文章目录 一、排序的相关概念二、排序类型三、排序算法实现插入排序1.直接插入排序2.希尔排序 选择排序3.简单选择排序4.堆排序 交换排序5.冒泡排序6.快速排序递归实现非递归实现 7.归并排序递归实现非递归实现 8.计数排序 四、总结 一、排序的相关概念 排序:根据数…

护照OCR识别接口如何对接

护照OCR识别接口也叫护照文字识别OCR,指的是传入护照照片,精准识别静态护照图像上的文字信息,包括姓名、签发地点、签发机关、护照号码、签发日期等信息。那么护照文字识别OCR接口如何对接呢? 首先我们找到一家有护照OCR识别接口的服务商数脉…

618购物狂欢,爆款清单来袭!这些好物你绝对不能错过!

一年一度的618购物狂欢,无疑是每年消费者们翘首以盼的盛大节日。每到618,各大电商平台纷纷推出诱人的优惠活动,琳琅满目的商品让人眼花缭乱。在这个充满惊喜与期待的时刻,我们为您精心挑选了一份爆款清单,这些好物不仅…

java02

泛型 泛型&#xff1a;编译时检查类型是不是正确&#xff0c;减少类型转换造成的错误。 代码复用性提升。 1.泛型类 T是类型形参&#xff0c;创建对象时传入类型实参。 如果不指定类型&#xff0c;按照object类型处理。不支持基本数据类型。 class Student<T>{ pr…

【C++】 类的新成员:static成员和类的好朋友:友元

欢迎来到CILMY23的博客 &#x1f3c6;本篇主题为&#xff1a; 类的新成员&#xff1a;static成员和类的好朋友&#xff1a;友元 &#x1f3c6;个人主页&#xff1a;CILMY23-CSDN博客 &#x1f3c6;系列专栏&#xff1a;Python | C | C语言 | 数据结构与算法 | 贪心算法 | Li…

【数据分析面试】43.寻找给小费最多的客人(Python:字典用法)

题目&#xff1a; 寻找给小费最多的客人 &#xff08;Python) 给定两个非空列表user_ids和tips&#xff0c;编写一个名为most_tips的函数&#xff0c;用于找到给小费最多的客户。 示例&#xff1a; 输入&#xff1a; user_ids [103, 105, 105, 107, 106, 103, 102, 108, 1…

利用香港多IP服务器优化网站访问速度的关键策略?

利用香港多IP服务器优化网站访问速度的关键策略? 随着数字化时代的不断发展&#xff0c;网站的全球访问速度成为企业吸引用户、提升竞争力的重要因素。特别对于跨国企业而言&#xff0c;如何确保全球用户都能享受到稳定快速的访问体验显得尤为重要。在这一背景下&#xff0c;…

MySQL文档_下载

可能需要&#xff1a;MySQL下载–》更新版本–》迁移数据库到MySQL 以下都不重要【只要确定好需要安装版本&#xff0c;找到对应的版本下载&#xff0c;安装&#xff0c;设置即可】 下载、安装&#xff1a; Determine whether MySQL runs and is supported on your platform…

【TOP-CCF】影响因子8.0-9.0,仅4天见刊!1区,国人友好,稳定检索32年

本周投稿推荐 SSCI • 2区社科类&#xff0c;3.0-4.0&#xff08;社科均可&#xff09; EI • 计算机工程类&#xff08;接收广&#xff0c;录用极快&#xff09; SCI&EI • 4区生物医学类&#xff0c;1.5-2.0&#xff08;录用率99%&#xff09; • 1区工程类&#…

在线caj转换成pdf免费吗?caj变成pdf很容易!点进来!

在数字化阅读日益盛行的今天&#xff0c;各种电子文献格式层出不穷&#xff0c;其中CAJ和PDF无疑是两种最为常见的格式。CAJ是中国知网推出的一种专用全文阅读格式&#xff0c;而PDF则因其跨平台、不易被修改的特性&#xff0c;受到了广大读者的青睐。因此&#xff0c;将CAJ格式…

C语言中的混合运算

1 混合运算 类型强制转换场景 整型数进行除法运算时&#xff0c;如果运算结果为小数&#xff0c;那么存储浮点数时一定要进行强制转换。例子&#xff1a; #include <stdio.h> //运算强制转换 int main(void) {int i5;//整型float ji/2;//这里做的是整型运算&#xff0…

clion设置中文和背景图片以及破解

1.效果如下 2.下载最新版clion window下的clion下载 第一个exe和第二个zip都行&#xff0c;推荐exe具体安装不解释&#xff0c;请参考其他教程 3.汉化 英语观看不方便&#xff0c;可以使用插件汉化。在设置》插件&#xff08;plugins&#xff09;>Marketplace下的Chine…

EFCore_创建项目

添加依赖 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Tools(Migration工具) 根据使用的DB添加对应依赖&#xff1a; SQL Server&#xff1a;Microsoft.EntityFrameworkCore.SqlServer 添加该依赖时可不添加Microsoft.EntityFrameworkCore&#xff0c;该依…

肺部营养“救星”,让每次呼吸更自由

​#肺科营养#朗格力#班古营养#复合营养素#肺部营养# 正常的健康人,每天自由幸福的呼吸。但是对于肺病患者来说,特别是慢阻肺人群,每一次呼吸都可能是一场挑战,每一口气都显得弥足珍贵。 肺病患者号称沉默的“呼吸杀手”,它虽然沉默,但不代表它没能力,除了引起肺功能下降,氧气…

工业无风扇计算机的优点

无风扇计算机往往采用紧凑且密封的外形&#xff0c;使其坚固耐用&#xff0c;使其能够在需要现场工程师进行维护之前承受恶劣的环境数年。机载移动部件较少或没有移动部件会降低组件无法按预期运行的可能性&#xff0c;或者更糟糕的是发生故障和损坏。采用工业组件和较低的散热…

rabbitmq交换机,死信队列的简单例子

假设我们有一个场景&#xff0c;生产者有消息发到某个直连交换机&#xff0c;这个交换机上有两个队列分别存储两种类型的消息&#xff0c;但是与这两个队列相连的消费者太不争气了&#xff0c;处理消息有点慢&#xff0c;我们想5秒钟这个消息在队列中还没有被消费的话&#xff…

初识java——javaSE(4)类与对象

文章目录 前言一 类与对象1.1 面向过程与面向对象思想的区别&#xff1a;1.2 类的定义1.3 类的实例化——对象通过创建对象&#xff0c;调用对象中的成员变量与方法 1.4 this关键字this的作用一&#xff1a;this 的作用二构造方法&#xff1a;对象创建的两步方法的重载 this的作…