我有一个ansible任务,它将在postgresql数据库中加载一个db dump文件。
name: Apply prod dump file
become_user: postgres
shell: "PGPASSWORD={{ db_password }} psql -h localhost -d {{ db_name }} -U {{ db_user }} -f {{ server_path }}/dump.sql"
when: run_db_restore is defined and run_db_restore
tags: django.restore
问题是,转储文件包含创建角色和创建数据库部分,而我不想这样做,因为它会覆盖我用ANFILE创建的进程,所以我想预处理。
pg_restore --no-owner --data-only
在一个sql文件上,所以我只能创建表和导入数据。问题是我该怎么解决
psql -h localhost -d {{ db_name }} -U {{ db_user }} -f {{ server_path }}/dump.sql
所以我可以正确地导入数据库中的数据。
这个函数
pg_restore --no-owner --data-only -U admin -d database dump.sql
正在给我看
pg_restore: [archiver] input file appears to be a text format dump. Please use psql.