几种环境下的Postgres数据库安装

1. Postgres 数据库介绍

PostgreSQL(又称 Postgres)是一种强大、开源的关系型数据库管理系统(RDBMS),它具备高度的可靠性、稳定性和可扩展性,主要特点如下:

  1. 开源:PostgreSQL 是基于开源许可证发布的,任何人都可以免费使用、修改和分发它。
  2. 关系型数据库:PostgreSQL 是一种关系型数据库,支持 SQL 查询语句,具有强大的数据处理能力。
  3. 可扩展性:PostgreSQL 支持多种插件扩展,可以满足各种不同规模和需求的应用场景。
  4. 支持复杂数据类型:除了传统的数据类型外,PostgreSQL 还支持数组、JSON、XML 等复杂数据类型。
  5. 事务支持:PostgreSQL 提供完整的 ACID 事务支持,确保数据的一致性和可靠性。
  6. 触发器和存储过程:支持触发器和存储过程,可以在数据库层面实现业务逻辑。
  7. 并发控制:具备强大的并发控制能力,能够处理大量并发访问请求。
  8. 安全性:提供强大的用户认证和权限管理能力,确保数据安全。
  9. 扩展性:可以轻松地通过扩展模块来增加额外的功能,如全文搜索、地理信息系统等。

PostgreSQL 官网:https://www.postgresql.org/


资料推荐

2. 不同环境下的 Postgres 数据库安装

2.1 Windows 下 Postgres 安装

Windows/Mac 下支持使用可执行文件快速安装,安装后像普通软件一样启动 Postgres 即可。

下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads。

安装后可通过 pgAdmin 工具来连接 PostgreSQL 数据库。默认安装的 PostgreSQL 会开机自启,可以通过以下步骤关闭开机自启:

  1. 按下 win+r 打开运行对话框,输入 services.msc 并回车。
  2. 找到 postgres-x64-16,右击选择 属性,将启动方式修改为 手动。
  3. 可以右击选择 停止,关闭 postgres 服务。

Windows 下的启动与停止命令:

pg_ctl start -D "D:\Software\PostgreSQL\16\data"
pg_ctl stop -D "D:\Software\PostgreSQL\16\data"
  • -D 参数告诉 pg_ctl 命令应该使用哪个目录中的数据文件和配置文件。
  • 也可以写成 bat 批处理,快速实现启动+关闭。

启动 bat:

@echo off
set PG_PATH="D:\Software\PostgreSQL\16\bin"
set PG_DATA="D:\Software\PostgreSQL\16\data"

echo Starting PostgreSQL...
%PG_PATH%\pg_ctl.exe start -D %PG_DATA%
echo PostgreSQL started.

停止 bat:

@echo off
set PG_PATH="D:\Software\PostgreSQL\16\bin"
set PG_DATA="D:\Software\PostgreSQL\16\data"

echo Stoping PostgreSQL...
%PG_PATH%\pg_ctl.exe stop -D %PG_DATA%
echo PostgreSQL stoped.

2.2 Ubuntu 下 Postgres 安装

对于 Debian 的系统(如 Ubuntu),可以使用如下命令:

sudo apt update
sudo apt install postgresql postgresql-contrib

检测 PostgreSQL 是否启动:

sudo systemctl status postgresql

通过以下两个命令启动或者停止 PostgreSQL 服务:

sudo systemctl start postgresql
sudo systemctl stop postgresql

安装完成后,可以通过 postgresql 提供命令工具 psql 连接到 PostgreSQL 数据库,亦或者使用 pgAdmin 可视化界面进行连接:

psql -U postgres -h localhost -W

也可以通过切换到 postgres 用户直接运行 psql 命令:

sudo -i -u postgres
psql

在 psql 中修改 postgres 密码:

\password postgres

如果无法通过 psql -U postgres 进行登录,则大概率是 postgresql 仅开启了本地登录,可以通过编辑 pg_hba.conf 修改配置:

sudo vim /etc/postgresql/<版本号>/main/pg_hba.conf
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

PostgreSQL 中常见的身份验证方法如下:

  1. peer:仅适用于本地连接。客户端必须作为相同的操作系统用户连接。例如,如果你以 postgres 用户登录操作系统,那么连接到数据库时也必须以 postgres 用户身份。
  2. md5:使用MD5哈希进行密码验证。客户端必须提供正确的密码,密码在传输过程中会被加密。
  3. password:以明文方式传输密码进行验证。不推荐使用,因为密码在网络上以明文形式传输,安全性较低。
  4. trust:不需要密码,直接允许连接。不推荐在生产环境中使用,因为安全性较低。

2.3 Docker 快捷安装 PostgreSQL

Docker 中安装 PostgreSQL 非常简单,官方配置了镜像支持一件安装。

首先,从 Docker Hub 上拉去 PostgreSQL 的官方镜像:

docker pull postgres

然后运行 PostgreSQL 容器:

docker run --name postgres-dev -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 -d postgres 

停止与开启 PostgreSQL 容器:

docker start postgres-dev
docker stop postgres-dev

Docker 删除镜像与删除容器命令:

docker rmi <镜像id或名称>
docker rm <容器id或名称>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值