excerpt <!-- more --> PostgreSQL(通常称为 PG 库)的数据实际上存储在文件系统的一组文件中,这些文件位于服务器上的一个特定目录中。这个目录被称为数据目录,通常在 PostgreSQL 配置文件(`postgresql.conf`)中设置为 `data_directory`。 ## 数据存储位置 1. **数据文件**:表数据、索引等都存储在数据目录中的文件里。 2. **事务日志(WAL)文件**:这些是用于数据恢复和确保数据完整性的日志文件。 3. **配置文件**:如 `postgresql.conf` 和 `pg_hba.conf` 等配置文件也位于此目录。 ## 数据导出与迁移 迁移 PostgreSQL 数据库通常涉及数据的备份与恢复。下面是一些常用的方法: ### 1. SQL 转储(pg_dump 和 pg_dumpall) - **pg_dump**:用于导出一个或多个数据库的数据和结构到一个文件中。这个文件可以是 SQL 语句的集合,也可以是二进制格式。 bash Copy code `pg_dump -U username -W -F c -b -v -f "/path/to/your/file.backup" dbname` 这条命令会提示你输入密码,然后创建一个格式化的备份文件。 - **pg_dumpall**:导出整个数据库服务器的所有数据库和角色数据。 bash Copy code `pg_dumpall -U username -W -f "/path/to/your/file.sql"` 这会生成一个 SQL 脚本文件,包括创建数据库和用户的命令。 ### 2. 物理备份(文件系统级备份) - **直接复制数据目录**:在数据库停机的情况下,可以直接复制整个数据目录到另一位置或另一服务器。 - **使用工具如 rsync**:对于较大的