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

Postgres:Win/Linux环境安装及一键部署脚本

1.Win安装Postgres

(1)下载安装包

(2)开始安装

修改安装目录

选择要安装的组件

data也就是库表及数据的.dba文件存放目录

密码设置

 端口设置

next

next

开始安装

安装完成,Stack Builder 根据需要选择是否安装。仅仅是使用数据库的数据读写存储功能,可以不装。

(3)Navicat连接postgres

2. Linux按照Postgres

2.1 更新系统和安装依赖

首先,我们需要更新系统并安装一些依赖项。我们可以使用以下命令更新系统并安装 PostgreSQL 的依赖:

sudo yum update 
sudo yum install epel-release 
sudo yum install postgresql-server postgresql-contrib

2.2 初始化 PostgreSQL

安装完成后,我们需要初始化 PostgreSQL,这将创建一个新的 PostgreSQL 数据库集群。我们可以使用以下命令来初始化 PostgreSQL:

sudo postgresql-setup initdb

2.3 修改配置文件

在安装和初始化 PostgreSQL 后,我们需要修改 PostgreSQL 的配置文件以确保它能够正常运行。我们可以使用以下命令打开 PostgreSQL 的主配置文件:

sudo nano /var/lib/pgsql/data/postgresql.conf

我们需要更改以下配置项:

listen_addresses = '*'  # 允许所有主机连接
max_connections = 100   # 最大连接数

我们还需要在 PostgreSQL 的 pg_hba.conf 文件中设置允许连接 PostgreSQL 的用户和 IP。我们可以使用以下命令打开该文件:

sudo nano /var/lib/pgsql/data/pg_hba.conf

在文件末尾添加以下行:

host    all         all         0.0.0.0/0          md5

这将允许所有主机连接 PostgreSQL,并使用 md5 加密验证身份。

2.4 启动 PostgreSQL

在修改完 PostgreSQL 的配置文件后,我们需要启动 PostgreSQL 服务。我们可以使用以下命令启动 PostgreSQL:

sudo systemctl start postgresql
sudo systemctl enable postgresql

这将启动 PostgreSQL 并设置其在系统启动时自动启动。

2.5 创建新用户和数据库

在 PostgreSQL 中,我们需要创建一个新的数据库和一个新的用户,以便我们可以使用它。我们可以使用以下命令创建一个新的 PostgreSQL 用户和数据库:

sudo su - postgres
psqlCREATE DATABASE mydatabase;
CREATE USER myuser WITH PASSWORD 'mypassword';
GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;

这将创建一个名为 mydatabase 的新数据库,并创建一个名为 myuser 的新用户,该用户将具有对该数据库的所有特权。

2.6 测试连接

现在,我们已经完成了 PostgreSQL 的安装和配置,我们可以使用以下命令测试连接:

psql -h localhost -U myuser -d mydatabase

这将连接到我们刚刚创建的数据库。

2.7 退出PostgreSQL命令行界面

(1)使用命令 \q 或 quit,这将退出 PostgreSQL 命令行界面并返回到 Linux shell 提示符:

postgres=# \q

(2)按下 Ctrl+D 快捷键,这将退出 PostgreSQL 命令行界面并返回到 Linux shell 提示符:

postgres=# Ctrl+D

在这两种方法中,如果您已经进行了更改但未保存,请按照屏幕上的提示输入 "\q!",这将强制退出 PostgreSQL 命令行界面并放弃所有更改。

2.8 重新设置 PostgreSQL 用户的密码

要重新设置 PostgreSQL 用户的密码,请按照以下步骤进行操作:

(1)打开终端并以 PostgreSQL 超级用户(通常是“postgres”用户)身份登录。您可以使用以下命令登录:

sudo -u postgres psql

(2)输入以下命令以修改用户密码:

ALTER USER username WITH PASSWORD 'new_password';

其中,将“username”替换为要更改密码的 PostgreSQL 用户的用户名,并将“new_password”替换为新密码。例如,要将用户名为“myuser”的 PostgreSQL 用户的密码设置为“mypassword”,可以执行以下命令:

ALTER USER myuser WITH PASSWORD 'mypassword';

(3)完成后,按下 Ctrl+D 快捷键或输入 \q 命令退出 PostgreSQL 命令行界面。

现在您可以使用新密码连接到 PostgreSQL 数据库了。请注意,如果您不知道要更改的 PostgreSQL 用户的用户名,可以在 PostgreSQL 命令行界面中使用以下命令查看用户列表:

\du

此命令将显示 PostgreSQL 数据库中的所有用户和其权限。

3. 一键部署脚本

#!/bin/bash# 安装 PostgreSQL
echo "正在安装 PostgreSQL..."
yum -y update
yum -y install wget
yum -y install gcc
yum -y install make
yum -y install readline-devel
yum -y install zlib-devel
wget https://ftp.postgresql.org/pub/source/v13.3/postgresql-13.3.tar.gz
tar zxvf postgresql-13.3.tar.gz
cd postgresql-13.3
./configure
make
make install# 添加 PostgreSQL 用户和组
echo "正在添加 PostgreSQL 用户和组..."
groupadd postgres
useradd -g postgres postgres# 初始化 PostgreSQL 数据库
echo "正在初始化 PostgreSQL 数据库..."
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/# 启动 PostgreSQL 服务
echo "正在启动 PostgreSQL 服务..."
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ -l logfile start# 设置 PostgreSQL 密码
echo "请设置 PostgreSQL 超级用户 'postgres' 的密码:"
/usr/local/pgsql/bin/psql -c "ALTER USER postgres WITH PASSWORD 'your_password';"echo "PostgreSQL 安装完成。"

将上述脚本保存为一个名为“install_postgresql.sh”的文件,并将文件传输到您的 Linux 服务器上。然后,通过以下命令将其设置为可执行文件:

chmod +x install_postgresql.sh

最后,运行以下命令以执行脚本:

./install_postgresql.sh

脚本将自动执行 PostgreSQL 的安装、初始化、启动、密码设置等步骤。请注意,在安装过程中可能会提示您输入密码等信息。根据需要输入正确的信息即可。

相关文章:

Postgres:Win/Linux环境安装及一键部署脚本

1.Win安装Postgres (1)下载安装包 (2)开始安装 修改安装目录 选择要安装的组件 data也就是库表及数据的.dba文件存放目录 密码设置 端口设置 next next 开始安装 安装完成,Stack Builder 根据需要选择是否安装。仅仅是…...

每日一题144——数组大小减半

给你一个整数数组 arr。你可以从中选出一个整数集合,并删除这些整数在数组中的每次出现。 返回 至少 能删除数组中的一半整数的整数集合的最小大小。 示例 1: 输入:arr [3,3,3,3,5,5,5,2,2,7] 输出:2 解释:选择 {3,…...

运维必懂的13条高效工作秘诀

正确做事,更要做正确的事 “正确地做事”强调的是效率,重视做一件工作的最好方法;“做正确的事”强调的是效能,重视时间的最佳利用——这包括是做或者不做某项工作。 实际上,第一重要的却是效能而非效率,…...

【牛客刷题专栏】0x26:JZ25 合并两个排序的链表(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer: 目录 前言问…...

5/5~5/7总结

把socket通信改成了分成短连接和长连接,登录前的所有操作都是短连接,每次都关闭连接,如果登录成功了就保持该socket连接,登录成功之后的所有操作,修改资料,发信息等都用该socket, 服务端和客户…...

重要通知|Sui测试网将于5月11日重置

致Sui社区成员们: 正如之前公告所述,部分社区成员发现测试网可能会定期清除数据并重新启动。鉴于此,我们宣布计划将于2023年5月11日进行首次测试网清除。 对于想要继续读取和访问当前测试网络的社区成员,请使用由Mysten Labs在…...

教你快速把heic格式转化jpg,4种方法操作简单

教你快速把heic格式转化jpg的方法,因为HEIC格式图片通常出现在苹果公司的iOS 11操作系统及之后的版本中,这是因为苹果公司在这些版本中采用了HEIF(高效图像格式)作为默认的照片格式来替代JPEG格式。同时,需要注意的是&…...

交互式数据分析和处理新方法:pandas-ai =Pandas + ChatGPT

Python Pandas是一个为Python编程提供数据操作和分析功能的开源工具包。这个库已经成为数据科学家和分析师的必备工具。它提供了一种有效的方法来管理结构化数据(Series和DataFrame)。 在人工智能领域,Pandas经常用于机器学习和深度学习过程的预处理步骤。Pandas通…...

FIR滤波

参考来源: https://www.zhihu.com/question/323353814 本节主要围绕以下几个问题进行描述: 什么是FIR滤波器时域的卷积频域的相乘 关于FIR FIR滤波就是在时域上卷积的过程。将含噪声信号与低通滤波器的傅里叶逆变换值进行卷积,这个过程就是…...

Python小姿势 - Python中的类型检查

Python中的类型检查 在Python中,类型检查是通过内置函数isinstance()来实现的。 isinstance() 函数用于判断一个对象是否是一个已知的类型,类似 type()。 isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型。 isinstance() 会…...

人工智能前景

人工智能AI的未来非常广阔和光明。随着科技的不断发展和普及,人工智能已经开始逐渐融入我们生活的方方面面,比如智能家居、智能医疗、无人驾驶等等。未来,随着更多的应用场景被开拓和挖掘,人工智能的应用范围将会越来越广泛&#…...

python并发编程学习笔记--生产者消费者模型 day02

目录 1. 什么是生产者消费者模型 2. 为什么引入生产者消费者模型 3. 如何实现 4. 示例 1. 什么是生产者消费者模型 生产者 : 程序中负责产生数据的一方消费者 : 程序中负责处理数据的一方 2. 为什么引入生产者消费者模型 在并发编程中, 生产者消费者模式通过一个容器来解…...

彩蛋丨利用R语言脚本实现批量合并Excel表格,再也不用手动点来点去了!

利用R语言脚本实现批量合并Excel表格 在整理数据的时候遇到一个问题:假如有很多个excel表,分别存放了一部分数据,现在想要快速把这些表格的数据汇总到一起,如何用R语言快速完成呢?本文分享一个脚本,能够自动…...

深入学习MYSQL-数据操纵及视图

前言 本博客中的例子和文字大部分来源于书籍《mysql必会知识》,后续会根据更多的书籍不断完善此笔记。 插入操作 可以这种方式向数据库插入两条数据,mysql和pg都支持这种写法。在实战中我们应该更多的使用这种写法,因为数据库的批量操作会…...

深入讲解eMMC简介

1 eMMC是什么 eMMC是embedded MultiMediaCard的简称,即嵌入式多媒体卡,是一种闪存卡的标准,它定义了基于嵌入式多媒体卡的存储系统的物理架构和访问接口及协议,具体由电子设备工程联合委员会JEDEC订立和发布。它是对MMC的一个拓展&#xff0…...

ICV:中国车载超声波雷达市场规模预计2024年可达20亿美元

近年来,由于市场对车辆先进安全功能的需求的增加,汽车超声波传感器市场一直保持稳步增长。ICV估计,车载超声波传感器全球市场预计在2022年至2027年之间以11.5%的复合年增长率增长,这种增长是由越来越多的高级驾驶辅助系…...

PointNet:利用深度学习对点云进行3D分类和语义分割

PointNet:利用深度学习对点云进行3D分类和语义分割 参考自,PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation 代码仓库地址为:https://github.com/charlesq34/pointnet/ 介绍 这次介绍的是一个比较基础的工作…...

第四十二章 Unity 下拉框 (Dropdown) UI

本章节我们介绍下拉框 (Dropdown),我们点击菜单栏“GameObject”->“UI”->“Dropdown”,然后调整它的位置,效果如下 其实它的本质就是一个下拉列表,然后选择列表中的一个选项而已。大家在很多网页中应该可以看到类似的UI元…...

STL常用梳理——STACK、QUEUE

STL——适配器篇 1、ListSTL list 容器介绍list使用 2、适配器介绍3、Deque容器Stack、Queue适配器实现 1、List STL list 容器介绍 STL list 容器,又称双向链表容器,即该容器的底层是以双向链表的形式实现的。这意味着,list 容器中的元素可…...

Unity物理系统基本概念

前言:物理引擎仅仅是对现实物理的一种近似模拟。无论是从运算精度和时间连续性都不够准确。目的只是为了让游戏具备令人信服的物理表现,增强游戏的表现力和用户的沉浸感。 一、刚体Rigidbody 刚体是让物体产生物理行为的主要组件。一旦挂载了Rigidbody组…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...