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组…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
