如何“重置”postgresql数据库?

twh00eeo  于 2023-01-13  发布在  PostgreSQL
关注(0)|答案(3)|浏览(292)

我正尝试将我的django项目转移到生产环境中,在此过程中我从使用sqlite切换到了postgres.在我的开发环境中,每当我对我的模型或任何会显著改变数据库设置方式的东西进行更改时,我实际上只是将我的sqlite文件拖到垃圾桶中,然后运行syncdb创建一个新的空文件(可能是不好的做法)。现在我正在使用postgres,我想做同样的事情,而不是实际删除数据库。基本上我想知道是否有一种方法可以完全清空它或清除它,然后只运行syncdb重新开始?
我也欢迎任何可能引导我走上正确道路的替代建议,我对此非常陌生。

8iwquhpp

8iwquhpp1#

您可以使用flush。只需运行以下命令:

python manage.py flush
qvtsj1bj

qvtsj1bj2#

首先,如果你有initial data in your database,你可以使用dumpdata命令:

python manage.py dumpdata > initial_data.json

对于特定应用程序运行:

python manage.py dumpdata <app_name> > initial_data.json

然后运行flush命令清理数据库:

python manage.py flush

第三步也是最后一步,运行loaddata命令将初始数据装载到数据库中,并通过运行createsuperuser命令创建超级用户

python manage.py loaddata initial_data.json
python manage.py createsuperuser
ddhy6vgd

ddhy6vgd3#

如果刷新不起作用,您可以删除整个数据库。
转到Windows命令行。如果服务器为“postgres”且数据库名称为“mydb”,请运行:

  1. C:\> psql -U postgres
    1.您将看到postgres-#提示符。下一步是关闭运行以下命令的连接:
    SELECT * FROM pg_stat_activity WHERE pg_stat_activity.数据名称='mydb';SELECT pg_终止_后端(pid)FROM pg_统计_活动WHERE数据名= 'mydb';
    1.一次性删除数据库:DROP DATABASE mydb;

相关问题