【发布时间】:2018-09-06 17:51:04
【问题描述】:
我正在尝试使用 psycopg 更改表中 id 字段的序列。这在我的本地服务器上运行良好,但不适用于生产。我没有遇到异常,序列只是没有重新启动。
def alter_sequence(last_id):
try:
dbname = settings.DATABASES['default']['NAME']
user = settings.DATABASES['default']['USER']
host = settings.DATABASES['default']['HOST']
password = settings.DATABASES['default']['PASSWORD']
port = settings.DATABASES['default']['PORT']
connection = psycopg2.connect(
dbname=dbname,
user=user,
password=password,
host=host,
port=port,
)
cursor = connection.cursor()
cursor.execute('ALTER SEQUENCE "gs_requests_id_seq" RESTART WITH {}'.format(last_id))
connection.close()
except Exception as e:
print(e)
pass
我仔细检查了数据库设置 - 正确。由 django ORM 使用此设置执行的其他数据库操作工作正常。
我认为,关于我的项目设置的信息不足,但不知道我需要指定哪些信息。我的本地计算机上有 postgres 9.6,生产环境中有 10.1。
【问题讨论】:
标签: python sql django postgresql psycopg2