论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
数据库
›
SQL-Server
›
PostgreSQL(二)基于linux环境的安装
PostgreSQL(二)基于linux环境的安装
宁睿
论坛元老
|
2024-10-27 03:33:04
|
来自手机
|
显示全部楼层
|
阅读模式
楼主
主题
1962
|
帖子
1962
|
积分
5896
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
目录
安装PG,三种方式任选一个即可
方法一:yum安装
1、准备目录,下载并yum安装
2、设置用户密码
3、修改数据目录(可选)
方法二、rpm包安装
方法三:源码编译安装
1、准备工作
(1)创建用户
(2)设置环境变量设置
(3)设置内核参数 (可选)
2、准备目录并授权
3、开始安装
4、初始化数据库集簇并启动
附件:
1、configure命令说明
2、make命令说明
3、initdb命令说明
安装PG,三种方式任选一个即可
本文以版本14为例
方法一:yum安装
1、准备目录,下载并yum安装
#创建安装包存放路径,下载rpm包
mkdir -p /data/package/postgres
cd /data/package/postgres
wget --no-check-certificate https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
#默认安装pg
yum install -y ./pgdg-redhat-repo-latest.noarch.rpm
vim /etc/yum.conf ----编辑文件,在最后加一行上:sslverify=0
yum install -y postgresql14-server
#初始化
/usr/pgsql-14/bin/postgresql-14-setup initdb
#启动服务
systemctl enable postgresql-14
systemctl start postgresql-14
#查看服务
netstat -a| grep post
复制代码
2、设置用户密码
登录数据库,给超级管理员用户postgres设置密码
su - postgres
psql
alter user postgres with password 'qwer1234';
复制代码
3、修改数据目录(可选)
默认安装完成后,数据目录在/var/lib/pgsql下。
生产环境,/目录磁盘空间不大的环境下,需要将库目录迁移到有足够空间的/data目录下(根据实际环境判断目标路径)
(1)指定数据目录
#确认当前数据目录
show data_directory;
#创建目标数据目录,关闭pg服务
mkdir -p /data/postgres/data
systemctl stop postgresql-14
#转储文件并授权
cp -rf /var/lib/postgresql/14/data/* /data/postgresql/data/
chown -R postgres:postgres /data/postgres/data
chmod 700 /data/postgresql/
#进入数据目录,找到静态参数文件,并编辑
vim /data/postgresql/data/postgresql.conf
修改参数:data_directory='/data/postgresql/data'
复制代码
(2)修改启动时的默认参数文件
#修改启动命令时指定的数据文件路径(三种方法,根据实际情况选择)
1、执行命令行参数启动时,直接手动指定目录
pg_ctl stop -D /data/postgresql/data
pg_ctl start -D /data/postgresql/data
2、以init脚本启动时,修改脚本(10+)
vim /etc/init.d/postgresql-14
修改变量:PGDATA=/data/postgresql/data
3、以systemd启动的,修改脚本(10+)
vim /usr/lib/systemd/system/postgresql-14.service
修改变量:Environment=PGDATA=/data/postgresql/data/
复制代码
(3)启动
这里使用systemd方式启动历程
systemctl daemon-reload
systemctl start postgresql-14
systemctl status postgresql-14
复制代码
(4)
再次查看数据目录,确认已修改完成
方法二、rpm包安装
安装包下载路径:https://ftp.postgresql.org/pub/source
(详细步骤等候更新中)
方法三:源码编译安装
重要依赖:readline、flex、bison
最小依赖:gcc、gcc-c++、zlib-devel、readline-devel
其他依赖:perl-ExtUtils-Embed、pam-devel、libxml2-devel、libxslt-devel、openldap-devel、python-devel、openssl-devel、cmake
确认依赖是否安装:rpm -qa | grep XXX ---没有安装的话,需要先安装再继续
安装包下载路径:https://www.postgresql.org/ftp/source
将源码包下载后放至服务器/data/package/postgres/14目录并授予执行权限,继续以下安装步骤:
1、准备工作
(1)创建用户
groupadd postgres
useradd -g postgres postgres
复制代码
(2)设置环境变量设置
编辑postgres用户的环境变量:
su - postgres
vim ~/.bash_profile
export PGPORT=1922
export PG_HOME=/data/pg14
export PATH=$PG_HOME/bin
PATH
export PGDATA=$PG_HOME/data
export LD_LIBRARY_PATH=$PG_HOME/lib
#可选
export LANG=en_US.utf8
source ~/.bash_profile
假如想让这个参数对所有用户都生效,可以将内容加入到/etc/profile中,source生效。
(3)设置内核参数 (可选)
设置操纵系统内核参数文件:
vim /etc/sysctl.conf
#缺省,最大共享内存段大小
kernel.shmmax=68719476736
#缺省,可以使用的共享内存的总量
kernel.shmall=4294967296
#整个系统共享内存段的最大数目
kernel.shmmni=4096
#每个信号对象集的最大信号对象数
kernel.sem=50100 64128000 50100 1280
#文件句柄的最大数量
fs.file-max=7672460
#应用程序可使用的IPV4端口范围
net.ipv4.ip_local_port_range=9000 65000
#套接字担当缓冲区大小的缺省值
net.core.rmem_default=1048576
#套接字发送缓冲区大小的缺省值
net.core.wmem_default=262144
#套接字发送缓冲区大小的最大值
net.core.wmem_max=1048576
执行 sysctl -p 使设置生效
2、准备目录并授权
mkdir /data/pg14
chown postgres:postgres /data/pg14
复制代码
3、开始安装
提示:全程需要使用postgres用户安装
su – postgres
cd /data/package/postgres/14
#执行配置①
./configure --prefix=/data/pg14
#安装②
make
make install
#创建pg软链接(有版本更新时,只需安装新版本后,将/usr/local/pgsql的软链指向新版本的目录即可)
【root执行】
ln -s /data/pg14/ /usr/local/pgsql
复制代码
4、初始化数据库集簇并启动
#准备数据目录
su – postgres
mkdir /data/pg14/data
#初始化③
initdb -D /data/pg14/data -W --data-checksums
#启动数据库
pg_ctl -D /data/pg14/data start
ps -ef | grep postgres
复制代码
数据库制止命令:pg_ctl stop
附件:
1、configure命令说明
configure常用设置选项:
--perfix 指定安装路径
--with-openssl 对openssl进行扩展支持
--with-python 对python进行扩展支持
--with-perl 对perl进行扩展支持
--with-libxml 对xml进行扩展支持
--with-blocksize=8 缺省8k。
#假如经常做小数据查询且内存不是非常大,缺省即可;假如数据库需要经常做插入的操纵,数据量增长很快,可以尽量设大此参数;
--enable-dtrace日志多打内容。生产环境不要加
--enable-debug 日志多打内容。生产环境不要加
2、make命令说明
其他安装方式:
gmake world --包罗第三方插件全部编译,包含文档和所有的contirb
gmake check-world --需要使用平凡用户执行,耗时较长
gmake install --包罗第三方插件全部安装
3、initdb命令说明
initdb:类似于oracle的dbca。
可以提供命令式建库(静默建库),不需要在建库时提供很多交互式的内容,只需要一次性提供所需的参数即可
initdb -D /data/pg14/data -W --data-checksums
-D $PGDATA :假如在环境变量中指定,这里可以忽略
-W:建库时默认建立超级管理员用户postgres,-W会提示给postgres用户输入密码
--data-checksums:将来要做主从复制,这里必须添加此参数
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
宁睿
论坛元老
这个人很懒什么都没写!
楼主热帖
java前置学习
【RocketMQ】消息的存储
iOS Widget
简单的用Python对手机号进行加密 ...
【PostgreSQL】PostgreSQL重建与主库不 ...
k8s v-1.20版本部署详细过程[实测可用 ...
基于单片机的压力测控仿真设计(#0024) ...
离线数仓建设,企业大数据的业务驱动与 ...
❤️肝下25万字的《决战Linux到精通》 ...
Unity 将是驱动 C# 增长的引擎吗 ? ...
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
Oracle
DevOps与敏捷开发
运维.售后
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表