前言:
此时同学们对“源码编译安装的基本顺序是什么”都比较关切,兄弟们都想要知道一些“源码编译安装的基本顺序是什么”的相关内容。那么小编也在网络上网罗了一些有关“源码编译安装的基本顺序是什么””的相关文章,希望大家能喜欢,我们一起来了解一下吧!一 PostgreSQL编译安装
1.1 下载源码包
在PostgreSQL官方主页下载区选择所需格式的源码包下载。
cd /web
wget --no-check-certificate
下载之后解压
tar xf postgresql-15.2.tar.gz
1.2 运行configure程序配置编译选项
安装必要的依赖包
yum groupinstall "Development tools" -y
yum install -y bison flex readline-devel zlib-devel
编译
./configure --prefix=/web/pgsql15/ --with-pgport=5432
1.3 编译选项解释
在源代码目录中运行configure --help命令查看支持的配置编译选项:
cd postgresql-15.2
./configure --help|less
PostgreSQL支持的编译选项众多,常用的编译选项有:
--prefix=PREFIX:指定安装目录,默认的安装目录为”/usr/local/pgsql“;--includedir=DIR:指定C和C++的头文件目录,默认的安装目录为”PREFIX/include“;--with-pgport=PORTNUM:指定初始化数据目录时的默认端口,这个值可以在安装之后进行修改(需要重启数据库),修改它只在自行制作RPM包时有用,其它时候意义并不大;--with-blocksize=BLOCKSIZE:指定数据文件的块大小,默认的是8kB,如果在OLAP场景下可以适当增加这个值到32kB,以提高OLAP的性能,但在OLTP场景下建议使用8kB默认值;--with-segsize=SEGSIZE:指定单个文件的大小,默认是1GB;--with-wal-blocksize=BLOCKSIZE:指定WAL文件的块大小,默认是8kB;--with-wal-segsize=SEGSIZE:指定单个WAL文件的大小,默认是16MB。
由于”--with-xxx-size“这4个参数都只能在编译的时候指定,所以在修改它们之前,请提前做好规划和严格的测试,否则后期再做调整,只能将数据导出重新导入,如果数据量很大会令人抓狂。
1.4 编译安装
在Linux中,PostgreSQL的编译和安装使用GNU make程序,编译使用gmake命令,安装使用gmake install命令。
执行gmak或gmake world程序进行编译,如下所示:
gmake
gamke install
查看安装的PostgreSQL版本的命令如下所示:
/web/pgsql15/bin/postgres --version
1.5 设置软链接
有时候我们为了方便工作,会自己写一些shell或Python脚本处理一些定时任务,经常会通过类似/web/pg15.x这样的全路径调用一些工具,使用环境变量也会有一些其它的问题存在,为了尽可能的避免这种麻烦,创建一个/web/pgsql的软链接指向当前版本即可,命令如下:
ln -s /web/pgsql15 /web/pgsql
当进行了版本变更之后,不需要调整大量的脚本,只需要修改这个软链接即可。
tree -L 1 /web/pgsql15/
1.6 创建操作系统用户
groupadd -g 1005 postgres
useradd -g 1005 -u 1005 postgres
id postgres
1.7 创建数据目录
也就是在磁盘上初始化一个数据的存储区域,通常我们称之为数据目录。
mkdir -p /web/data_5432
chown -R postgres.postgres /web/data_5432
1.8 初始化数据目录
su - postgres
/web/pgsql15/bin/initdb -D /web/data_5432/
1.9 启动和停止数据库服务
启动
su - postgres
/web/pgsql15/bin/pg_ctl -D /web/data_5432/ start
查看状态
/web/pgsql15/bin/pg_ctl -D /web/data_5432/ status
停止
/web/pgsql15/bin/pg_ctl -D /web/data_5432/ stop
登录数据库并查看所有数据库
/web/pgsql/bin/psql
\l
至此,PostgreSQL数据库安装完成。感谢观看。
标签: #源码编译安装的基本顺序是什么