温馨提示×

centos怎样导入postgresql数据库

小樊
46
2026-09-12 07:29:26
栏目: 云计算

在 CentOS 上“导入 PostgreSQL 数据库”通常有以下几种常见场景,下面按最常用方式给你说明。


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

1. 准备工作

假设:

  • 数据库名:mydb
  • 用户名:postgres
  • SQL 文件:/tmp/mydb.sql

2. 创建数据库(如不存在)

su - postgres
createdb mydb

3. 导入 SQL 文件

psql mydb < /tmp/mydb.sql

或使用指定用户:

psql -U postgres -d mydb -f /tmp/mydb.sql

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

如果是用 pg_dump -Fc 生成的备份:

pg_restore -U postgres -d mydb /tmp/mydb.dump

常用参数:

pg_restore -U postgres -d mydb --clean --if-exists /tmp/mydb.dump

三、从其他服务器导入(远程)

psql -h 192.168.1.10 -U postgres -d mydb -f mydb.sql

四、导入 CSV 文件(表级)

COPY mytable FROM '/path/to/file.csv' DELIMITER ',' CSV HEADER;

注意:

  • 文件必须在 PostgreSQL 服务器本机
  • postgres 用户需有读权限

五、常见问题

1. 报权限错误

sudo chown postgres:postgres /tmp/mydb.sql

2. 编码问题

export PGCLIENTENCODING=UTF8

3. 用户不存在

createuser -s myuser

六、示例完整流程

su - postgres
createdb testdb
psql testdb < /backup/testdb.sql

如果你能告诉我:

  • SQL 文件 / dump 文件 / CSV
  • PostgreSQL 版本
  • 是否跨服务器

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

0