香港VPS搭建Linux数据库:PostgreSQL 14主从复制实战
文章分类:售后支持 /
创建时间:2025-10-17
业务发展离不开稳定的数据存储与管理,PostgreSQL(一款功能强大的开源关系型数据库)凭借丰富特性,成为许多企业的选择。若想在香港VPS上搭建高可用数据库架构,安装PostgreSQL 14并配置主从复制是关键一步。
环境准备
开始前需确认香港VPS的Linux系统已正常运行。本文以CentOS 7为例,需提前准备两点:一是VPS需具备基础网络连接,确保能访问外部源;二是需拥有root权限,以便执行系统级操作。
PostgreSQL 14安装步骤
首先添加PostgreSQL官方yum源。在终端输入命令:
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
待源添加完成,执行安装命令:
sudo yum install -y postgresql14-server
安装后初始化数据库:
sudo /usr/pgsql-14/bin/postgresql-14-setup initdb
接着启动服务并设置开机自启:
sudo systemctl start postgresql-14
sudo systemctl enable postgresql-14
为方便后续操作,切换至postgres用户:
sudo -u postgres psql
在psql命令行中可创建业务所需数据库与用户,示例操作如下:
CREATE DATABASE mydb;
CREATE USER myuser WITH PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
主从复制配置详解
主从复制需两台香港VPS,一台作为主服务器存储主数据,另一台作为从服务器实时同步数据,提升容灾能力。
主服务器配置
编辑主服务器的`postgresql.conf`文件(通常路径为`/var/lib/pgsql/14/data/`),调整以下参数:
wal_level = replica # 启用复制所需的WAL(预写日志)记录
max_wal_senders = 10 # 最大同时连接的从服务器数量
wal_keep_segments = 32 # 保留的WAL段数量,防止从服务器同步延迟导致数据丢失
修改`pg_hba.conf`文件,允许从服务器通过用户`myuser`连接:
host replication myuser <从服务器IP>/32 md5
完成配置后重启主服务器服务:
sudo systemctl restart postgresql-14
从服务器配置
先停止从服务器的PostgreSQL服务:
sudo systemctl stop postgresql-14
清空原有数据目录(避免数据冲突):
sudo rm -rf /var/lib/pgsql/14/data/*
使用`pg_basebackup`命令从主服务器复制基础数据:
sudo -u postgres pg_basebackup -h <主服务器IP> -D /var/lib/pgsql/14/data -U myuser -P -R
编辑从服务器的`postgresql.conf`文件,启用热备模式:
hot_standby = on # 允许从服务器在同步时接收只读查询
最后启动从服务器服务:
sudo systemctl start postgresql-14
验证复制效果
在主服务器的`mydb`数据库中创建测试表并插入数据:
\c mydb
CREATE TABLE test (id serial, name text);
INSERT INTO test (name) VALUES ('test data');
登录从服务器的`mydb`数据库查询:
\c mydb
SELECT * FROM test;
若能看到插入的`test data`,则说明主从复制配置成功。
通过以上步骤,可在香港VPS上快速搭建PostgreSQL 14主从复制架构,有效提升数据库的可用性与数据安全性,为业务稳定运行提供坚实支撑。
上一篇: VPS服务器运维必看:10个常见问题速解