01-Ubuntu24.04LTS上安装PGSQL

目录

一、准备工作

1.1、系统要求

1.2 、更新 Ubuntu 系统

1.3 、安装依赖

1.4 、添加 PostgreSQL 16 软件源

二、安装 PostgreSQL 16 数据库

三、管理 PostgreSQL 服务

四、PostgreSQL 管理操作

4.1 、访问 Postgres 超级用户账户

4.2 、创建数据库并设置管理权限

4.3 、开启 PostgreSQL 16 远程访问


一、准备工作

安装 PostgreSQL 16 之前,需要做一些准备工作:

1.1、系统要求

硬件组件最低要求
处理器2GHz 或更快的处理器
内存4GB 或以上
磁盘空间1024MB 硬盘空间(可能需要额外空间用于数据或支持组件)
当前版本Ubuntu 24.04LTS

1.2 、更新 Ubuntu 系统

在Ubuntu 中执行以下命令,更新系统软件包:

sudo apt update  # 更新软件包列表
sudo apt upgrade # 升级软件包

1.3 、安装依赖

安装 PostgreSQL 16 运行所需的依赖包,这是确保数据库系统正常运行的基础:

sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https lsb-release curl

1.4 、添加 PostgreSQL 16 软件源

1、导入 PostgreSQL GPG 密钥,确保下载的软件包安全可靠:

curl -fSsL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /usr/share/keyrings/postgresql.gpg > /dev/null

2、根据需要,添加 PostgreSQL 16 仓库(选项其中一个):

  • 适用于生产或日常使用的稳定仓库

稳定仓库是大多数用户,尤其是生产环境中的首选。它会定期更新,确保版本稳定和安全:

echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main | sudo tee /etc/apt/sources.list.d/postgresql.list

导入 PostgreSQL GPG 密钥,并添加 PostgreSQL 软件源

  • 适用于开发者的测试仓库

如果正在进行开发或测试,可以使用快照或测试仓库。但请注意,由于测试版本可能不稳定,不适用于生产环境:

echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-snapshot main | sudo tee /etc/apt/sources.list.d/postgresql.list
  • 包含最新功能的测试仓库

设置最新功能的测试仓库:

echo deb [arch=amd64,arm64,ppc64el signed-by=/usr/share/keyrings/postgresql.gpg] http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg-testing main | sudo tee /etc/apt/sources.list.d/postgresql.list

3、更新软件包列表,让 Ubuntu 识别新添加的 PostgreSQL 16 软件源:

sudo apt update

二、安装 PostgreSQL 16 数据库

1、在Ubuntu 中执行以下命令,安装 PostgreSQL 16 服务器和客户端:

sudo apt install postgresql-client-16 postgresql-16

安装 PostgreSQL 16 服务器和客户端

2、安装完成后,检查 PostgreSQL 服务的状态:

sudo systemctl status postgresql

如果 PostgreSQL 服务已成功启动,你将会看到服务正在运行。

查看 PostgreSQL 服务是否已启动

三、管理 PostgreSQL 服务

安装完成后,我们可以对 PostgreSQL 服务进行管理操作:

  • 检查服务状态

确认 PostgreSQL 服务是否正在运行。在「终端」中执行以下命令:

sudo systemctl status postgresql
  • 启动、停止和重启服务

你也可以根据实际需要,手动启动、停止或重启 PostgreSQL 服务:

sudo systemctl start postgresql   # 启动服务

sudo systemctl stop postgresql    # 停止服务

sudo systemctl restart postgresql  # 重启服务
  • 设置开机自启动

为了提升使用便捷性,建议将 PostgreSQL 设置为系统启动时自动启动:

sudo systemctl enable postgresql  # 设置开机自启动

sudo systemctl disable postgresql # 禁用开机自启动

四、PostgreSQL 管理操作

4.1 、访问 Postgres 超级用户账户

1、在 PostgreSQL 中,postgres是默认的超级用户,它对执行管理命令至关重要。要切换到这个账户,请执行:

sudo -i -u postgres

2、进入账户后,输入以下命令打开 PostgreSQL 命令行界面:

psql

3、当你看到postgres=#提示符时,表示已经成功连接到 PostgreSQL 环境。

4、也可以使用以下命令直接访问 PostgreSQL(推荐)

sudo -u postgres psql

5、执行exit随时退出 PostgreSQL 环境。

4.2 、创建数据库并设置管理权限

创建 PostgreSQL 数据库并设置管理权限

1、出于安全等因素考虑,通常我们并不直接使用postgres帐户,而是创建新的 PostgreSQL 用户角色:

sudo su - postgres -c "createuser <用户名>"  # 把 <用户名> 替换成你想要的用户名

sudo su - postgres -c "createuser jackdb"  # 把 <用户名> 替换成你想要的用户名

2、新用户创建一个数据库:

sudo su - postgres -c "createdb <数据库名>"  # 把 <数据库名> 替换成你想要的数据库名称

sudo su - postgres -c "createdb ai"  # 把 <数据库名> 替换成你想要的数据库名称

3、授予用户访问数据库的权限:

sudo -u postgres psql
GRANT ALL PRIVILEGES ON DATABASE ai TO jackdb;

4.3 、开启 PostgreSQL 16 远程访问

默认情况下,PostgreSQL 只监听本地网络接口。如果需要远程连接 PostgreSQL,需要将其调整为其他指定的网络接口:

1、使用文本编辑器打开 PostgreSQL 配置文件:

sudo vi /etc/postgresql/16/main/postgresql.conf

2、在「Connection Settings」部分,找到listen_addresses = 'localhost',取消注释并根据你的需要进行修改:

  • 如果只允许特定 IP 地址访问,就把localhost替换成该 IP 地址。
  • 如果要允许所有网络连接,就改成listen_addresses = '*'

开启 PostgreSQL 16 远程访问IP限制

3、修改pg_hba.conf文件

  • 查找位置
sudo find /  -name pg_hba.conf
  • 修改配置文件pg_hba.conf
sudo vi  /etc/postgresql/16/main/pg_hba.conf

增加一条数据

host    all    all    0.0.0.0/0    trust

4、保存配置文件,并重启 PostgreSQL 服务让修改生效:

sudo systemctl restart postgresql

5、查看数据库进程状态

sudo lsof -i :5432

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/927004.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

利用阿里云镜像仓库和 Github Action 同步镜像

利用阿里云镜像仓库和 Github Action 同步镜像 由于某些未知原因,国内无法直接从 DockerHub 拉取镜像,在不使用 VPN 等违法工具的情况下,可以利用 GitHub 的 Action 流水线功能,将镜像推送到阿里云的个人镜像仓库中。 这种方式相较于其他方式虽然相对麻烦,但好在免费,且实…

iOS与Windows间传文件

想用数据线从 windows 手提电脑传文件入 iPhone&#xff0c;有点迂回。 参考 [1]&#xff0c;要在 windows 装 Apple Devices。装完、打开、插线之后会检测到手机&#xff0c;界面&#xff1a; 点左侧栏「文件」&#xff0c;不是就直接可以传&#xff0c;而是要通过某个应用传…

如何使用Python解析从淘宝API接口获取到的JSON数据?

基本的 JSON 解析 当从淘宝 API 接口获取到数据后&#xff08;假设数据存储在变量response_data中&#xff09;&#xff0c;首先要判断数据类型是否为 JSON。如果是&#xff0c;就可以使用 Python 内置的json模块进行解析。示例代码如下&#xff1a; import json # 假设respon…

Cesium K-means自动聚合点的原理

Cesium K-means自动聚合点的原理 Cesium 是一个开源的 JavaScript 库&#xff0c;用于在 Web 环境中创建 3D 地球和地图应用。它能够处理地理空间数据&#xff0c;并允许开发者对大规模的地理数据进行可视化展示。在一些应用中&#xff0c;尤其是当处理大量地理坐标点时&#…

入门数据结构JAVADS——如何构建一棵简单二叉排序树

目录 前言 什么是二叉排序树 二叉排序树的特点 二叉排序树示意图 构建二叉排序树 插入元素 搜索元素 删除元素 完整代码 结尾 前言 在整个十一月,笔者因为一些原因停笔了,但马上迈入12月进而进入2025年,笔者决定不再偷懒了,继续更新以促进学习的积极性.闲话说到这,今天…

【深度学习】四大图像分类网络之AlexNet

AlexNet是由Alex Krizhevsky、Ilya Sutskever&#xff08;均为Hinton的学生&#xff09;和Geoffrey Hinton&#xff08;被誉为”人工智能教父“&#xff0c;首先将反向传播用于多层神经网络&#xff09;在2012年ImageNet图像分类竞赛中提出的一种经典的卷积神经网络。AlexNet在…

基于 Python、OpenCV 和 PyQt5 的人脸识别上课打卡系统

大家好&#xff0c;我是Java徐师兄&#xff0c;今天为大家带来的是基于 Python、OpenCV 和 PyQt5 的人脸识别上课签到系统。该系统采用 Python 语言开发&#xff0c;开发过程中采用了OpenCV框架&#xff0c;Sqlite db 作为数据库&#xff0c;系统功能完善 &#xff0c;实用性强…

DevOps工程技术价值流:Jenkins驱动的持续集成与交付实践

一、Jenkins系统概述 Jenkins&#xff1a;开源CI/CD引擎的佼佼者 Jenkins&#xff0c;作为一款基于Java的开源持续集成&#xff08;CI&#xff09;与持续交付&#xff08;CD&#xff09;系统&#xff0c;凭借其强大的插件生态系统&#xff0c;成为DevOps实践中不可或缺的核心…

亚马逊开发视频人工智能模型,The Information 报道

根据《The Information》周三的报道&#xff0c;电子商务巨头亚马逊&#xff08;AMZN&#xff09;已开发出一种新的生成式人工智能&#xff08;AI&#xff09;&#xff0c;不仅能处理文本&#xff0c;还能处理图片和视频&#xff0c;从而减少对人工智能初创公司Anthropic的依赖…

mac下安装Ollama + Open WebUI + Llama3.1

本文介绍mac下安装Ollama Open WebUI Llama3.1 8b具体步骤。 目录 推荐配置Ollama Open WebUI Llama3.1简介安装Ollama安装Open WebUI 推荐配置 m1以上芯片&#xff0c;16g内存&#xff0c;20g以上硬盘空间 Ollama Open WebUI Llama3.1简介 Ollama: 下载&#xff0c;管理…

Swift实现高效链表排序:一步步解读

文章目录 前言摘要问题描述题解解题思路Swift 实现代码代码分析示例测试与结果 时间复杂度空间复杂度总结关于我们 前言 本题由于没有合适答案为以往遗留问题&#xff0c;最近有时间将以往遗留问题一一完善。 148. 排序链表 不积跬步&#xff0c;无以至千里&#xff1b;不积小流…

小程序-基于java+SpringBoot+Vue的校园快递平台系统设计与实现

项目运行 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境&#xff1a;IDEA&#xff0c;Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境&#xff1a;Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

网页开发的http基础知识

请求方式-GET&#xff1a;请求参数在请求行中&#xff0c;没有请求体&#xff0c;如&#xff1a;/brand/findAll?nameoPPo&status1。GET请求大小在浏览器中是有限制的请求方式-POST&#xff1a;请求参数在请求体中&#xff0c;POST请求大小是没有限制的 HTTP请求&#xf…

Qt自定义 Qt Designer 插件

创建 Qt Designer 插件项目 Qt 提供两种设计插件的 API&#xff0c;可以用于扩展 Qt 的功能。高级 API 用于设计插件以扩展 Qt 的功能&#xff0c;例如定制数据库驱动、图像格式、文本编码、定制样式等。Qt Designer 里大量采用了插件&#xff0c;点击 Qt Creator 的“Help”-…

周鸿祎再次“创业”,盯上百度

周鸿祎特地拍了部短剧来推广的新产品&#xff0c;终于上线了。 11月27日晚间&#xff0c;360正式发布多模态内容创作引擎“纳米搜索”。 作为当前AI应用最红的赛道之一&#xff0c;AI搜索已经有腾讯、秘塔、商汤、抖音等公司入局。传统搜索老大百度也在发力。竞争不妨碍有搜索…

003 MATLAB基础计算

01 方程组的求解 多项式及其运算 多项式在MATLAB中以向量形式存储。 即n次多项式用一个长度为n1的系数向量来表示&#xff0c;且按降幂&#xff0c;缺少的幂次对应的向量元素为0。 多项式的运算主要包括多项式的四则运算、求导、求值和求根运算 多项式的四则运算&#xff1a…

金蝶云苍穹:个人上传授权文件

金蝶云苍穹开发者门户--下载文件地址。

解决windows下php8.x及以上版本,在Apache2.4中无法加载CURL扩展的问题

本文已首发于&#xff1a;秋码记录 若你也想搭建一个个人博客&#xff0c;可参考&#xff1a;国内 gitee.com Pages 下线了&#xff0c;致使众多站长纷纷改用 github、gitlab Pages 托管平台 在日新月异的信息化下&#xff0c;软件也在跟随着互联网的脚步&#xff0c;逐步推进…

数据库管理-第267期 23ai:Oracle Data Redaction演示(20241128)

数据库管理267期 2024-11-286 数据库管理-第267期 23ai&#xff1a;Oracle Data Redaction演示&#xff08;20241128&#xff09;1 示例表及数据2 创建编校策略2.1 名字全编校2.2 电话部分编校 3 DML演示3.1 场景13.2 场景2 总结 数据库管理-第267期 23ai&#xff1a;Oracle Da…

根据电池容量及功耗估算充电及放电时间

根据电池容量和功耗估算充电和放电时间的方法可以通过以下简单的公式进行&#xff1a; 1. 估算放电时间 放电时间是指电池在一定功耗下&#xff0c;能够持续供应电力的时间。可以使用以下公式&#xff1a; 解释&#xff1a; 电池容量&#xff1a;电池的容量一般以毫安时&…