You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django、PostgreSQL与pgAdmin端口冲突及数据库迁移异常求助

PostgreSQL、pgAdmin与Django问题排查方案

一、查看所有已连接的数据库及进程

  • 登录PostgreSQL命令行:sudo -u postgres psql
  • 列出所有数据库:\l
  • 查看当前活跃连接详情:SELECT pid, datname, usename, client_addr FROM pg_stat_activity;
  • 退出命令行:\q

二、清理占用默认端口(5432)的进程及冗余数据库

1. 定位并终止端口占用进程

  • 执行命令找出占用5432端口的进程:sudo lsof -i :5432 或 sudo netstat -tulpn | grep 5432
  • 获取输出中的进程PID,执行强制终止:sudo kill -9 <PID>(将< PID >替换为实际进程号)

2. 删除冗余数据库

  • 重新登录PostgreSQL命令行:sudo -u postgres psql
  • 删除指定冗余数据库:DROP DATABASE IF EXISTS <数据库名>;(替换为目标库名)
  • 验证删除结果:\l 确认目标数据库已移除

三、让PostgreSQL服务器在pgAdmin中正常显示

1. 确认PostgreSQL服务状态

  • 查看服务运行状态:sudo systemctl status postgresql
  • 若服务未启动,执行启动命令:sudo systemctl start postgresql

2. 在pgAdmin中重新注册服务器

  • 打开pgAdmin,右键点击「Servers」选择「Register」->「Server」
  • 「General」标签页:填写自定义服务器名称
  • 「Connection」标签页:
    • Host name/address:填localhost或127.0.0.1
    • Port:填清理后的默认端口5432,或你修改后的端口
    • Maintenance database:填postgres
    • Username:填postgres
    • Password:输入PostgreSQL的postgres用户密码,勾选「Save password」
  • 点击「Save」,配置正确即可看到服务器及下属数据库

四、修复Django迁移的「表已存在/不存在」错误

1. 校验DATABASES配置

  • 打开Django项目的settings.py,确保DATABASES配置与PostgreSQL实际参数一致:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': '<你的项目数据库名>',
            'USER': 'postgres',
            'PASSWORD': '<你的数据库密码>',
            'HOST': 'localhost',
            'PORT': '5432', # 必须和PostgreSQL使用的端口匹配
        }
    }
    

2. 重置迁移状态

  • 可选:备份当前数据库以防数据丢失:pg_dump -U postgres <数据库名> > backup.sql
  • 登录PostgreSQL命令行,删除Django迁移记录表:DROP TABLE IF EXISTS django_migrations;
  • 进入Django项目,删除所有migrations目录下的__pycache__文件夹,以及除__init__.py外的所有迁移文件
  • 重新生成初始迁移文件:python manage.py makemigrations
  • 执行迁移并忽略已存在的表:python manage.py migrate --fake-initial

3. 验证迁移结果

  • 登录PostgreSQL命令行,切换到项目数据库:\c <你的数据库名>,然后执行\dt查看所有表,确认结构正确
  • 启动Django服务:python manage.py runserver,检查项目是否正常运行

内容的提问来源于stack exchange,提问作者Stephen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 16:25:21