pg_dump 和 pg_restore#

概述#

OushuDB 支持使用 pg_dumppg_restore 工具进行数据的备份与恢复,其用法与 PostgreSQL 的 pg_dumppg_restore 保持兼容。然而,不推荐在大数据量场景下使用 pg_dumppg_restore 进行数据的导出与导入,这些工具更适用于元数据的备份与恢复,例如表结构、视图、函数等。

元数据导出#

元数据的导出是指备份表结构、视图、函数等对象定义,而不包括实际数据。

使用示例#

pg_dump -h <host> -p <port> -U <username> -d <database_name> -s -f <output_file>

参数说明#

  • -h:指定 OushuDB 的主机地址。

  • -p:指定 OushuDB 的端口号。

  • -U:指定用户名。

  • -d:指定需要导出元数据的数据库名称。

  • -s:仅导出模式(schema),即元数据部分。

  • -f:指定输出文件路径。

示例#

假设需要导出数据库 mydb 的元数据到文件 mydb_schema.sql,命令如下:

pg_dump -h 127.0.0.1 -p 5432 -U oushu_user -d mydb -s -f mydb_schema.sql

元数据导入#

元数据的导入是指将之前导出的模式定义恢复到目标数据库中。

使用示例#

以下是导入元数据的典型命令:

pg_restore -h <host> -p <port> -U <username> -d <database_name> <input_file>

或者直接使用 psql 工具:

psql -h <host> -p <port> -U <username> -d <database_name> -f <input_file>

参数说明#

  • -h:指定 OushuDB 的主机地址。

  • -p:指定 OushuDB 的端口号。

  • -U:指定用户名。

  • -d:指定需要导入元数据的数据库名称。

  • -f:指定输入文件路径。

示例#

假设需要将文件 mydb_schema.sql 中的元数据导入到数据库 mydb,命令如下:

psql -h 127.0.0.1 -p 5432 -U oushu_user -d mydb -f mydb_schema.sql