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的一个拓展࿰…...

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

防止表单重复提交的几种方式,演示一个自定义注解方式的实现
防止表单重复提交的几种方式,演示一个自定义注解方式的实现 一、防止表单重复提交的几种方式方式一:Token 机制方式二:去重表(主要是利用 MySQL 的唯一索引机制来实现的)方式三:Redis 的 setnx方式四&#…...

《基于智能手机采集的PPG信号预测血管老化》阅读笔记
目录 一、论文摘要 二、论文十问 Q1: Q1论文试图解决什么问题? Q2: 这是否是一个新的问题? Q3: 这篇文章要验证一个什么科学假设? Q4: 有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?…...

【大数据-调度工具】dolphinscheduler安装和遇到的问题
1.安装 安装步骤按照官网安装即可 官网:DolphinScheduler | 文档中心 (apache.org) 版本:3.1.5 2.踩坑记录 Q1.大文件无法上传 问题描述: 在资源中心中上传文件选择完大文件夹之后,选择确认之后确认按钮转了几圈圈之后就没…...

滑动轨迹生成的思路和代码分享-测试可过极验 90%机率
如有技术侵权、可联系本人下架 由于极验采用人工智能的方式对滑动的轨迹进行的验证,因此如果我们比较随意的生成鼠标滑动轨迹基本是肯定被封的,因此我们要详细分析一下鼠标轨迹的规律, 通之前介绍的调试手段,手工滑动滑块,获取到鼠标滑动轨迹的集合数组如下: [[-37,-41…...

【Linux】项目自动化构建工具make/makefile
🏖️作者:malloc不出对象 ⛺专栏:Linux的学习之路 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录 前言一、make/makefile的背景二、…...

【系分范文】论软件需求获取技术以及应用
目录 论题论题介绍论文要点理论素材准备范文摘要正文论题 论软件需求获取技术以及应用 论题介绍 软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。软件需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是否科学、准备充分,对获取…...

vue2.0中post请求
vue2.0中post请求 三种格式:在vue中axois的用法:1、 multipart/form-data类型2、 x-www-form-urlencoded类型3、 application/json类型 三种格式: ○ Content-Type:x-www-form-urlencoded ○ Content-Type:multipart/form-data ○ Content…...

MySQL双写缓冲区(Doublewrite Buffer)
本文已收录至Github,推荐阅读 👉 Java随想录 文章目录 摘要为什么需要Doublewrite BufferDoublewrite Buffer原理Doublewrite Buffer相关参数总结 摘要 InnoDB是MySQL中一种常用的事务性存储引擎,它具有很多优秀的特性。其中,Dou…...

免费开源的Umi-OCR 文字识别工具
大家好,我是小寻,欢迎关注公众号:工具优选,免费领取优质项目源码和常用工具,还可以加入我的交流群! 如今,在日常生活和工作中,我们经常需要捕捉屏幕截图并识别其中的文本信息。比如别人给你发资料时直接发…...

如何让微信小程序弹窗滚动条设置在最上面
最近发现一个事情搞得很烦,微信小程序的弹窗内容可以滚动的时候,要保证每一次打开都在最上面,研究了一下终于发现了怎么解决 第一步 首先得把你的弹窗里面的内容用scroll-view标签包起来,像这样 <scroll-view style"hei…...