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

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

相关文章:

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…...

Esp32使用micropython基于espnow实现语音对讲机

ESP-NOW协议介绍 ESP-NOW 是乐鑫自主研发的无连接通信协议,具有短数据包传输功能。该协议使多个设备能够以简单的方式相互通信。ESP-NOW 支持以下功能: 加密和未加密的单播通信; 混合加密和未加密的对等设备; 最多可携带 250 字节 的有效载荷; 发送回调功能,可以设置用于…...

Docker 容器隔离关键技术:SELinux

Docker 容器隔离关键技术&#xff1a;SELinux SELinux&#xff08;Security-Enhanced Linux&#xff09; 是 Linux 内核中的一项安全机制&#xff0c;用于实现强制访问控制&#xff08;MAC&#xff09;。Docker 利用了 SELinux 来增强容器的隔离性&#xff0c;通过对文件、进程…...

Java并发07之ThreadLocal

文章目录 1 ThreadLocal原理2 内部结构3 内存泄露问题4 entry的key为什么被设计为弱引用 1 ThreadLocal原理 ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问时能保证各个线程的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说都是private st…...

【单细胞数据库】癌症单细胞数据库CancerSEA

数据库地址&#xff1a;home (hrbmu.edu.cn) Cite Huating Yuan, Min Yan, Guanxiong Zhang, Wei Liu, Chunyu Deng, Gaoming Liao, Liwen Xu, Tao Luo, Haoteng Yan, Zhilin Long, Aiai Shi, Tingting Zhao, Yun Xiao, Xia Li, CancerSEA: a cancer single-cell state atlas…...

Rsa加解密 + 签名验签

Rsa加解密 概述聚合算法名称&#xff08;用于创建加密器&#xff09;基本概念填充方式分块加密 基本使用生成密钥加解密创建加密器设置模式&#xff08;加密&#xff09;、公钥对明文加密&#xff0c;并对结果进行Base64编码对以上结果&#xff0c;进行解密 设置模式&#xff0…...

bugku-web-留言板1

大小写绕过也不行 <ScRipt>ALeRt(“XSS”);</sCRipT> 双写绕过可以 <scscriptript>alert(z)</scscriptript> 改变大小写 在测试过程中&#xff0c;我们可以改变测试语句的大小写来绕过XSS规则&#xff1a; 比如&#xff1a;<script>alert(“xs…...

进程状态的学习

进程状态就是 task_struct 内的一个整数 状态间是可以进行转化的 运行&#xff1a; 每一个框都是进程的task_struct&#xff0c;都有唯一的pcb和pid来标识它的唯一性 让CPU选择一个进程去运行&#xff0c;本质是选择一个进程的PCB去运行&#xff0c;task_struct里一定有内存指…...

Vue 2.0->3.0学习笔记(Vue 3 (四)- Composition API 的优势)

Vue 2.0-&#xff1e;3.0学习笔记&#xff08;Vue 3 &#xff08;四&#xff09;- Composition API 的优势&#xff09; Composition API 的优势1. Options API 存在的问题2. Composition API 的优势 Composition API 的优势 1. Options API 存在的问题 笔记 使用传统OptionsA…...

close and shutdown?

背景&#xff1a;我们要讲述的是网络编程中常用的两个API&#xff1a; #include <unistd.h> int close(int fd); #include <sys/socket.h> int shutdown(int sockfd, int how); 以及TCP的半连接&#xff0c;半打开。 shutdown函数的行为依赖第二个参数区分&#xf…...

PostgreSQL + hasura + Apollo + GraphQL + React + Antd

技术栈 PostgreSQL hasura Apollo GraphQL React Antd 适用于复杂的查询,快速开发 环境安装 安装PostgreSQL hasura,使用docker安装 使用 Docker Compose 部署时&#xff0c;它会同时启动两个容器PostgreSQL和 Hasura GraphQL ,如下 version: "3.6" serv…...

Android笔记【10】

一、前言 学习课程时&#xff0c;对于自己不懂的点的记录。 二、内容 学习一段代码&#xff1a; val drawerState rememberDrawerState(DrawerValue.Closed)val scope rememberCoroutineScope()Scaffold (topBar{TopAppBar(navigationIcon {IconButton(onClick {scope.lau…...

Leetcode打卡:N皇后

执行结果&#xff1a;通过 题目&#xff1a;51 N皇后 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。 给你一个整数 n &#…...

Linux内核4.14版本——ccf时钟子系统(3)——ccf一些核心结构体

目录 1. struct clk_hw 2. struct clk_ops 3. struct clk_core 4. struct clk_notifier 5. struct clk 6. struct clk_gate 7. struct clk_divider 8. struct clk_mux 9. struct clk_fixed_factor 10. struct clk_fractional_divider 11. struct clk_multiplier 12…...

[Deep Learning] 深度学习中常用函数的整理与介绍(pytorch为例)

文章目录 深度学习中常用函数的整理与介绍常见损失函数1. L2_loss | nn.MSELoss()公式表示&#xff1a;特点&#xff1a;应用&#xff1a;缺点&#xff1a;主要参数&#xff1a;示例用法&#xff1a;注意事项&#xff1a; 2. L1 Loss | nn.L1Loss数学定义&#xff1a;特点&…...

【ETCD】etcd简单入门之单节点部署etcd

etcd 是一个分布式可靠的键值存储系统&#xff0c;用于分布式系统中最关键的数据&#xff0c;主要特点包括&#xff1a; 简单&#xff1a;具有明确的、面向用户的 API&#xff08;gRPC&#xff09; 安全&#xff1a;自动 TLS 支持&#xff0c;并可选的客户端证书认证 快速&am…...

Cadence基础语法

03-Cadence基础语法 0 Cadence基础语法入门&#xff1a;流程编排语言的新星 Cadence是由Uber开发的一种领域特定语言&#xff08;Domain-Specific Language&#xff0c;DSL&#xff09;&#xff0c;专门用于编写可扩展的长时间运行的业务流程。它是Temporal工作流引擎的核心组…...

GAMES101虚拟机使用教程与探讨

写在前面 环境配置请参考作业0的pdf&#xff0c;本文章主要对于配置好环境后怎么使用以及遇到的问题进行探讨&#xff08;要是有更方便的使用方式欢迎在评论区讨论&#xff09;&#xff0c;自己刚开始用的时候也折腾了好久&#xff0c;希望能为后来学习的小伙伴节约一点工具使…...

王道考研编程题总结

我还在完善中&#xff0c;边复习边完善&#xff08;这个只是根据我自身总结的&#xff09; 一、 线性表 1. 结构体 #define MaxSize 40 typedef struct{ElemType data[MaxSize]&#xff1b;int length; }SqList 2. 编程题 1. 删除最小值 题意 &#xff1a;从顺序表中删除…...

算法2--滑动窗口

滑动窗口 滑动窗口经典例题长度最小的子数组无重复字符的最长子串[最大连续1的个数 III](https://leetcode.cn/problems/max-consecutive-ones-iii/description/)[将 x 减到 0 的最小操作数](https://leetcode.cn/problems/minimum-operations-to-reduce-x-to-zero/description…...

pycharm或conda中配置镜像源

文章目录 1. 为什么要配置镜像源2. pycharm配置2.1使用pip配置国内镜像源2.2 Pycharm中更改镜像源 3.conda配置镜像源3.1 使用conda命令3.2 文件所在位置&#xff08;进行增删&#xff09;3.3 conda常用的几个命令 参考文献 1. 为什么要配置镜像源 由于Python在下载包时&#…...

C#基础之方法

文章目录 1 方法1.1 定义方法1.2 参数传递1.2.1 按值传递参数1.2.2 按引用传递参数1.2.3 按输出传递参数1.2.4 可变参数 params1.2.5 具名参数1.2.6 可选参数 1.3 匿名方法1.3.1 Lambda 表达式1.3.1.1 定义1.3.1.2 常用类型1.3.1.3 Lambda 表达式与 LINQ1.3.1.4 Lambda 表达式的…...

JVM 性能调优 -- JVM常用调优工具【jps、jstack、jmap、jstats 命令】

前言&#xff1a; 前面我们分析怎么去预估系统资源&#xff0c;怎么去设置 JVM 参数以及怎么去看 GC 日志&#xff0c;本篇我们分享一些常用的 JVM 调优工具&#xff0c;我们在进行 JVM 调优的时候&#xff0c;通常需要借助一些工具来对系统的进行相关分析&#xff0c;从而确定…...

PostgreSQL 三种关库模式

PostgreSQL 三种关库模式 基础信息 OS版本&#xff1a;Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本&#xff1a;16.2 pg软件目录&#xff1a;/home/pg16/soft pg数据目录&#xff1a;/home/pg16/data 端口&#xff1a;5777PostgreSQL 提供了三种关库模式&…...

《运放秘籍》第二部:仪表放大器专项知识点总结

一、差分放大器与仪表放大器的讨论 1.1. 仪放的前世今生——差分放大器原理&#xff1f; 1.2. 差分放大的原理 1.3. 差分放大器检测电流 1.4. 差分放大器端一&#xff1a;输入阻抗 1.5. 差分放大器端二&#xff1a;共模抑制比 1.6. 为什么关注输入阻抗&#xff1f;共模抑…...

C++STL之vector(超详细)

CSTL之vector 1.vector基本介绍2.vector重要接口2.1.构造函数2.2.迭代器2.3.空间2.3.1.resize2.3.2.capacity 2.4.增删查找 3.迭代器失效4.迭代器分类 &#x1f31f;&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f;&#x1f31f; &#x1f680;&#x1f68…...

ubuntu环境下安装electron环境,并快速打包

1.配置镜像源 关闭防火墙&#xff0c;命令&#xff1a;sudo ufw disable 1.1配置国内镜像源&#xff1a; vim /etc/apt/source.list deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiversedeb-src https://mirrors.aliyun.com/ubuntu/ jammy main…...

【Pytorch】优化器(Optimizer)模块‘torch.optim’

torch.optim 是 PyTorch 中提供的优化器&#xff08;Optimizer&#xff09;模块&#xff0c;用于优化神经网络模型的参数&#xff0c;更新网络权重&#xff0c;使得模型在训练过程中最小化损失函数。它提供了多种常见的优化算法&#xff0c;如 梯度下降法&#xff08;SGD&#…...

API平台建设之路:从0到1的实践指南

在这个互联网蓬勃发展的时代&#xff0c;API已经成为连接各个系统、服务和应用的重要纽带。搭建一个优质的API平台不仅能为开发者提供便利&#xff0c;更能创造可观的商业价值。让我们一起探讨如何打造一个成功的API平台。 技术架构是API平台的根基。选择合适的技术栈对平台的…...

【Flink-scala】DataStream编程模型之窗口计算-触发器-驱逐器

DataStream API编程模型 1.【Flink-Scala】DataStream编程模型之数据源、数据转换、数据输出 2.【Flink-scala】DataStream编程模型之 窗口的划分-时间概念-窗口计算程序 文章目录 DataStream API编程模型前言1.触发器1.1 代码示例 2.驱逐器2.1 代码示例 总结 前言 本小节我想…...

商务型网站模板/个人优秀网页设计

有时我们需要判断是不是ajax请求来决定模块输出还是json格式输出.PHP判断ajax请求的原理:在发送ajax请求的时候&#xff0c;我们可以通过XMLHttpRequest这个对象&#xff0c;创建自定义的header头信息&#xff0c; 在jquery框架中&#xff0c;对于通过它的$.ajax, $.get, or $.…...

建立旅游网站的目的/成都短视频代运营

Navicat for MySQL 是一套管理和开发 MySQL 或 MariaDB 的理想解决方案&#xff0c;支持单一程序&#xff0c;可同时连接到 MySQL和MariaDB。这个功能齐备的前端软件为数据库管理、开发和维护提供了直观而强大的图形界面&#xff0c;给 MySQL 或 MariaDB 新手以及专业人士提供了…...

会所类WordPress主题/杭州seo营销

我们通过题目就可以猜测出这道题与Cookie相关 我们发现我们的钱并不能购买到Flag Cookie&#xff0c;尝试使用Burp Suite抓包 对cookie解码发现是一堆乱码&#xff0c;但seesion中包含着我们想要的信息 将49改为9999&#xff0c;再经过Base64编码通过修改Cookie的值让我们瞬间…...

电子商务网站基本功能/天津关键词优化专家

微信公众号&#xff1a;infoQc如有问题或建议&#xff0c;请公众号留言最近更新&#xff1a;2018-08-19 包装类型 在讲解正文之前&#xff0c;我很想问这么一个问题&#xff1a;"Java为我们提供了8种基本数据类型&#xff0c;为什么还需要提供各自的包装类型呢&#xff1f…...

上海网站建设怎么弄/临沂seo代理商

8种机械键盘轴体对比本人程序员&#xff0c;要买一个写代码的键盘&#xff0c;请问红轴和茶轴怎么选&#xff1f;一、HMR介绍在我们开发react应用的时候&#xff0c;在配置了webpack-dev-server的前提下每一次的组件内容修改都需要手动的刷新浏览器&#xff0c;为了解决这个问题…...

苏州做网站推广的/网上销售

最近更新的博客 华为OD机试 - 猴子爬山 | 机试题算法思路 【2023】华为OD机试 - 分糖果(Java) | 机试题算法思路 【2023】华为OD机试 - 非严格递增连续数字序列 | 机试题算法思路 【2023】华为OD机试 - 消消乐游戏(Java) | 机试题算法思路 【2023】华为OD机试 - 组成最大数…...