本篇教程详细介绍了PostgreSQL 10源码的安装与配置过程,适合对PostgreSQL有深入学习需求或希望手动编译安装的用户。以下是步骤分解:
1. **基础环境准备**:首先,确保你的系统上已经安装了必要的开发工具,如`perl-ExtUtils-Embed`, `readline-devel`, `zlib`, `zlib-devel`, `pam`, `libxml2`, `libxml2-dev`, `libxslt`, `libxslt-devel`, `perl`, `perl-devel`, `openldap-devel`, `python-devel`, `gcc`, `gcc-c++`, `openssl-devel`, `cmake`, `e2fsprogs-devel`, `uuid-dev`, 和 `libuuid-devel`, `tcl-tcl-devel`, `gettext`, `bison`, `flex`, `ncurses-devel`。
2. **下载并解压源码**:从官方网站下载PostgreSQL 12.7源码包,并将其上传到安装介质的`/home/postgres/soft`目录,然后解压。
3. **编译安装**:在解压后的目录下,使用`./configure`命令配置安装选项,指定`--prefix`为`/home/postgres/postgresql`,以便安装到自定义路径。
4. **初始化数据库**:配置完成后,通过`make`和`make install`进行编译和安装。安装过程中会提示你启动数据库,这可以通过相应的启动脚本来实现。
5. **登录数据库**:安装成功后,作为`postgres`用户登录数据库,检查数据库状态和基本信息。
6. **测试操作**:创建表和库,插入测试数据,确保数据库功能正常运行。
7. **配置流复制**:为了支持流复制,需要在`/etc/hosts`文件中添加复制主机的IP地址和别名,例如`postgres01`和`postgres02`。
8. **安装依赖包**:如果在安装过程中发现缺失某些依赖,使用`yum install`命令安装,如上所述的开发包。
9. **用户管理**:创建`postgres`用户组和用户,设置密码,并创建一个专用的数据文件目录`/home/postgres/pgdata`。
10. **环境变量设置**:编辑`bash_profile`文件,添加PostgreSQL相关的环境变量,如`PGHOME`、`PGDATA`和`PATH`,以便正确执行PostgreSQL命令。
11. **创建安装介质存放目录**:在`postgres`用户下,创建用于存放软件的目录`/home/postgres/soft`。
这篇教程详尽地展示了从源代码编译安装PostgreSQL的全过程,包括必要的环境配置、依赖安装、用户权限管理以及数据库的创建和配置。这对于想要深入了解PostgreSQL底层工作原理或者在特定环境下定制安装的开发者来说是一份实用的指南。