如何将本地PostgreSQL数据导入Docker化Django应用的数据库容器
Docker容器PostgreSQL导入本地数据操作步骤
1. 确认当前连接的数据库
首先检查是否连接到Django使用的目标数据库(通常为animalzijn):
SELECT current_database();
若输出不是animalzijn,执行切换命令:
\c animalzijn;
2. 执行SQL文件导入
你已将SQL文件放入容器的pgd_snapshots目录,直接用PostgreSQL的导入命令执行:
\i /pgd_snapshots/[你的SQL文件名].sql;
将[你的SQL文件名]替换为实际文件名,例如:
\i /pgd_snapshots/local_data_dump.sql;
3. 验证导入结果
导入完成后,查询目标表确认数据是否成功导入,比如检查后台登录所需的accounts_account表:
SELECT * FROM accounts_account;
若能查询到数据,即可尝试登录Django后台。
关键注意点
- 你的
entrypoint.sh中包含python manage.py flush --no-input命令,该命令会清空所有表数据,且每次容器启动都会执行。如果需要保留导入的数据,建议注释掉这一行,或调整容器启动逻辑。 - 确保SQL文件编码与容器内PostgreSQL的编码一致,避免出现乱码。
- 若导入时出现权限错误,确认
animalzijn用户拥有目标数据库的CREATE、INSERT等必要权限。
内容的提问来源于stack exchange,提问作者mightycode Newton
相关产品推荐
相关产品推荐

