安装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:将来要做主从复制,这里必须添加此参数
版权归原作者 忧愁的锅盖儿 所有, 如有侵权,请联系我们删除。