# pg_dump 和 pg_restore ## 概述 OushuDB 支持使用 `pg_dump` 和 `pg_restore` 工具进行数据的备份与恢复,其用法与 PostgreSQL 的 `pg_dump` 和 `pg_restore` 保持兼容。然而,不推荐在大数据量场景下使用 `pg_dump` 和 `pg_restore` 进行数据的导出与导入,这些工具更适用于元数据的备份与恢复,例如表结构、视图、函数等。 ## 元数据导出 元数据的导出是指备份表结构、视图、函数等对象定义,而不包括实际数据。 #### 使用示例 ```bash pg_dump -h -p -U -d -s -f ``` ### 参数说明 - `-h`:指定 OushuDB 的主机地址。 - `-p`:指定 OushuDB 的端口号。 - `-U`:指定用户名。 - `-d`:指定需要导出元数据的数据库名称。 - `-s`:仅导出模式(schema),即元数据部分。 - `-f`:指定输出文件路径。 ### 示例 假设需要导出数据库 `mydb` 的元数据到文件 `mydb_schema.sql`,命令如下: ```bash pg_dump -h 127.0.0.1 -p 5432 -U oushu_user -d mydb -s -f mydb_schema.sql ``` ### 元数据导入 元数据的导入是指将之前导出的模式定义恢复到目标数据库中。 ### 使用示例 以下是导入元数据的典型命令: ```bash pg_restore -h -p -U -d ``` 或者直接使用 `psql` 工具: ```bash psql -h -p -U -d -f ``` ### 参数说明 - `-h`:指定 OushuDB 的主机地址。 - `-p`:指定 OushuDB 的端口号。 - `-U`:指定用户名。 - `-d`:指定需要导入元数据的数据库名称。 - `-f`:指定输入文件路径。 ### 示例 假设需要将文件 `mydb_schema.sql` 中的元数据导入到数据库 `mydb`,命令如下: ```bash psql -h 127.0.0.1 -p 5432 -U oushu_user -d mydb -f mydb_schema.sql ```