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安装

  1. #创建安装包存放路径,下载rpm包
  2. mkdir -p /data/package/postgres
  3. cd /data/package/postgres
  4. wget --no-check-certificate https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
  5. #默认安装pg
  6. yum install -y ./pgdg-redhat-repo-latest.noarch.rpm
  7. vim /etc/yum.conf                ----编辑文件,在最后加一行上:sslverify=0
  8. yum install -y postgresql14-server
  9. #初始化
  10. /usr/pgsql-14/bin/postgresql-14-setup initdb
  11. #启动服务
  12. systemctl enable postgresql-14
  13. systemctl start postgresql-14
  14. #查看服务
  15. netstat -a| grep post
复制代码
2、设置用户密码

登录数据库,给超级管理员用户postgres设置密码
  1. su - postgres
  2. psql
  3. alter user postgres with password 'qwer1234';
复制代码
3、修改数据目录(可选)

默认安装完成后,数据目录在/var/lib/pgsql下。
生产环境,/目录磁盘空间不大的环境下,需要将库目录迁移到有足够空间的/data目录下(根据实际环境判断目标路径)
(1)指定数据目录
  1. #确认当前数据目录
  2. show data_directory;
  3. #创建目标数据目录,关闭pg服务
  4. mkdir -p /data/postgres/data
  5. systemctl stop postgresql-14
  6. #转储文件并授权
  7. cp -rf /var/lib/postgresql/14/data/* /data/postgresql/data/
  8. chown -R postgres:postgres /data/postgres/data
  9. chmod 700 /data/postgresql/
  10. #进入数据目录,找到静态参数文件,并编辑
  11. vim /data/postgresql/data/postgresql.conf
  12.     修改参数:data_directory='/data/postgresql/data'
复制代码

(2)修改启动时的默认参数文件
  1. #修改启动命令时指定的数据文件路径(三种方法,根据实际情况选择)
  2. 1、执行命令行参数启动时,直接手动指定目录
  3. pg_ctl stop -D /data/postgresql/data
  4. pg_ctl start -D /data/postgresql/data
  5. 2、以init脚本启动时,修改脚本(10+)
  6. vim /etc/init.d/postgresql-14
  7.     修改变量:PGDATA=/data/postgresql/data
  8. 3、以systemd启动的,修改脚本(10+)
  9. vim /usr/lib/systemd/system/postgresql-14.service
  10.     修改变量:Environment=PGDATA=/data/postgresql/data/
复制代码
(3)启动
这里使用systemd方式启动历程
  1. systemctl daemon-reload
  2. systemctl start postgresql-14
  3. 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)创建用户

  1. groupadd postgres
  2. useradd -g postgres postgres
复制代码
(2)设置环境变量设置

编辑postgres用户的环境变量:
su - postgres
vim ~/.bash_profile
   export PGPORT=1922
  export PG_HOME=/data/pg14
  export PATH=$PG_HOME/binPATH
  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、准备目录并授权

  1. mkdir /data/pg14
  2. chown postgres:postgres /data/pg14
复制代码
3、开始安装

提示:全程需要使用postgres用户安装
  1. su – postgres
  2. cd /data/package/postgres/14
  3. #执行配置①
  4. ./configure --prefix=/data/pg14
  5. #安装②
  6. make
  7. make install
  8. #创建pg软链接(有版本更新时,只需安装新版本后,将/usr/local/pgsql的软链指向新版本的目录即可)
  9. 【root执行】
  10. ln -s /data/pg14/ /usr/local/pgsql       
复制代码
4、初始化数据库集簇并启动

  1. #准备数据目录
  2. su – postgres
  3. mkdir /data/pg14/data
  4. #初始化③
  5. initdb -D /data/pg14/data -W --data-checksums
  6. #启动数据库
  7. pg_ctl -D /data/pg14/data start
  8. 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 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宁睿

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表