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

news/2024/7/9 20:59:31 标签: 数据库, postgresql, 预脚本, 运维, 笔记

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
psql

CREATE 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 的安装、初始化、启动、密码设置等步骤。请注意,在安装过程中可能会提示您输入密码等信息。根据需要输入正确的信息即可。


http://www.niftyadmin.cn/n/298937.html

相关文章

(十九)Scrapy中基于Scrapy-redis组件实现分布式爬虫(非常详细)

系列文章: python网络爬虫专栏 目录 11 Scrapy-redis组件实现分布式爬虫

VR与AR:沉浸式与交互式体验的对比

一、引言 当谈到VR(虚拟现实)和AR(增强现实)时,它们都是与计算机图形和感知技术相关的创新技术。 VR(虚拟现实)和AR(增强现实)作为引领未来科技的创新技术,正…

Vue中的组件

私人博客 许小墨のBlog —— 菜鸡博客直通车 系列文章完整版,配图更多,CSDN博文图片需要手动上传,因此文章配图较少,看不懂的可以去菜鸡博客参考一下配图! 系列文章目录 前端系列文章——传送门 后端系列文章——传送…

看电商数据,用api接口数据

看渠道,看行业,看竞品很方便,不用拉一堆品牌比较,我看整体的时候很直接,谁最近数据好销量高一目了然,我也能做出反应和调整。 深圳电商运营中心 看历史数据的功能,极大满足了我不断总结复盘的习…

深入理解Java虚拟机——内存分配与回收策略

1.前言 在读这篇博客之前,你需要了解分代收集理论中,收集器应该将Java堆划分出不同的区域**,**然后将回收对象依据其年龄(年龄即对象熬过垃圾收集过程的次数)分配到不同的区域之中存储。 例如appel式回收&#xff0c…

Docker笔记4 | 镜像的获取、列出和删除

4 | 镜像的获取、列出和删除 1 获取镜像1.1 命令格式1.2 参数说明1.3 docker run说明 2 列出镜像2.1 docker image ls2.2 镜像空间2.3 虚悬镜像2.4 中间层镜像2.5 列出部分镜像 3 删除镜像3.1 docker image rm3.2 可以使用 ID、镜像名、摘要删除镜像3.3 Untagged 和 Deleted3.4…

学习 GitHub 对我们有什么好处?

学习 GitHub 对我们有什么好处? 为什么要学习 GitHub,或者说学习 GitHub 对我们有什么好处? 理由一:GitHub 上有很多大牛出没,国外的咱先不说,就国内的像百度、腾讯、阿里之类的大公司,里面的很…

Maven配置阿里云仓库https

2022年开始,阿里云对以前的maven仓库地址进行升级,由原来的http换成https 原来链接: http://maven.aliyun.com/repository/public 现在链接: https://maven.aliyun.com/repository/public maven settings.xml配置 maven settin…