Redrock Postgres 文档
主页 切换暗/亮/自动模式 切换暗/亮/自动模式 切换暗/亮/自动模式 返回首页

网络表空间

Redrock Postgres 支持基于网络的表空间。 基于该能力,Redrock Postgres 可以做到数据库的计算和存储的分离部署。

规划

准备好计算服务器和存储服务器环境,推荐环境配置:

  • 计算服务器应该采用较高的处理器和内存配置;
  • 存储服务器应该采用IO处理能力偏高的存储配置,存储空间满足数据存储要求;
  • 计算服务器和存储服务器之间,尽量采用高带宽和低延迟的网络;

如果需要在数据库服务器中创建多个网络表空间,对应地,就需要准备多台存储服务器。

部署计算服务器

按照下述步骤,部署计算服务器:

  1. 参考 Redrock Postgres 安装指导,安装软件包。
  2. 如果数据库服务器正在运行,停止它。
  3. 使用任何趁手的文件系统备份工具(例如tar或者 cpio,不是pg_dump 或者pg_dumpall)执行备份。
  4. 启动服务器。

部署存储服务器

按照下述步骤,部署存储服务器:

  1. 参考 Redrock Postgres 安装指导,安装软件包。
  2. 如果数据库服务器正在运行,停止它。
  3. 移除所有位于实例数据目录下的文件和子目录。
  4. 从你的文件系统备份中恢复数据库文件。注意它们要使用正确的所有权恢复(数据库系统用户,不是root!)并且使用正确的权限。
  5. 设置postgresql.conf中的监听地址和端口,并且在实例数据目录中创建一个storage.signal文件。修改pg_hba.conf以允许来自计算服务器的连接。
  6. 启动服务器。

创建基于网络的数据库

登录计算服务器,使用数据库超级用户连接到数据库服务中的 postgres 数据库,创建基于网络的数据库。配置的一个简单例子是:

CREATE DATABASE netdb STORAGE remote LOCATION
  'host=192.168.1.50 port=5432 user=postgres password=pgpass';
在 Redrock Postgres 中,创建一个数据库时会在这个数据库中附带创建一个默认表空间,上例中新建的数据库会产生一个默认的网络表空间。

创建网络表空间

使用数据库超级用户连接到数据库服务中的新建数据库 netdb,创建基于网络的表空间。下面是配置的一个简单例子,使用额外的两台存储服务器创建了两个网络表空间:

CREATE TABLESPACE netts1 STORAGE remote LOCATION
  'host=192.168.1.51 port=5432 user=postgres password=pgpass';
CREATE TABLESPACE netts2 STORAGE remote LOCATION
  'host=192.168.1.52 port=5432 user=postgres password=pgpass';

然后就可以使用这些网络表空间创建表和索引了。