PostgreSQL_安装部署

一、Windows系统下安装

1.下载安装包

登录PostgreSQL: Downloads官网:

选择14.12版本,点击下载:

2.安装PostgrSQL14.12

双击exe安装包程序,准备安装:

选择安装路径:

选择想安装的工具:

选择数据存储路径:

设置超管密钥:

设置端口,一般是5432:

Locale建议使用C的本地化规则:

确认配置信息:

开始执行安装:

3.调整PostgreSQL配置
3.1pg_hba.conf 客户端身份验证规则配置

在pg_hba.conf文件中添加以下配置:

# postgres for localhost:
local   all             postgres                                scram-sha-256
host    all             postgres        127.0.0.1/32            scram-sha-256
host    all             postgres        0.0.0.0/0               reject
# remote connections:
host    all             all             0.0.0.0/0               scram-sha-256
3.2postgresql.conf 服务参数配置

在postgresql.conf中主要调整以下配置:

listen_addresses = '*' # 监听地址
port = 5432 # 端?号
max_connections = 1000 # 最?连接数
superuser_reserved_connections = 10 # 预留给超管?户的连接数
password_encryption = scram-sha-256 # 密码加密?式
shared_buffers = 1024MB # 允许使?的内存,通常设置为物理内存的25%
timezone = 'Asia/Shanghai' # 时区,根据实际项?地理位置修改
log_timezone = 'Asia/Shanghai' # ?志时区,根据实际项?地理位置修改
4.重启PostgreSQL服务

二、Linux系统下安装(以CentOS7为例)

1.安装依赖环境
yum install -y perl-devel  perl-ExtUtils-Embed systemd-devel readline-devel uuid-devel zlib-devel clang-devel llvm-devel perlExtUtils-Embed tcl-devel libicu-devel libxml2-devel libxslt-devel python-devel python3-devel gcc gcc-c++ llvm3.9-devel openssl-devel lz4-devel pam-devel openldap-devel cmake bison flex  
2.规划存储路径
mkdir /opt/pgsql/source -p # pgsql源码包存放路径
mkdir /opt/pgsql/extensions -p # pgsql插件存放路径
mkdir -p /mnt/data/pgsql/pgsql5432 # pgsql数据?录
mkdir -p /mnt/data/pgsql/backup/{backup-db,backup-tmp} # pgsql备份?录
3.PG环境配置
3.1创建用户和用户组、主目录
useradd -d /home/postgres -s /bin/bash -U -m postgres
3.2配置用户环境变量
cat >> /home/postgres/.bash_profile << EOF
# PostgreSQL
export PGHOME=/usr/local/pgsql
export PATH=$PGHOME/bin:$PATH
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
export PGDATA=/mnt/data/pgsql/pgsql5432
export PGHOST=/tmp
export PGPORT=5432
EOF
3.3授权相关目录
chmod 700 /mnt/data/pgsql/pgsql5432
chmod -R 700 /mnt/data/pgsql/backup
chown postgres:postgres -R /opt/pgsql  /mnt/data/pgsql
4.下载二进制安装包
wget -P /opt/pgsql/source https://ftp.postgresql.org/pub/source/v14.8/postgresql-14.8.tar.gz --no-check-certificate
5.包完整性校验
md5sum postgresql-14.8.tar.gz 
# MD5校验值:05a8078ee17d4f00779138767b802065
sha256sum postgresql-14.8.tar.gz 
# SHA256校验值:a3c32ff8168832d9637eb870f6e98f98506797fe5942555d70cd77558949a844

操作如下图所示:

6.解压与编译安装
tar xf postgresql-14.8.tar.gz   #解压
cd postgresql-14.8              #进到主目录下
#下面进行编译与安装
./configure --with-systemd --with-uuid=ossp --with-perl --with-python --with-tcl --with-icu --with-openssl --with-libxml --with-libxslt --with-lz4 --prefix=/opt/pgsql/pgsql-14.8  make -j 4 world && make -j 4 install-worldln -s /opt/pgsql/pgsql-14.8 /usr/local/pgsql    //创建软链接

7.安装检查与验证
su - postgres     #进到postgres用户下
cd /opt/pgsql/source/postgresql-14.8/     #进入pg主目录
make check # 安装成功后,测试?下编译的功能是否正常,全部正常会在末尾输出ALL tests passed

8.初始化数据库

建议:字符编码使UTF8,本地化使C,认证式使scram-sha-256

initdb -E UTF8 --locale=C -U postgres -W -A scram-sha-256 --data-checksums

9.初始化配置文件
cd /mnt/data/pgsql/pgsql5432/
mv postgresql.conf postgresql.conf.bak
mv pg_hba.conf pg_hba.conf.bak
touch postgresql.conf  pg_hba.conf

创建两个同名文件,配置如下:

pg_hba.conf:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     scram-sha-256
# IPv4 local connections:
host    all             all             127.0.0.1/32            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
# replication connections:
local   replication     all                                     scram-sha-256
host    replication     all             127.0.0.1/32            scram-sha-256
host    replication     all             ::1/128                 scram-sha-256
# postgres for localhost:
local   all             postgres                                scram-sha-256
host    all             postgres        127.0.0.1/32            scram-sha-256
host    all             postgres        0.0.0.0/0               reject
# remote connections:
host    all             all             0.0.0.0/0               scram-sha-256

postgresql.conf:

listen_addresses = '*'
port = 5432
max_connections = 1000
superuser_reserved_connections = 10
unix_socket_directories = '/tmp'
tcp_keepalives_idle = 180
tcp_keepalives_interval = 10
tcp_keepalives_count = 3
password_encryption = scram-sha-256
shared_buffers = 1024MB
temp_buffers = 8MB
max_prepared_transactions = 50
work_mem = 4MB
maintenance_work_mem = 64MB
dynamic_shared_memory_type = posix
max_worker_processes = 8
wal_level = logical
fsync = on
synchronous_commit = remote_write
wal_sync_method = fsync
full_page_writes = on
max_wal_size = 5GB
min_wal_size = 80MB
max_wal_senders = 30
max_replication_slots = 10
hot_standby = on    //允许只读
max_logical_replication_workers = 4
log_destination = 'stderr'     //表示 PostgreSQL 将日志信息输出到标准错误输出流
logging_collector = on
log_directory = 'pg_log'
log_filename = 'postgresql-%a.log'
log_file_mode = 0600
log_rotation_age = 1d
log_truncate_on_rotation = on
log_checkpoints = on
log_timezone = 'Asia/Shanghai'
autovacuum = on    //自动回收
idle_session_timeout = 1200000
datestyle = 'iso, mdy'
timezone = 'Asia/Shanghai'
lc_messages = 'C'
lc_monetary = 'C'
lc_numeric = 'C'
lc_time = 'C'
default_text_search_config = 'pg_catalog.english'
10.配置systemd服务托管
cat > /usr/lib/systemd/system/pgsql.service << EOF
[Unit]
Description=PostgreSQL database server 14
After=network-online.target
Wants=network-online.target[Install]
WantedBy=multi-user.target[Service]
Type=forking
User=postgres
Group=postgres
Environment=PGPORT=5432
Environment=PGDATA=/mnt/data/pgsql/pgsql5432
ExecStart=/usr/local/pgsql/bin/pg_ctl start -D ${PGDATA} -s -w -t 300
ExecStop=/usr/local/pgsql/bin/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=/usr/local/pgsql/bin/pg_ctl reload -D ${PGDATA} -s
TimeoutSec=300
Restart=on-failure
RestartSec=3
OOMScoreAdjust=-1000
LimitNOFILE=65535
LimitNPROC=65535
EOF
11.启动pgsql.service
systemctl daemon-reload
systemctl enable pgsql
systemctl start pgsql
systemctl status pgsql
12.连接postgresql数据库测试
su - postgres       #进入postgres用户下
psql -h 127.0.0.1 -p 5432 postgres       #连接数据库

这里执行 pqsql 和 psql -h 127.0.0.1 -p 5432 postgres 命令是同样的效果

如果想修改postgres用户的密码,可以使用以下语句进行修改:

postgres=# alter user postgres with password '123';
ALTER ROLE
postgres=# quit

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

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

相关文章

init arry的作用,可以没有init arry嘛?(面试题)

https://bbs.kanxue.com/thread-282657.htm 对init_array段调用的方法进行Hook https://bbs.kanxue.com/thread-191092.htm init_array原理简单说明 https://bbs.kanxue.com/thread-280135.htm frida hook init_array自吐新解 init_array 的作用&#xff0c;以及是否可以没有 i…

蓝桥杯真题0团建dfs+哈希表/邻接表

dfs邻接表储存或者哈希表的运用&#xff0c;考察我们对数据的存储 本题核心就是在求从根节点开始的两棵树相同的最长序列&#xff0c;首先确定用dfs进行深搜&#xff0c;对于节点的形式可以用邻接表&#xff0c;邻接矩阵&#xff0c;哈希表来进行存储数据。下面看代码 邻接表 …

使用 AIStor、MLflow 和 KServe 将模型部署到 Kubernetes

在之前几篇关于 MLOps 工具的文章中&#xff0c;我展示了有多少流行的 MLOps 工具跟踪与模型训练实验相关的指标。我还展示了他们如何使用 MinIO 来存储作为模型训练管道一部分的非结构化数据。但是&#xff0c;一个好的 MLOps 工具应该做的不仅仅是管理您的实验、数据集和模型…

kali linux web扫描工具

Kali Linux是一款专为网络安全领域而打造的操作系统&#xff0c;提供了众多优秀的安全工具&#xff0c;其中就包括了强大的web扫描工具。Web扫描是网络安全检测的一个重要环节&#xff0c;它可以帮助安全专家检测网站的漏洞&#xff0c;提升网站的安全性。 Kali Linux中集成了…

Linux losetup循环设备

好的&#xff0c;以下是命令的中文解释和使用步骤&#xff1a; 命令解释&#xff1a; losetup -r /dev/loop0 /system/app.bin&#xff1a; losetup 是一个用于将文件与循环设备&#xff08;loop device&#xff09;关联的命令。-r 选项表示将循环设备设置为只读模式。/dev/lo…

【js逆向】

地址&#xff1a;aHR0cHM6Ly93d3cud2VpYm90b3AuY24vMi4wLw f12进入 debugger&#xff0c;过debugger 查看预览数据 全局搜索 请求网址中的 api.weibotop.cn 在下方疑似找到了加密和解密的函数 断点调试 控制台输出 那个n就是 常见的 cryptoJs库 const cryptoJs require(cry…

1.Intel BIOS 开发指南详细介绍

1. 引言 目的: Intel BIOS 开发指南旨在为开发者提供详细的指导,帮助他们理解和实现 Intel 平台上的 BIOS 功能。 适用对象: 适用于希望开发、调试和优化 BIOS 的硬件工程师、软件工程师和系统集成商。 版本信息: 确保你使用的是最新版本的指南,以获取最新的信息和最佳实…

deepseek在pycharm中的配置和简单应用

对于最常用的调试python脚本开发环境pycharm&#xff0c;如何接入deepseek是我们窥探ai代码编写的第一步&#xff0c;熟悉起来总没坏处。 1、官网安装pycharm社区版&#xff08;免费&#xff09;&#xff0c;如果需要安装专业版&#xff0c;需要另外找破解码。 2、安装Ollama…

【论文阅读】多模态——LSeg

文献基本信息 标题&#xff1a;Language-Driven Semantic Segmentation作者&#xff1a;Boyi Li、Kilian Q. Weinberger、Serge Belongie、Vladlen Koltun、Ren Ranftl单位&#xff1a;Cornell University、University of Copenhagen、Apple、Intel Labs会议/期刊&#xff1a;…

【MySQL基础-1】MySQL 用户管理指南:创建用户、修改密码与权限分配

MySQL 作为广泛使用的关系型数据库管理系统&#xff0c;用户管理和权限分配是其核心功能之一。合理创建用户、修改密码以及分配权限&#xff0c;不仅能保障数据库的安全性&#xff0c;还能有效控制用户的操作范围。本文将详细介绍如何在 MySQL 中创建用户、修改用户密码以及分配…

影刀RPA编码版与流程版解析

影刀RPA编码版是影刀RPA的一个高级版本&#xff0c;它结合了流程版的可视化操作和编码版的强大灵活性&#xff0c;以下是对影刀RPA编码版的详细介绍&#xff1a; 1. 功能对比 流程版&#xff1a; 可视化操作&#xff1a;通过拖拽式流程设计器&#xff0c;用户可以像搭积木一样…

20天 - TCP 和 UDP 有什么区别?说说 TCP 的三次握手?TCP 是用来解决什么问题?

TCP 和 UDP 有什么区别&#xff1f; TCP&#xff08;传输控制协议&#xff09;和 UDP&#xff08;用户数据报协议&#xff09;都是传输层的网络协议&#xff0c;它们的主要区别如下&#xff1a; 连接方式 TCP&#xff1a;面向连接的协议&#xff0c;类似于打电话&#xff0c…

【MySQL_05】语法简述(是语法,不详细介绍各种语句)

文章目录 一、基本规则二、标识符规则三、数据类型四、运算符五、关键字六、SQL 语句的通用语法结构 历史文章点击&#x1f449;&#xff1a;SQL &#x1f408;‍⬛github&#xff1a;https://github.com/mysql &#x1f4bb;官网&#xff1a; https://www.mysql.com &#…

JavaScript中的生成器函数详解

在 JavaScript 中&#xff0c;生成器函数 Generator Function 是一种特殊的函数&#xff0c;它允许你在函数执行过程中暂停和恢复。生成器函数通过 function* 语法定义&#xff0c;并使用 yield 关键字来控制函数的执行流程。生成器函数返回一个生成器对象&#xff0c;该对象遵…

计算机网络——交换机

一、什么是交换机&#xff1f; 交换机&#xff08;Switch&#xff09;是局域网&#xff08;LAN&#xff09;中的核心设备&#xff0c;负责在 数据链路层&#xff08;OSI第二层&#xff09;高效转发数据帧。它像一位“智能交通警察”&#xff0c;根据设备的 MAC地址 精准引导数…

Git合并工具在开发中的使用指南

在团队协作开发中&#xff0c;Git 是最常用的版本控制工具&#xff0c;而代码合并&#xff08;Merge&#xff09;是多人协作不可避免的环节。当多个开发者同时修改同一文件的相同区域时&#xff0c;Git 无法自动完成合并&#xff0c;此时需要借助合并工具&#xff08;Merge Too…

实现多语言适配

1.在res下创建多语言资源文件&#xff1a; 2.选择需要的语言 然后得到多种语言适配string文件&#xff1a; 3.代码设置多语言 object LanguageHelper {/*** 获取适配的 Context*/fun getAttachBaseContext(context: Context): Context {return if (Build.VERSION.SDK_INT > …

【学习方法一】

学习方法一 一、通用高效学习法二、学科专项方法三、工具与技术辅助四、习惯与心理策略五、避免常见误区总结六、进阶学习策略七、解决学习痛点八、场景化学习法九、资源与工具推荐十、个性化学习调整十一、长期学习心态十二、常见问题QA十三、应对特殊挑战的学习法十四、健康与…

Golang学习笔记_44——命令模式

Golang学习笔记_41——观察者模式 Golang学习笔记_42——迭代器模式 Golang学习笔记_43——责任链模式 文章目录 一、核心概念1. 定义2. 解决的问题3. 核心角色4. 类图 二、特点分析三、适用场景1. 事务管理系统2. 多媒体遥控器3. 操作审计系统 四、Go语言实现示例五、高级应用…

应急响应--流量分析

&#xff08;一&#xff09;Cobalt Strike流量特征分析 1.HTTP特征 源码特征&#xff1a; 在流量中&#xff0c;通过http协议的url路径&#xff0c;在checksum8解密算法计算后&#xff0c;32位的后门得到的结果是92&#xff0c;64位的后门得到的结果是93&#xff0c;该特征符…