当前位置: 首页 > news >正文

docker容器内,将django项目数据库改为postgresql

容器为ubuntu20.04版本,新建了一套django项目,使用的默认sqllit3,换为postgresql,容器里安装postgresql方法

步骤1: 安装PostgreSQL数据库

# 打开一个bash会话在你的容器中
docker exec -it <container_id_or_name> bash# bash会话容器中运行
apt-get update
apt-get install -y postgresql postgresql-contrib
步骤2: 配置PostgreSQL数据库
# 启动PostgreSQL
service postgresql start# 切换到postgres用户并创建一个新的数据库和用户
su - postgres
createuser <your_username> -P
createdb <your_database_name> -O <your_username>
exit# 在<your_username>和<your_database_name>处填入你想要的用户名和数据库名。
# -P选项将提示你为新用户设置密码。
步骤3: 安装PostgreSQL的Django适配器
pip install psycopg2
# 或者
pip install psycopg2-binary
步骤4: 更新Django的数据库设置
DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql','NAME': '<your_database_name>','USER': '<your_username>','PASSWORD': '<your_password>','HOST': 'localhost','PORT': '5432',}
}
步骤5: 迁移数据库
# Django迁移到新的PostgreSQL数据库
python manage.py migrate# 运行你的Django项目
python manage.py runserver 0.0.0.0:8000

步骤6: 可视化工具连接数据库

1. 配置允许远程连接

默认情况下,PostgreSQL 只允许本地连接。为了允许远程连接,你需要修改两个配置文件:postgresql.conf 和 pg_hba.conf。这些文件通常位于 /etc/postgresql/<version>/main/ 或者 /var/lib/postgresql/data/(如果你使用的是官方的 PostgreSQL Docker 镜像)。

1. 修改 postgresql.conf:(注意删除最前面 #)

listen_addresses = '*'

2. 修改 pg_hba.conf:

添加或修改以下行以允许远程连接

    # TYPE  DATABASE        USER            ADDRESS                 METHODhost    all             all             0.0.0.0/0               md5

3. 重启服务

service postgresql restart

http://www.lryc.cn/news/276643.html

相关文章:

  • 【echarts】雷达图参数详细介绍
  • 网络安全试题进阶——附答案
  • 二刷Laravel 教程(构建页面)总结Ⅰ
  • C++|19.C++类与结构体对比
  • Apache Camel笔记
  • CSDN定制的奖品谁不想要?
  • 橄榄油行业分析:预计2029年将达到298亿美元
  • Maven 工程 java -jar 时提示 xxx-SNAPSHOT.jar 中没有主清单属性
  • 2. Mybatis 中SQL 执行原理
  • 平衡合规与发展天平, 激发数据要素价值
  • JAVA毕业设计118—基于Java+Springboot的宠物寄养管理系统(源代码+数据库)
  • oracle 19c容器数据库数据加载和传输-----SQL*Loader(一)
  • 超维空间M1无人机使用说明书——52、ROS无人机二维码识别与降落
  • Mac 安装Nginx教程
  • 【促销定价】背后的算法技术 1 - 业务问题拆解
  • CNAS中兴新支点——什么是安全测试,安全测试报告有什么作用,主要测试哪些内容?
  • 【shell发送邮件】
  • Qt实现简单的分割窗口
  • 简单易懂的PyTorch激活函数大全详解
  • x-cmd pkg | pdfcpu - 强大的 PDF 处理工具
  • linux 压力测试 AB ApacheBench
  • 【云计算】云存储是什么意思?与本地存储有什么区别?
  • 月入7K,19岁少年转行网优,他凭什么打破低学历魔咒?
  • 【C/C++】轻量级跨平台 开源串口库 CSerialPort
  • 大创项目推荐 深度学习图像修复算法 - opencv python 机器视觉
  • 嵌入式系统复习--基于ARM的嵌入式程序设计
  • 【C++入门到精通】异常 | 异常的使用 | 自定义异常体系 [ C++入门 ]
  • NX二次开发 Block UI 指定方位控件的应用
  • 2024年【R2移动式压力容器充装】模拟考试及R2移动式压力容器充装实操考试视频
  • 数仓工具—Hive进阶之StorageHandler(23)