Django syncdb锁定表创建

时间:2009-03-23 16:16:18

标签: python django django-syncdb

我添加了新模型并推送到我们的登台服务器,运行syncdb来创建他们的表,然后它就锁定了。它得到了'创建表photos_photousertag'和postgres输出显示创建'photos_photousertag_id_seq'的通知,但是否则我得不到任何说法。我不能ctrl + c syncdb进程,我没有迹象表明从这里采取什么路线。还有其他人遇到过这个吗?

3 个答案:

答案 0 :(得分:1)

我们使用postgres,虽然我们没有遇到这个特定问题,但您可能会发现一些有助于调试的步骤:

一个。您使用的是什么版本的postgres和psycopg2?就此而言,什么版本的django?

湾尝试使用“--verbosity = 2”选项运行syncdb命令以显示所有输出。

℃。通过运行“manage.py sql”命令找到django正在生成的SQL。在postgres shell中为新模型运行CREATE TABLE语句,看看有什么发展。

d。以postgres方式打开错误日志记录,语句日志记录和服务器状态日志,以查看是否可以捕获任何特定消息。

过去,我们通常会发现选项b或选项c都指出了问题。

答案 1 :(得分:1)

我刚刚经历过这一点,结果证明这只是一张普通的旧锁,与Django无关。一旦清除,同步就完成了。

尝试查询同步被卡住的表,并确保首先正常工作。

答案 2 :(得分:0)

此处也很奇怪,但只需重新启动PostgreSQL服务(或服务器)即可解决问题。我曾尝试手动粘贴psql中的表创建代码,但这也没有解决它(好吧,如果它是一个锁定的东西就没办法) - 所以我只是用了重启:

  

systemctl restart postgresql.service

这是我的Suse盒子。

我不确定重新加载服务/服务器是否也会提升现有的表锁?