在 CentOS 上“导入 PostgreSQL 数据库”通常有以下几种常见场景,下面按最常用方式给你说明。
psql 导入 SQL 文件(最常见)假设:
mydbpostgres/tmp/mydb.sqlsu - postgres
createdb mydb
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
COPY mytable FROM '/path/to/file.csv' DELIMITER ',' CSV HEADER;
注意:
postgres 用户需有读权限sudo chown postgres:postgres /tmp/mydb.sql
export PGCLIENTENCODING=UTF8
createuser -s myuser
su - postgres
createdb testdb
psql testdb < /backup/testdb.sql
如果你能告诉我:
我可以给你更精确的命令。