You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Docker化的PostgreSQL 9.6中导入数据库架构与数据

将数据库架构与数据导入PostgreSQL 9.6 Docker容器的操作指南

看起来你已经顺利在PostgreSQL 9.6的Docker容器中创建了目标数据库,通过执行docker exec <container> psql -U <user> postgres -l命令也确认了数据库的存在,返回的数据库列表结果如下:

Name | Owner | Encoding | Collate | Ctype | Access privileges 
-------------------+--------------------+----------+------------+------------+----------------------- 
<database> | <user> | UTF8 | en_US.utf8 | en_US.utf8 | 
postgres | postgres | UTF8 | en_US.utf8 | en_US.utf8 | 
template0 | postgres | UTF8 | en_US.utf8 | en_US.utf8 | 

接下来你可以按照以下步骤完成数据库架构和数据的导入:

方法一:复制SQL文件到容器后导入

  1. 将本地SQL文件复制到Docker容器内
    假设你的架构文件是schema.sql,数据文件是data.sql,先把它们复制到容器的临时目录:

    docker cp /local/path/to/schema.sql <container>:/tmp/
    docker cp /local/path/to/data.sql <container>:/tmp/
    
  2. 导入数据库架构
    执行命令将架构文件导入到目标数据库:

    docker exec <container> psql -U <user> -d <database> -f /tmp/schema.sql
    
  3. 导入数据库数据
    架构导入完成后,再导入数据文件:

    docker exec <container> psql -U <user> -d <database> -f /tmp/data.sql
    

方法二:直接通过管道导入(无需复制文件)

如果你的SQL文件是压缩格式(比如.sql.gz),或者不想复制文件到容器,可以直接通过管道传输导入,这样更高效:

# 导入压缩的SQL文件
cat /local/path/to/dump.sql.gz | gunzip | docker exec -i <container> psql -U <user> -d <database>

# 导入未压缩的SQL文件
cat /local/path/to/dump.sql | docker exec -i <container> psql -U <user> -d <database>

注意:记得替换命令中的<container>、<user>、<database>为你实际的容器ID/名称、数据库用户和目标数据库名称。

内容的提问来源于stack exchange,提问作者Don Giulio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:38:44