在 Debian 上导入 PostgreSQL 数据,常见方式有以下几种,按使用场景给你说明。
psql 导入 SQL 文件(最常用)例如:data.sql
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
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是客户端命令,更安全
常用工具:
pgloaderora2pg(Oracle)ETL 工具(如 DBeaver)Debian 安装 pgloader:
sudo apt install pgloader
sudo -u postgres psql
先创建:
sudo -u postgres createdb mydb
确保 SQL 文件编码为 UTF-8。
如果你能告诉我:
我可以给你更精确的命令。