温馨提示×

debian postgresql怎样导入数据

小樊
37
2026-09-11 09:14:49
栏目: 云计算

在 Debian 上导入 PostgreSQL 数据,常见方式有以下几种,按使用场景给你说明。


一、使用 psql 导入 SQL 文件(最常用)

1. 准备 SQL 文件

例如:data.sql

2. 导入到数据库

sudo -u postgres psql -d 数据库名 -f data.sql

示例:

sudo -u postgres psql -d mydb -f /home/user/data.sql

如果你是普通用户且已配置权限:

psql -U username -d mydb -f data.sql

二、使用 pg_restore 导入备份文件(.dump / .tar

适用于 pg_dump -F c-F t 导出的文件。

sudo -u postgres pg_restore -d 数据库名 备份文件.dump

示例:

sudo -u postgres pg_restore -d mydb backup.dump

常用参数:

pg_restore -d mydb --clean --if-exists backup.dump

三、导入 CSV 文件(表数据)

1. 表结构已存在

COPY 表名 FROM '/path/to/file.csv' WITH (FORMAT csv, HEADER true);

示例(在 psql 中执行):

\copy users FROM '/home/user/users.csv' WITH (FORMAT csv, HEADER true);

注意:

  • COPY 需要 PostgreSQL 服务端可读路径
  • \copy 是客户端命令,更安全

四、从 MySQL / 其他数据库迁移

常用工具:

  • pgloader
  • ora2pg(Oracle)
  • ETL 工具(如 DBeaver)

Debian 安装 pgloader:

sudo apt install pgloader

五、常见问题

1. 权限不足

sudo -u postgres psql

2. 数据库不存在

先创建:

sudo -u postgres createdb mydb

3. 编码问题

确保 SQL 文件编码为 UTF-8。


如果你能告诉我:

  • 数据格式(SQL / CSV / dump)
  • 数据来源(备份 / 新建 / 其他数据库)

我可以给你更精确的命令

0