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

ubuntu升级postgres

已经有了postgres12,记录一下升级从postgres12升级到15的过程及遇到的一些问题,我没有备份,单纯升级

1、升级过程

深色版本
sudo systemctl stop postgresql
升级PostgreSQL

  1. 停止PostgreSQL服务: 停止当前版本的PostgreSQL服务,以确保在升级过程中没有数据写入。
sudo systemctl stop postgresql
  1. 安装新版本的PostgreSQL: 添加PostgreSQL的官方仓库并安装新版本。
添加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-get update
 安装新版本的PostgreSQL
sudo apt-get install postgresql-15
  1. 停止新版本的PostgreSQL服务: 新版本安装后,默认会创建一个新的集群并启动服务。停止新版本的PostgreSQL服务。
sudo systemctl stop postgresql@15-main
  1. 删除旧版本的集群: 如果一切正常,可以删除旧版本的集群。
sudo pg_dropcluster 12 main --stop
  1. 启动新版本的PostgreSQL服务: 启动新版本的PostgreSQL服务。
sudo systemctl start postgresql@15-main

2、重要事项

  1. 登录权限设置
vim /etc/postgresql/15/main/pg_hba.conf
# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
# 这个设置为trust可以直接在本机进入postgres不需要密码 
local   all             postgres                                trust# TYPE  DATABASE        USER            ADDRESS                 METHOD# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
# 添加一行任何主机可以访问,设置为 md5或者scram-sha-256即需要输入密码
host    all             all             0.0.0.0/0               md5
# IPv4 local connections:
# 设置本地网络连接也需要输入密码
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     md5
  1. 允许远程访问和更改端口号
vim  /etc/postgresql/15/main/postgresql.conf
# - Connection Settings -# 这里默认listen_addresses 没有打开,这里没有更改应该是不能进行远程连接的,设置为*,端口号我设置成5433
listen_addresses = '*'           		# what IP address(es) to listen on;# comma-separated list of addresses;# defaults to 'localhost'; use '*' for all# (change requires restart)
port = 5433                             # (change requires restart)
  1. 更改密码
# 进入数据库,已经设置了本地免密码,可以直接进入sudo -u postgres psql
# 修改密码
ALTER USER postgres WITH PASSWORD 'new_password';
# 退出sql
\q
  1. 查看postgres运行状态
 root@localhost:/etc/postgresql/15/main# systemctl status postgresql
● postgresql.service - PostgreSQL RDBMSLoaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)Active: active (exited) since Sun 2024-11-10 11:43:18 UTC; 38min agoProcess: 65703 ExecStart=/bin/true (code=exited, status=0/SUCCESS)Main PID: 65703 (code=exited, status=0/SUCCESS)Nov 10 11:43:18 localhost.localdomain systemd[1]: Starting PostgreSQL RDBMS...
Nov 10 11:43:18 localhost.localdomain systemd[1]: Finished PostgreSQL RDBMS.
  1. 重启数据库,应该就可以远程连接了
 systemctl restart postgresql

3、安装postgis

  1. 安装 PostGIS

更新包列表:

sudo apt update

安装 PostGIS:
对于 PostgreSQL 15,您可以使用以下命令安装 PostGIS:

sudo apt install postgresql-15-postgis-3
# 这里 postgis-3 是 PostGIS 的版本号,确保与您的 PostgreSQL 版本兼容。
  1. 验证安装

连接到 PostgreSQL 数据库:

sudo -u postgres psql

检查 PostGIS 扩展是否已安装:

CREATE EXTENSION IF NOT EXISTS postgis;
# 如果 PostGIS 扩展已成功安装,这个命令不会产生任何输出。

验证 PostGIS 扩展是否已安装:
运行以下查询以验证 PostGIS 扩展是否已安装:

SELECT * FROM pg_available_extensions WHERE name = 'postgis';
# 如果 PostGIS 扩展已安装,您应该看到一些输出信息。

检查当前数据库中的 PostGIS 函数:
运行以下查询以检查当前数据库中的 PostGIS 函数:

SELECT * FROM pg_proc WHERE proname LIKE 'addgeometrycolumn%';
# 如果 AddGeometryColumn 函数存在,应该看到相关的信息。

相关文章:

ubuntu升级postgres

已经有了postgres12,记录一下升级从postgres12升级到15的过程及遇到的一些问题,我没有备份,单纯升级 1、升级过程 深色版本 sudo systemctl stop postgresql 升级PostgreSQL 停止PostgreSQL服务: 停止当前版本的PostgreSQL服务…...

vue2在el-dialog打开的时候使该el-dialog中的某个输入框获得焦点方法总结

在 Vue 2 中,如果你想通过 ref 调用一个方法(如 inputFocus)来聚焦一个输入框,确保以下几点: 确保 ref 的设置正确:你需要确保在模板中正确设置了 ref,并且它指向了你想要操作的组件或 DOM 元素…...

SpringBoot(十七)创建多模块Springboot项目

在gitee上查找资料的时候,发现有不少Springboot项目里边都是嵌套了多个Springboot项目的。这个玩意好,在协作开发的时候,将项目分成多个模块,有多个团队协作开发,模块间定义标准化通信接口进行数据交互即可。 这个好这个。我之前创建的博客项目是单模块的SpringBoot项目,…...

Vue.js 高质量翻页功能的完整开发指南

文章目录 Vue.js 翻页组件的完整开发与优化指南前言分析分页需求与设计要点基础分页功能的实现分页逻辑 优化分页:封装为组件化设计组件化代码 提升用户体验与性能动态调整每页显示的条目数优化移动端与桌面端的展示高性能翻页策略:按需加载与懒加载提示…...

android dvr黑屏

问题现象:dvr拍摄的图片是黑的,没有buffer数据的。 查看相关的log文件发现: video surface 未释放导致 祥见一下报错信息: 38298 2024-10-16 01:02:51.855 4056 32068 W MediaCodecRenderer: java.lang.IllegalStateExcepti…...

css文字间距撑满横向距离

效果: 代码: 、 text-align:justify;text-align-last: justify;...

【Unity基础】对比OnCollisionEnter与OnTriggerEnter

在Unity中,OnCollisionEnter 和 OnTriggerEnter 是两种用于处理碰撞的回调函数,但它们的工作方式和使用场景有所不同: 1. OnCollisionEnter 触发条件:当一个带有 Collider 组件并且**未勾选“Is Trigger”**的物体,与…...

算法训练(leetcode)二刷第二十五天 | *134. 加油站、*135. 分发糖果、860. 柠檬水找零、*406. 根据身高重建队列

刷题记录 *134. 加油站*135. 分发糖果860. 柠檬水找零*406. 根据身高重建队列 *134. 加油站 leetcode题目地址 当前站点可以剩余油量gas[i] - cost[i]; 将每站的剩余油量求和计算累计剩余油量,总剩余油量小于0,则无法行驶一周。 若在到达某一站时累计剩…...

Springboot 整合 itext 实现PDF文件合并,识别图片则转成PDF拼接

目录 前言一、引用依赖二、使用步骤1.Controller2.Service接口3.实现类三、请求接口及结果前言 本文实现 Springboot 整合 itext 实现PDF文件合并,图片转PDF拼接。 一、引用依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-co…...

TypeScript 中的 ! 和 ? 操作符

在 TypeScript 中&#xff0c;! 和 ? 是两个非常重要且常用的操作符&#xff0c;分别用于非空断言和可选链操作。下面简单介绍一下二者。 1. 非空断言操作符 ! 1.1 含义 非空断言操作符 !&#xff08;Non-null assertion operator&#xff09;用来告诉 TypeScript 编译器&a…...

开源三代示波器的高速波形刷新方案开源,支持VNC远程桌面,手机,Pad,电脑均可访问(2024-11-11)

说明&#xff1a; 1、本来这段时间是一年一度Hackaday硬件设计开源盛宴&#xff0c;但hackaday电子大赛在去年终结了。所以我开源个我的吧。 2、三代示波器的高速波形刷新方案&#xff0c;前两年就做好了&#xff0c;这两年忙H7-TOOL的更新比较多&#xff0c;三代示波器的更新…...

谷歌推出设备内置人工智能,实时向手机用户发出诈骗电话警报

Google 宣布推出适用于 Android 的新安全功能&#xff0c;可实时防御诈骗和有害应用。 这些功能由先进的设备内置 AI 提供支持&#xff0c;可在不损害隐私的情况下增强用户安全性。 这些新的安全功能首先在 Pixel 上推出&#xff0c;并将很快在更多 Android 设备上推出。 诈…...

AI换人脸facefusion项目口型同步‌API化改造及部署

一. 简介 ‌FaceFusion‌是一款强大的AI换脸软件&#xff0c;它支持图片、视频以及直播换脸&#xff0c;官方将其称为“下一代脸部交换器和增强器”。FaceFusion的最新版本为2.6.1&#xff0c;这个版本在原有基础上增加了更多的模型和高清算法&#xff0c;显著提升了图片和视频…...

移动端问题

这里只是做一个记录&#xff0c;不一定大家都会有问题&#xff0c;参考就行 一、页面回弹 苹果有&#xff0c;安卓没有 解决&#xff1a;pages.json下 app-plus { bounce: none} 关闭回弹效果 二、onreachBottom触底生命周期&#xff0c;ios无法触发 修改触底数值&#xff1a…...

Linux网络——网络初识

目录 1. 认识协议 2. 协议的分层 3. OSI 七层模型 && TCP/IP 五层(四层)模型 4. 网络传输的基本流程 5. 以太网的通信原理 6. 数据的跨网络传播 7. 认识 IP 地址 ① IP 是什么 ② IP 与 MAC 的关系 ③ 为什么需要 IP 在谈及网络之前&#xff0c;我们要先对学…...

从华为到创业公司

我有一个朋友&#xff0c;在华为工作了很长一段时间&#xff0c;一年多前&#xff0c;他从华为出来到了一家创业公司。 周末趁着有时间&#xff0c;我跟他聊了下关于从华为到创业公司的一些问题&#xff0c;总结给大伙看看。 ▎1 在华为工作和在创业公司工作最大的差别是什么呢…...

Vue 组件通信及进阶语法

文章目录 一、scoped 样式冲突二、data 是一个函数三、组件通信1. 父子通信1.1 props 校验1.2 props 比较 data 2. 非父子通信2.1 event bus2.2 provide-inject 四、进阶语法1. v-model 详解2. sync 修饰符3. ref 和 $refs4. $nextTick 一、scoped 样式冲突 注意点&#xff1a;…...

vue文本高亮处理

在vue的v-for循环中处理搜索关键字高亮问题&#xff0c;通过截取文字判断&#xff0c;分成三段拼接起来 <div class"check-list" v-if"shopList.length >0"><a-checkbox change"onChangeShop($event,item)" :checked"checkedL…...

androidstudio入门到放弃配置

b站视频讲解传送门 android_studio安装包&#xff1a;https://developer.android.google.cn/studio?hlzh-cn 下载安装 开始创建hello-world 1.删除缓存 文件 下载gradle文件压缩&#xff1a;gradle-8.9用自己创建项目时自动生成的版本即可&#xff0c;不用和我一样 https://…...

NLP论文速读(谷歌出品)|缩放LLM推理的自动化过程验证器

论文速读|Rewarding Progress: Scaling Automated Process Verifiers for LLM Reasoning 论文信息&#xff1a; 简介&#xff1a; 这篇论文探讨了如何提升大型语言模型&#xff08;LLM&#xff09;在多步推理任务中的性能。具体来说&#xff0c;它试图解决的问题是现有的基于结…...

凡亿AD22--PCB全连接与十字花焊盘连接铺铜规则

核心重点&#xff1a;铺铜与焊盘/过孔的连接方式&#xff0c;核心分为「全连接」「十字连接」「不连接」三种&#xff0c;实际设计中仅常用前两种&#xff1b;连接方式的选择&#xff0c;核心取决于「焊接方式」「载流需求」&#xff0c;过孔连接需默认采用全连接&#xff0c;避…...

轴承‘健康体检’新思路:不用复杂公式,5步教你用CNN从振动信号中‘看’出故障先兆

轴承健康监测&#xff1a;用CNN像AI医生一样"听诊"振动信号 想象一下&#xff0c;医生通过听诊器捕捉心跳的微妙变化&#xff0c;就能预判潜在的健康风险。在工业设备的"健康管理"中&#xff0c;轴承的振动信号就像它的"心跳"&#xff0c;而卷积…...

从CID到SCR:一张SD卡的‘身份证’里到底藏了多少秘密?聊聊厂商、版本与总线宽度的那些事

从CID到SCR&#xff1a;一张SD卡的‘身份证’里到底藏了多少秘密&#xff1f;聊聊厂商、版本与总线宽度的那些事 当你从抽屉里翻出一张积灰的SD卡&#xff0c;除了容量标签和品牌Logo&#xff0c;是否想过这张小塑料片里还藏着完整的"身份档案"&#xff1f;就像法医通…...

告别手动重启!用Python+PyAutoGUI写个游戏防崩溃守护脚本(附完整源码)

告别手动重启&#xff01;用PythonPyAutoGUI打造游戏防崩溃守护脚本 深夜挂机刷副本时突然游戏崩溃&#xff0c;第二天醒来发现角色还在主城发呆&#xff1f;竞技场自动匹配因为断线重连失败而错过赛季奖励&#xff1f;这些问题对于MMO玩家和挂机游戏爱好者来说简直如同噩梦。本…...

模板 ID 配置化: “公众号路由 + 模板消息发送” 封装成一个干净的业务 Service

文章目录 引言 I “公众号路由 + 模板消息发送” 多公众号 同模板不同 ID 公众号实例 公众号路由 模板消息发送 Service(业务层 ✅) 异步调用 II 公众号账号配置【升级版】 账号配置 启用配置 模板 ID 解析器 公众号 Router(升级版 ✅) III 路由(Redis 版本) WxRedisOps…...

Taotoken用量看板与账单追溯为团队开发带来的成本管控体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken用量看板与账单追溯为团队开发带来的成本管控体验 对于依赖大模型API进行开发的团队而言&#xff0c;成本的可观测与可控性…...

别再手动算稳心了!用Maxsurf Stability模块,从Rhino模型到结果曲线保姆级教程

从Rhino到Maxsurf Stability&#xff1a;船舶稳性分析的智能化工作流实践 船舶设计领域的技术迭代正在悄然改变传统工作模式。记得三年前参与某型游艇设计项目时&#xff0c;团队还在用Excel表格手动计算稳性参数&#xff0c;每次修改船型都意味着重新推导整套公式。直到接触Ma…...

2026年初中生赴新加坡留学,费用究竟几何?一文为你揭秘!

在教育全球化的今天&#xff0c;越来越多的家长将目光投向海外&#xff0c;新加坡凭借其优质的教育资源、安全的社会环境和多元的文化氛围&#xff0c;成为众多初中生留学的热门选择。那么&#xff0c;2026年初中生赴新加坡留学的费用到底是多少呢&#xff1f;本文将为你详细揭…...

pdfjs 进阶:基于外部数据切片实现精准高亮与定位跳转

1. 理解PDF.js与外部数据切片的核心需求 在文档处理场景中&#xff0c;我们经常遇到这样的需求&#xff1a;后端已经将PDF内容切割成结构化的数据块&#xff08;比如按章节、段落或语义单元划分&#xff09;&#xff0c;前端需要将这些数据块与PDF可视化内容精准关联。这种关联…...

WSL2 Ubuntu22.04 部署Geant4:从零到可视化实战指南

1. 环境准备与WSL2配置 在Windows系统上通过WSL2运行Ubuntu22.04来部署Geant4&#xff0c;首先要确保基础环境配置正确。我去年帮实验室三个同学搭建这个环境时发现&#xff0c;90%的初期问题都源于WSL2配置不当。下面这些步骤都是我踩坑后总结的最佳实践&#xff1a; 第一步&a…...