全网最快上手postgres的开发

本文详细介绍了在Windows环境下安装PostgreSQL的过程,包括下载解压版、初始化数据库、配置环境变量,以及使用命令行工具操作数据库。接着,作者通过SpringBoot演示了如何配置数据源、自动建库建表,并提供了相关代码示例。此外,还分享了一键启动/关闭数据库服务的bat脚本,以及检查建表成功的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言:继于上一篇 “windows如何找到并正确打开postgres可用版本”的文章,发现轻松上手作为新手还是比较难的,于是我又来了,将采用 windows版本 + IDEA + springboot2.5.X+ + 我的github代码 以带大家最快的方式轻松上手使用postgres这个数据库。(文末会附带对应的github链接)

一、官网下载对应的windows解压版本

链接: https://www.enterprisedb.com/download-postgresql-binaries

版本: 12.X

解压放在你喜欢的位置你就已经安装好软件了,个人路径是 D:\Program Files\PostgreSQL\pgsql-12.8.2

另外,为了保证后续更加方便地使用pg的命令行,建议将该路径放在windows的系统环境变量中去PATH,

二、初始化数据库并启动数据库服务

以下是windows的cmd命令

初始化数据库的基本配置信息:("D:\ProgramData\Pg"是我个人定义的数据存储位置, 用户我是使用admin)

D:\Program Files\PostgreSQL\pgsql-12.8.2\bin> .\initdb.exe -U admin -W --locale=C -E UTF8 -D "D:\ProgramData\Pg"

然后就是启动和关闭数据库服务啦:

pg_ctl -D "D:\ProgramData\Pg" -l logfile start
pg_ctl -D "D:\ProgramData\Pg" -l logfile stop

这里考虑各位的开发习惯,每次执行都要敲命令这种事情肯定是效率很低的,这里我开发了一个一键控制pg服务启动和关闭的bat,只需要点击即可

大家只需要轻轻一点即可快速启动或关闭服务了,我把代码贴这里

@echo off
pg_ctl -D D:\ProgramData\Pg -l logfile status | findstr pg_ctl | findstr PID
if "%errorlevel%"=="0" echo "pg服务器已经启动,开始关闭..."& pg_ctl -D "D:\ProgramData\Pg" -l logfile stop &goto end
echo 开始启动pg服务器...
pg_ctl -D "D:\ProgramData\Pg" -l logfile start

:end
pause

代码已经同步到github了:(https://github.com/junkaitongxue/LearnSpringBoot/blob/main/BaseServer/deployment/serverCtrl/pgSeverCtl.bat)

三、springboot使用

为什么是springboot,主要是对应后端有比较多的模板可以直接使用,而且主流,符合我们最快上手的效果。

IDEA新建一个springboot,不懂的小白可见链接:https://blog.csdn.net/qq_34205356/article/details/81098354

3.1 新增一下pom文件配置:

</dependencies>
        <!--        添加springboot的驱动-->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!--        添加jdbc的springboot启动配置,这个如果没有配置直接影响到启动的时候去执行创建db的sql-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
</dependencies>

3.2 添加对应的application.yml配置

spring:
  application:
    name: userPg
  #初始化基本的配置项
  datasource:
    url: jdbc:postgresql://127.0.0.1:5432/learn_db
    username: admin
    password: 123456
    driver-class-name: org.postgresql.Driver
  sql:
    #启动时需要初始化的建表语句
    init:
      username: admin
      password: 123456
      platform: pg
      schema-locations: classpath:sql/init/createDB-{{platform}}.sql
      mode: always
      separator: ;

说明:老的版本一直是使用spring.datasource.schema:来实现启动springboot服务的自动执行sql的,不过在高版本已经建议弃用了
spring.datasource.schema: classpath:schema-mysql.sql

3.3 根据业务建库建表

这里新建一个sql文件放在springboot项目的resource里面,具体的目录结构可见github链接

CREATE DATABASE learn_db;

CREATE TABLE IF NOT EXISTS t_persons
(
    Id_P      varchar(255) NOT NULL,
    LastName  varchar(255) NOT NULL,
    FirstName varchar(255),
    Address   varchar(255),
    City      varchar(255),
    PRIMARY KEY (Id_P)
);

3.4 简单用命令行工具查看建表是否成功

记得之前我初始化用的是admin的用户,因此我连接也需要使用这个用户

3.4.1 查看那些数据库可以连接:
psql -h 127.0.0.1 -U admin -l

在这里插入图片描述

3.4.2 连接:

我们就连一下这个postgres库看看,如下

psql -h 127.0.0.1 -U admin -d postgres

补充说明:如果填的用户和数据库错误,新手可能会犯以下错误:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T5Q7PCei-1636908613171)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20211114011231944.png)]

一个是psql: error: FATAL: database "admin" does not exist,一个是psql: error: FATAL: role "postgres" does not exist, 通过psql --help可以解决。

如果见下面则是说明创库成功了:
在这里插入图片描述

3.4.3 基础命令:

\l: 显示所有表
\c dbname: 类似use db
select datname from pg_database; 相当于mysql的show databases;
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public'; : 相当于mysql的show tables; public 是默认的schema的名字

SELECT column_name FROM information_schema.columns WHERE table_name ='table_name'; : 相当于mysql的describe table_name; 'table_name’是要查询的表的名字

其他常见的命令见菜鸟教程吧→https://www.runoob.com/postgresql/postgresql-tutorial.html

3.5 代码链接

附上一个可用的springboot项目链接:

https://github.com/junkaitongxue/LearnSpringBoot/tree/main/usePostgres

虽然看似简单,不过我也是踩了十多个坑,花了周末两天两夜的时间才完整打通整个流程,觉得有用的话欢迎大家点赞关注。

(以上为DreamKite本人原创,转载请附上原文链接)

https://github.com/junkaitongxue/LearnSpringBoot/tree/main/usePostgres

前面流程虽然看似简单,不过我也是踩了十多个坑,花了周末两天两夜的时间才完整打通整个流程,觉得有用的话欢迎大家点赞关注。

(以上为DreamKite本人原创,转载请附上原文链接)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dream_Kite

你的鼓励,是我不断创作的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值