linux安装postgresql三种方式【转】

发布时间 2023-12-06 11:59:47作者: paul_hch

linux下安装PostgreSQL可采用三种方式,二进制已编绎安装包、安装、源码安装三种方式进行安装

方式1:yum安装,建议使用这种

参看官方文档如下地址:

sudo yum install -y

sudoyum install -y postgresql15-server

sudo /usr/pgsql-15/bin/postgresql-15-setup initdb

sudo systemctl enable postgresql-15

sudo systemctl start postgresql-15

默认postgreql 安装在/usr/pgsql-14,数据存储目录:/var/lib/pgsql/版本号/data,在实际生产中/var可能存在硬盘空间不足的问题,我们一般将数据存储目录放在挂载的硬盘如/data下( 包括配置文件,日志目录都在这个目录下)

只需要修改下启动参数即可!

vi /usr/lib/systemd/system/postgresql-15.service

修改为Environment=PGDATA=/data/postgresql/data #修改成新的数据库目录

systemctl daemon-reload #如果你是启动的状态下,修改的启动参数,那么就需要执行这个步骤,否则你关闭数据库会报错:Warning: postgresql-14.service changed on disk. Run 'systemctl daemon-reload' to reload units.

初始化即可完成初始化到新指定的目录了!注意需要先关闭数据库!前提是目录已经创建了,可以不提前创建最后一级的子目录,因为初始化的时候会自动创建最后一级的子目录!

[root@B-JS25-BASE79-00 data1]# /usr/pgsql-15/bin/postgresql-15-setup initdb

区别于源码安装的pgsql,源码安装的时候如下所示初始化直接-D指定其他目录:如下所示

/usr/local/pgsql/bin/initdb -D /data/postgresql/data

通过systemctl 启动pg的时候,需要找启动文件postgresql-15.service中的Environment=PGDATA配置中的目录,然后会找到配置文件postgresql.conf,并会读取里面的参数data_directory的配置的数据目录;

1)/usr/lib/systemd/system/postgresql-15.service 文件中的Environment=PGDATA=/data/postgresql/data这个路径, 控制初始化的路径,并且决定启动的时候去哪里找配置文件postgresql.conf

2)vim /etc/postgresql/9.6/main/postgresql.conf --data_directory参数控制数据库的数据文件目录!

data_directory=‘/data/postgresql/datafile’

3)修改/usr/lib/systemd/system/postgresql-15.service后,建议执行reload

systemctl daemon-reload

4)数据文件的目录需要是700或者750,否则报错,报错信息如下

data_directory=‘/data/postgresql/datafile’ #这个参数指定的目录需要是700或者750权限

Nov 15 00:31:46 B-JS25-BASE79-00 postmaster[1773]: 2022-11-15 00:31:46.799 CST [1773] DETAIL: Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)

5)注意:/usr/lib/systemd/system/postgresql-15.service里面的Environment=PGDATA=/data/postgresql/data和postgresql.conf 中data_directory参数指定的路径需要保证一样!否则无法启动

 

方式2:二进制已编绎安装包,解压即可启动,这个好像不是官网的,感觉可下载的版本不全!

 

方式3:源码安装

1、下载postgresql最新版:

2、解压文件:

tar zxvf postgresql-8.3.7.tar.gz

cd postgresql-8.3.7

3、编译,指定安装postgresql的路径

./configure --prefix=/usr/local/pgsql

4、编译:

make

5、安装:

make install

6、创建用户组和用户:

groupadd postgres

useradd -g postgres postgres

7、创建数据库库文件存储目录、给postgres赋予权限:

mkdir /usr/local/pgsql/data

cd /usr/local/pgsql

chown postgres.postgres data

chmod 750 /usr/local/pgsql/data

8、编辑~/.bash_profile文件

#vi ~/.bash_profile

设置以下的环境变量,

export PGHOME=/usr/local/pgsql

export PGDATA=/usr/local/pgsql/data

PATH=$PATH:$PGHOME/bin

export PATH

9、初始化数据库目录:

切换用户(root也可以)

su - postgresql

初始化数据 -D指定初始化创建的数据库的文件路径

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

转自

linux安装postgresql三种方式_ITPUB博客
http://blog.itpub.net/29654823/viewspace-2923532/