Linux环境通过APT 仓库安装版PostgreSQL 数据库实战

server/2024/10/18 19:30:56/

Linux环境通过APT 仓库安装版PostgreSQL 数据库运维人员常见的需求之一,今天我们一步一步演示一下:

1、添加 PostgreSQL APT 仓库

确保你的系统更新,然后添加 PostgreSQL 的官方 APT 仓库。

sudo apt update
sudo apt install -y wget
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

添加 PostgreSQL 仓库到你的系统源列表:

echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

添加完仓库后,开始更新软件包列表: 

2、更新软件包列表

sudo apt update

之后安装 PostgreSQL 14.9 版本 

3、安装 PostgreSQL 14.9

sudo apt install -y postgresql-14

4、启动 PostgreSQL 服务

安装完成后,PostgreSQL 服务会自动启动。可以使用以下命令检查服务状态:

sudo systemctl status postgresql

结果如图

手动启动 PostgreSQL 服务,可以使用:

sudo systemctl start postgresql

 5、配置 PostgreSQL

PostgreSQL 默认创建一个名为 postgres 的用户,并设置密码

sudo -i -u postgres
psql#设置密码,修改密码也是这个sql
ALTER USER postgres WITH PASSWORD 'postgres';#创建数据库
CREATE DATABASE mydb;#查看数据库\l#退出 PostgreSQL
\q

如图展示:

 

6、设置 PostgreSQL 开机自启

如果希望 PostgreSQL 在系统启动时自动启动

sudo systemctl enable postgresql

7、配置对外访问权限

编辑 PostgreSQL 的配置文件 postgresql.conf,允许外部连接:

sudo nano /etc/postgresql/14/main/postgresql.conf

找到 listen_addresses 行,并将其修改为:

listen_addresses = '*'

 如图:

允许 PostgreSQL 接受来自所有 IP 地址的连接 

8、配置访问控制

编辑 pg_hba.conf 文件,设置对用户的访问权限:

sudo nano /etc/postgresql/14/main/pg_hba.conf

nano保存和退出的方式:

  按 Ctrl + O 保存文件,然后按 Enter 确认;按 Ctrl + X 退出编辑器。

在文件末尾添加一行,允许 myuser 从特定 IP 地址访问:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             0.0.0.0/0               md5

 这将允许 myuser 从任何 IP 地址连接,使用 md5 认证。你可以根据需要限制 IP 地址范围。

9、重启 PostgreSQL 服务

修改配置后,需要重启 PostgreSQL 服务以使更改生效:

sudo systemctl restart postgresql

之后就可以测试连接了用Navicat或者命令:

在外部客户端上,可以使用以下命令测试连接

psql -h <server-ip> -U myuser -d postgres

10‘、PostgreSQL插件安装

可以安装的插件参考:插件列表

示例:PostGIS 是 PostgreSQL 的地理空间扩展插件,它允许 PostgreSQL 数据库进行地理空间数据处理。

# 安装 PostGIS 插件
sudo apt install postgis postgresql-14-postgis-3 -y

如图:

 启用 PostGIS 插件,进入mydb数据库后执行SQL:

# 切换到 postgres 用户
sudo -i -u postgres# 进入 PostgreSQL shell
psql# 创建一个数据库(如果没有现有数据库)
CREATE DATABASE mydb;# 切换到该数据库
\c mydb# 安装 PostGIS 扩展
CREATE EXTENSION postgis;
CREATE EXTENSION postgis_topology;# 验证 PostGIS 是否安装成功
SELECT PostGIS_Full_Version();

 如图:

通过Navicat验证查询安装的插件

#所有已安装的扩展及其状态和版本信息
SELECT * FROM pg_extension;#所有可用的扩展和其描述
SELECT * FROM pg_available_extensions;

 如图:

到此,Linux环境通过APT 仓库安装版PostgreSQL 数据库完成,后续一些其他的细节我们继续更新,敬请期待!


http://www.ppmy.cn/server/131163.html

相关文章

基于SSM的旅游网站【附源码】

基于SSM的旅游网站&#xff08;源码L文说明文档&#xff09; 目录 4 系统设计 4.1 系统概要设计 4.2 系统功能结构设计 4.3 数据库设计 4.3.1 数据库E-R图设计 4.3.2 数据库表结构设计 5 系统实现 5.1 管理员功能介绍 5.1.1 用户管理 5.1.2 …

昇思MindSpore进阶教程--数据处理性能优化(下)

大家好&#xff0c;我是刘明&#xff0c;明志科技创始人&#xff0c;华为昇思MindSpore布道师。 技术上主攻前端开发、鸿蒙开发和AI算法研究。 努力为大家带来持续的技术分享&#xff0c;如果你也喜欢我的文章&#xff0c;就点个关注吧 操作系统性能优化 由于MindSpore的数据处…

光路科技TSN交换机和电力专用交换机即将亮相第31届中国国际电力设备及技术展览会

在全球能源领域正经历深刻转型之际&#xff0c;可再生能源技术的飞跃进步正为电力行业的未来开辟新径。太阳能、风能等绿色能源&#xff0c;凭借其无可比拟的优势&#xff0c;正稳步取代化石燃料&#xff0c;成为电力行业的主流趋势。多国政府积极响应&#xff0c;出台多项政策…

Springboot 接入 WebSocket 实战

Springboot 接入 WebSocket 实战 前言&#xff1a; WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。 简单理解&#xff1a; 1&#xff0c;常见开发过程中我们知道 Http协议&#xff0c;客户端…

【Java学习笔记】多线程

当我们在饭店聚餐时&#xff0c;多人同时吃一道菜的时候很容易发生争抢。例如&#xff0c;上了一道好菜&#xff0c;两个人同时夹这道菜&#xff0c;一人刚伸出筷子&#xff0c;结果伸到的时候菜已经被夹走了。为了避免这种现象&#xff0c;必须等一人 夹完一口后&#xff0c;另…

svn status各状态含义

说明&#xff1a;   svn排错过程中svn status命令显示各个状态具体含义 svn status " " 无修改 "A" 新增 "C" 冲突 "D" 删除 "G" 合并 "I" 忽略 "M" 改变 "R" 替换 "X"…

Linux云计算 |【第五阶段】ARCHITECTURE-DAY2

主要内容&#xff1a; 搭建Logstash完成ELK集群、实现Web日志实时分析 一、Logstash介绍 Logstash 是一个开源的服务器端数据处理管道&#xff0c;能够同时从多个来源采集数据&#xff0c;转换数据&#xff0c;并将数据发送到你指定的存储库中。它通常与 Elasticsearch 和 Ki…

计算机毕业设计Python深度学习游戏推荐系统 Django PySpark游戏可视化 游戏数据分析 游戏爬虫 Scrapy 机器学习 人工智能 大数据毕设

主要功能如下&#xff1a; &#xff08;1&#xff09;用户管理模块&#xff1a;用户能够注册、登录及修改个人信息&#xff0c;查看热门游戏及攻略信息。 &#xff08;2&#xff09;数据采集与处理模块&#xff1a;主要通过Python编程&#xff0c;爬取Tap Tap社区中游戏热门榜…