清除新的postgresql数据库

清除新的postgresql数据库,sql,database,scripting,postgresql,Sql,Database,Scripting,Postgresql,我使用psql创建了一个PostgreSQL数据库转储 现在,我要从文件还原此备份: psql -d thesamename -f /my/backup/file 但我得到的错误是数据已经存在 是否有任何命令可以删除数据库中的所有内容,使其处于刚刚创建的状态,除了再次删除和创建之外? (我不想再次设置owner、tablescpace等) 也许可以用备份文件中的数据库覆盖数据库?(备份文件来自另一个数据库服务器) 请特别查看这些脚本的-c选项。您可以删除数据库的公共架构,然后在以下操作之后重

我使用
psql
创建了一个PostgreSQL数据库转储

现在,我要从文件还原此备份:

psql -d thesamename -f /my/backup/file
但我得到的错误是数据已经存在

是否有任何命令可以删除数据库中的所有内容,使其处于刚刚创建的状态,除了再次删除和创建之外?
(我不想再次设置owner、tablescpace等)

也许可以用备份文件中的数据库覆盖数据库?(备份文件来自另一个数据库服务器)


请特别查看这些脚本的
-c
选项。

您可以删除数据库的
公共
架构,然后在以下操作之后重新创建:

DROP SCHEMA PUBLIC CASCADE;
CREATE SCHEMA PUBLIC AUTHORIZATION postgres;
GRANT ALL ON SCHEMA public TO public;

希望对您有所帮助。

您可以根据需要对其进行操作。。您只需要转储数据。一旦开始转储数据,架构文件将自动生成。无需删除旧数据。它将与现有数据上的新数据重叠

您可以通过此链接了解更多说明

你可以用


将模式上的所有公共项授予公共项

听起来你只需要使用TRUNCATE。哦,谢谢。我在
psql
中查找
--clean
选项,而不是
pg\u dump