温馨提示×

debian postgresql怎么导入数据

小樊
47
2026-09-20 18:09:21
栏目: 云计算

在 Debian 上导入 PostgreSQL 数据,常见方式有以下几种,根据你数据来源格式选择:


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

1. 准备 SQL 文件

例如:data.sql

2. 导入到数据库

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

示例:

sudo -u postgres psql -d mydb -f /path/to/data.sql

如果你是普通用户且已有 PostgreSQL 权限:

psql -U 用户名 -d 数据库名 -f data.sql

二、使用 pg_restore 导入 .dump / 自定义格式备份

1. 使用 pg_dump 生成的备份

pg_dump -U 用户名 -F c -b -v -f backup.dump 数据库名

2. 恢复

pg_restore -U 用户名 -d 数据库名 -v backup.dump

示例:

sudo -u postgres pg_restore -d mydb backup.dump

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

1. 准备 CSV(第一行可无表头)

1,张三,25
2,李四,30

2. 使用 SQL 命令

COPY 表名 FROM '/path/to/data.csv' WITH (FORMAT csv);

⚠️ 注意:

  • 文件必须能被 postgres 用户读取
  • 最好放在 /tmp 或改权限

示例:

sudo cp data.csv /tmp/data.csv
sudo chmod 644 /tmp/data.csv
COPY users FROM '/tmp/data.csv' WITH (FORMAT csv);

四、从其他数据库迁数据(如 MySQL)

常用工具:

  • pgloader
sudo apt install pgloader
pgloader mysql://user:pwd@localhost/mydb postgresql:///pgdb

五、常见注意事项(Debian)

1. 服务状态

sudo systemctl status postgresql

2. 登录数据库

sudo -u postgres psql

3. 编码问题

确保数据库编码一致(UTF-8 推荐):

SHOW server_encoding;

如果你能告诉我:

  • 数据来源(SQL / CSV / 备份文件)
  • PostgreSQL 版本
  • 是否是新建数据库

我可以给你更精确的命令。

0 踩