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

ubuntu 安装 postgresql

在 Ubuntu 系统中安装 PostgreSQL 的步骤如下:

步骤 1:更新软件包列表

sudo apt update

步骤 2:安装 PostgreSQL

Ubuntu 默认仓库包含 PostgreSQL,直接安装:

sudo apt install postgresql postgresql-contrib -y

postgresql-contrib 包含附加功能模块(可选但推荐)。

步骤 3:验证服务状态

安装完成后,PostgreSQL 服务会自动启动。检查状态:

sudo systemctl status postgresql

正常输出应显示 active (running)。

步骤 4:设置开机自启

sudo systemctl enable postgresql

步骤 5:配置 PostgreSQL

  1. 登录 PostgreSQL
    默认管理员用户为 postgres。切换用户并进入数据库命令行:
sudo -u postgres psql
  1. 修改管理员密码
    在 psql 命令行中:
ALTER USER postgres WITH PASSWORD 'your_password';
\q  # 退出
  1. 创建新用户和数据库
# 创建新用户
sudo -u postgres createuser --interactive
# 根据提示输入用户名,并选择是否为超级用户

# 创建新数据库
sudo -u postgres createdb mydb

# 赋予用户权限(通过 psql)
sudo -u postgres psql
\c mydb  # 连接到数据库
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;

步骤 6:允许远程访问(可选)

修改配置文件:

sudo nano /etc/postgresql/<版本>/main/postgresql.conf

找到 listen_addresses 并修改为:

listen_addresses = '*'  # 允许所有 IP 连接

配置客户端认证:

sudo nano /etc/postgresql/<版本>/main/pg_hba.conf

添加一行允许远程访问(示例允许所有 IP 通过密码访问):

host  all  all  0.0.0.0/0  scram-sha-256

重启服务:

sudo systemctl restart postgresql

步骤 7:防火墙配置(可选)

开放默认端口 5432:

sudo ufw allow 5432/tcp
sudo ufw reload

常见问题解决

1. 忘记 postgres 用户密码

停止 PostgreSQL 服务:

sudo systemctl stop postgresql

启动单用户模式:

sudo -u postgres psql --single -d postgres

重置密码:

ALTER USER postgres WITH PASSWORD 'new_password';
\q

重启服务:

sudo systemctl start postgresql

2. 连接被拒绝

检查 postgresql.conf 和 pg_hba.conf 配置是否正确。

查看日志文件:

sudo tail -n 50 /var/log/postgresql/postgresql-<版本>-main.log

扩展说明

1. 安装最新版本

若需安装官方最新版(如 PostgreSQL 16):

添加 PostgreSQL 官方仓库:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

更新并安装:

sudo apt update
sudo apt install postgresql-16 -y

2. 完全卸载 PostgreSQL

sudo apt purge postgresql*
sudo rm -rf /etc/postgresql/ /var/lib/postgresql/
sudo apt autoremove

后续操作建议
备份与恢复:

# 备份数据库
sudo -u postgres pg_dump mydb > mydb_backup.sql

# 恢复数据库
sudo -u postgres psql -d mydb -f mydb_backup.sql

图形化管理工具:安装 pgAdmin4 或使用 DBeaver。

性能优化:调整 postgresql.conf 中的 shared_buffers 和 work_mem。

通过以上步骤,你可以在 Ubuntu 系统上快速部署并配置 PostgreSQL 数据库。

http://www.dtcms.com/a/99898.html

相关文章:

  • Dubbo(23)如何配置Dubbo的服务消费者?
  • 蓝桥杯_DS18B20温度传感器
  • 【Java】Java核心知识点与相应面试技巧(六)——类与对象(一)
  • 什么是CMS?常用CMS有哪些?
  • Oracle数据库数据编程SQL<2.3 DML增、删、改及merge into>
  • 【学Rust写CAD】15 定点数实现(fixed.rs)
  • CSS中的em,rem,vm,vh详解
  • PipeWire 音频设计与实现分析一——介绍
  • C# 字符串(String)
  • 前端路由守卫与后端权限验证,仅使用路由守卫是否安全?
  • docker日志大小和保存管理
  • 常用的排序算法
  • 浅析Android Jetpack ACC之ViewModel
  • vector之内存分配详解
  • 23 种设计模式中的迭代器模式
  • Three.js 快速入门教程【十九】CSS2DRenderer(CSS2D渲染器)介绍,实现场景中物体或设备标注标签信息
  • QML中刷新图片的三种方法对比分析
  • [ComfyUI] 如何升级自定义节点(Custom Nodes)
  • 计算机网络和因特网
  • AGI 的概念、意义与未来展望
  • 【AI论文】挑战推理的边界:大型语言模型的数学基准测试
  • Keepass恢复明文主密码漏洞(CVE-2023-3278)复现与hashcat爆破学习
  • Array数组常用方法总结(javascript版)
  • SpringBoot的自动装配原理
  • Redis-常用命令
  • Spring 过滤器(Filter)和过滤器链(Filter Chain)完整示例,包含多个过滤器和Filter 生命周期
  • 简单介绍一下Unity中的material和sharedMaterial
  • PipeWire 音频设计与实现分析三——日志子系统
  • vxe-table 设置单元格可编辑无效问题解决
  • 网络传输优化之多路复用与解复用