PostgreSQL(二)基于linux环境的安装

目录

安装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:将来要做主从复制,这里必须添加此参数

### 如何在 Linux安装 PostgreSQL #### 检查是否已安装 PostgreSQL 可以通过命令行工具 `rpm` 来检查系统中是否已经存在 PostgreSQL安装文件。如果需要确认具体路径,可以运行以下命令来验证是否存在以及其安装位置[^1]。 ```bash rpm -qa | grep postgres rpm -qal | grep postgres ``` 上述两条命令分别用于查询是否有 PostgreSQL 软件包被安装,以及查看这些软件包的具体文件列表及其所在目录。 #### 下载并安装 PostgreSQL 访问官方下载页面获取最新版的源码或者进制包链接地址[^2]。对于基于 RPM 的发行版(如 CentOS 或 RHEL),可以从官方网站找到适合当前系统的预编译好的进制程序包;而对于其他类型的 Linux 发行版,则可能需要手动编译源代码来进行部署[^3]。 以下是针对某些常见情况的操作指南: ##### 方法一:通过 Yum/Apt-get 自动化方式快速完成设置过程 大多数现代 Linux 都支持利用自带的包管理器轻松实现一键式配置流程。例如,在 RedHat/CentOS/Fedora 类型平台上执行下面这条语句即可自动处理依赖关系并将服务启动起来: ```bash sudo yum install postgresql-server sudo /usr/bin/postgresql-setup --initdb sudo systemctl enable postgresql.service sudo systemctl start postgresql.service ``` 而在 Debian/Ubuntu 用户群体里则更倾向于采用 aptitude/apt-get 工具链作为替代方案之一: ```bash sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt update sudo apt -y install postgresql-12 ``` 以上脚本片段会先添加 PGDG APT 存储库到本地 sources 列表当中去,接着导入 GPG 密钥确保数据传输安全无误之后再正式开始实际意义上的组件安装配对工作流。 ##### 方法:从 tarball 文件自行构建环境 当目标机器无法联网又或者是特殊定制需求场景下才推荐考虑这种方法。首先前往官网 FTP 区域挑选对应版本号压缩档下来解压后按照 README 文档指示逐步推进直至结束为止: ```bash tar xf v12.7.tar.gz cd postgresql-12.7/ ./configure && make && sudo make install ``` 最后一步记得初始化集群结构以便后续能够正常运作起来哦! --- ### 使用 Navicat 连接 PostgreSQL 数据库实例 一旦成功搭建好服务器端部分以后就可以借助图形界面客户端比如 Navicat 实现远程操控啦!只需填写主机名/IP 地址、端口号(默认为5432)还有认证凭证等相关参数就可以了.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值