PostgreSQL数据库——Docker版本的postgres安装 & Navicat连接方式+导入向导使用 & SpringBoot结合Jpa使用PostgreSQL初步

这篇具有很好参考价值的文章主要介绍了PostgreSQL数据库——Docker版本的postgres安装 & Navicat连接方式+导入向导使用 & SpringBoot结合Jpa使用PostgreSQL初步。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引出


1.PostgreSQL数据库初始,开源;
2.Docker版本的postgres安装,以及挂载启动;
3.Navicat连接方式+导入向导使用,导入csv文件;
4.SpringBoot结合Jpa使用PostgreSQL初步;

postgres数据库

PostgreSQL是一种开源的关系型数据库管理系统(RDBMS),它是一种高度可扩展的、可靠的、功能丰富的数据库系统。以下是关于PostgreSQL的一些介绍:

开源性:PostgreSQL是一个开源项目,可以免费使用和修改。它的源代码可以被任何人查看、修改和贡献。

关系型数据库:PostgreSQL是一种关系型数据库,它使用表格来存储和组织数据。它支持SQL查询语言,可以进行复杂的数据操作和查询。

可扩展性:PostgreSQL具有良好的可扩展性,可以处理大量的数据和高并发访问。它支持水平扩展和垂直扩展,可以通过添加更多的服务器节点或增加硬件资源来提高性能。

可靠性:PostgreSQL具有高度可靠性和数据完整性。它支持事务处理和ACID(原子性、一致性、隔离性和持久性)特性,可以确保数据的一致性和可靠性。

功能丰富:PostgreSQL提供了许多高级功能,如复杂查询、索引、触发器、视图、存储过程、外键约束等。它还支持全文搜索、地理空间数据处理、JSON数据类型等先进的功能。

跨平台性:PostgreSQL可以在多种操作系统上运行,包括Windows、Linux、Mac OS等。

docker postgresql,# Database,数据库,postgresql,docker,spring boot

Docker版本的postgres安装

docker search postgres

docker postgresql,# Database,数据库,postgresql,docker,spring boot

docker pull postgres

docker postgresql,# Database,数据库,postgresql,docker,spring boot

运行创建容器

docker run -it \
--name postgres \
--privileged \
-e POSTGRES_PASSWORD=123 \
-p 5432:5432 \
-v /usr/local/software/postgres/data:/var/lib/postgresql/data \
-d postgres
docker run --name postgres -e POSTGRES_PASSWORD=Abc1234% -p 5432:5432 -v /home/zx/postgres/data:/var/lib/postgresql/data -d postgres
  • –name postgres:指定容器的名称;
  • -e POSTGRES_PASSWORD=Abc1234%:设置环境变量,这里为设定PostgreSQL数据库的密码;
  • -p 5432:5432:指定端口映射,前者为宿主机访问端口,后者为容器内端口。如果不指定端口映射,只有在容器内可以访问数据库,外部是无法访问的;
  • -v /home/zx/postgres/data:/var/lib/postgresql/data:v是volume的简写,即绑定一个卷,冒号前的路径为宿主机的路径(如果指定路径不存在会自动创建目录),冒号后为容器内路径。容器会把宿主机的目录映射到容器内的路径,这样容器运行中生成的数据实际上就是写到了宿主机的指定路径上,即使容器删除了,此路径的文件也不会删除,这样就做到了数据库的持久化存储。还可以通过docker volume提供的相关命令显式地创建volume,然后再挂载到容器上,这里不做介绍,请自行查询相关内容;
  • -d:表示后台运行容器;
  • postgres:表示镜像的名称,docker基于上步拉取的镜像创建出容器;

docker postgresql,# Database,数据库,postgresql,docker,spring boot

查看日志

docker logs postgres

docker postgresql,# Database,数据库,postgresql,docker,spring boot

容器内连接数据库

docker exec -it postgres /bin/bash
  • exec:在容器中运行命令
  • postgres:为容器名称
  • -it:表示在当前终端为容器分配一个伪终端
  • /bin/bash:容器内运行/bin/bash终端

docker postgresql,# Database,数据库,postgresql,docker,spring boot

[root@localhost data]# docker exec -it postgres bash
root@3283f4dbe299:/# su postgres
postgres@3283f4dbe299:/$ psql
psql (14.1 (Debian 14.1-1.pgdg110+1))
Type "help" for help.

postgres=# \l
                                 List of databases
   Name    |  Owner   | Encoding |  Collate   |   Ctype    |   Access privileges   
-----------+----------+----------+------------+------------+-----------------------
 postgres  | postgres | UTF8     | en_US.utf8 | en_US.utf8 | 
 template0 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c/postgres          +
           |          |          |            |            | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.utf8 | en_US.utf8 | =c/postgres          +
           |          |          |            |            | postgres=CTc/postgres
(3 rows)

postgres=# 

Navicat连接数据库

创建连接

docker postgresql,# Database,数据库,postgresql,docker,spring boot

docker postgresql,# Database,数据库,postgresql,docker,spring boot

新建数据库

docker postgresql,# Database,数据库,postgresql,docker,spring boot

编码方式UTF-8

docker postgresql,# Database,数据库,postgresql,docker,spring boot

新建模式

docker postgresql,# Database,数据库,postgresql,docker,spring boot

输入模式名

docker postgresql,# Database,数据库,postgresql,docker,spring boot

导入向导

docker postgresql,# Database,数据库,postgresql,docker,spring boot

选择csv文件

docker postgresql,# Database,数据库,postgresql,docker,spring boot

docker postgresql,# Database,数据库,postgresql,docker,spring boot

docker postgresql,# Database,数据库,postgresql,docker,spring boot

LF (Line Feed):换行符,’\n’,表示切换到下一行,ASCII码为10

CR (Carriage Return):回车符,’\r’,表示回到当前行的开头,ASCII码为13

CRLF:一个回车符和一个换行符,“\r\n”

  • Windows系统 使用 CRLF 进行换行
  • Unix系统类Unix系统 采用 LF 进行换行

关于分隔符

docker postgresql,# Database,数据库,postgresql,docker,spring boot

日期排序方式

docker postgresql,# Database,数据库,postgresql,docker,spring boot

支持修改表名

docker postgresql,# Database,数据库,postgresql,docker,spring boot

选择字段,修改导入后字段名字

docker postgresql,# Database,数据库,postgresql,docker,spring boot

导入模式

docker postgresql,# Database,数据库,postgresql,docker,spring boot

开始导入

docker postgresql,# Database,数据库,postgresql,docker,spring boot

docker postgresql,# Database,数据库,postgresql,docker,spring boot

SpringBoot结合Jpa使用postgres初步

docker postgresql,# Database,数据库,postgresql,docker,spring boot

导入依赖

<!--        Jpa的包-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

<!--        postgresql数据库-->
        <dependency>
            <groupId>org.postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <scope>runtime</scope>
        </dependency>

创建实体类

javax

  • @Entity

    @Table

    • @Id
    • @GeneratedValue(strategy) AUTO/IDENTITY(数据库自己的主键自增长策略???)
    • @Column

GenerationType.AUTO:会多一张表,记录键
GenerationType.IDENTITY:用数据库自增的主键
@GeneratedValue(strategy = GenerationType.IDENTITY) // 用数据库自增长策略

docker postgresql,# Database,数据库,postgresql,docker,spring boot

package com.tianju.book.jpa;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.*;

@Data
@NoArgsConstructor
@AllArgsConstructor

// 表示这个实体类是和数据库表对应的
@Entity
@Table(name = "identity_card") // 对应的表名
public class Identity {
    @Id // 是主键
    // GenerationType.AUTO:会多一张表,记录键
    // GenerationType.IDENTITY:用数据库自增的主键
    @GeneratedValue(strategy = GenerationType.IDENTITY) // 用数据库自增长策略
    @Column(name = "id")
    private String id;

    @Column(name = "distinct")
    private String distinct;

}

dao根据区域模糊查询

JpaRepository<Identity,String>:实体类以及主键的类型

docker postgresql,# Database,数据库,postgresql,docker,spring boot

package com.tianju.book.jpa;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * JpaRepository<Identity,String>:实体类以及主键的类型
 */
@Repository
public interface IdentityDao extends JpaRepository<Identity,String> {
    List<Identity> findByDistinctLike(String distinct);

}

配置类

在jpa中,ddl-auto共分为四种:

spring.jpa.hibernate.ddl-auto = create ----每次启动SpringBoot程序时,没有表会新建表格,表内有数据会清空;

spring.jpa.hibernate.ddl-auto = create-drop ----每次启动SpringBoot程序时,会清空表数据;

spring.jpa.hibernate.ddl-auto = update ---- 每次启动SpringBoot程序时,没有表格会新建表格,表内有数据不会清空,只会更新;

spring.jpa.hibernate.ddl-auto = validate ---- 每次启动SpringBoot程序时,会校验实体类字段与数据库字段的类型是否相同,不同则会报错;

docker postgresql,# Database,数据库,postgresql,docker,spring boot

server:
  port: 9099

spring:
  datasource:
    driver-class-name: org.postgresql.Driver
    url: jdbc:postgresql://192.168.111.130:5432/test-db?useSSL=false
    username: postgres
    password: 123

  jpa:
    # 允许显示sql
    show-sql: true
    hibernate:
      # 自动对表进行增删改查的操作,创建表
      # 可以开始的时候打开,等表创建好之后关闭
      ddl-auto: validate

使用其他模式

docker postgresql,# Database,数据库,postgresql,docker,spring boot

在Spring Boot的application.yml文件中,可以使用以下方式指定连接PostgreSQL数据库中的模式:

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/database_name?currentSchema=schema_name
    username: your_username
    password: your_password

在上述配置中,database_name是要连接的数据库名称,schema_name是要使用的模式名称。通过在URL中添加currentSchema=schema_name参数,可以指定要使用的模式。

另外,如果要在代码中指定模式,可以使用spring.jpa.properties.hibernate.default_schema属性,如下所示:

spring:
  jpa:
    properties:
      hibernate:
        default_schema: schema_name

这样,Hibernate将使用指定的模式来创建和查询数据库对象。

进行测试

docker postgresql,# Database,数据库,postgresql,docker,spring boot

package com.tianju.book.mapper;

import com.tianju.book.jpa.Identity;
import com.tianju.book.jpa.IdentityDao;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.List;

@SpringBootTest
@RunWith(SpringJUnit4ClassRunner.class)
public class JpaDemoTest {

    @Autowired
    private IdentityDao identityDao;

    @Test
    public void findByDistinctLike(){
        List<Identity> distinctLike = identityDao.findByDistinctLike("北京%");
        distinctLike.forEach(identity->{
            System.out.println(identity);
        });
    }

}


总结

1.PostgreSQL数据库初始,开源;
2.Docker版本的postgres安装,以及挂载启动;
3.Navicat连接方式+导入向导使用,导入csv文件;
4.SpringBoot结合Jpa使用PostgreSQL初步;文章来源地址https://www.toymoban.com/news/detail-758059.html

到了这里,关于PostgreSQL数据库——Docker版本的postgres安装 & Navicat连接方式+导入向导使用 & SpringBoot结合Jpa使用PostgreSQL初步的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • PostgreSQL 16数据库的yum、编译、docker三种方式安装——筑梦之路

    随手一记:生成密码的密文sha256加密

    2024年02月07日
    浏览(57)
  • [运维|数据库] docker postgresql数据库环境变量配置

    要配置Docker中的PostgreSQL数据库的环境变量,可以使用以下方法: 使用Docker命令行: 将 用户名 , 密码 , 数据库名 替换为你想要设置的实际值。这将创建一个名为 mypostgres 的容器,并将 PostgreSQL 的用户名、密码和数据库名设置为指定的值。 -p 5432:5432 指定了容器内部和主机之间

    2024年02月09日
    浏览(65)
  • 使用docker部署postgreSQL数据库

    随着docker的广泛应用,为了提供便利的管理,PostgreSQL数据库也支持docker的安装方式。下面详细介绍docker安装PostgreSQL数据库的方法。 1、查看下载数据库镜像命令 访问dockerhub官网:https://registry.hub.docker.com/ 地址,下载指定版本的postgresql数据库。 2、执行下载命令 在安装有doc

    2024年02月11日
    浏览(56)
  • 在Docker中运行PostgreSQL数据库

    1.下载Docker 2.设置DockerHub账号 3.运行Docker并下载Image 4.启动PostgreSQL Image 5.连接到数据库运行SQL 开放端口从Docker容器到主操作系统,这将允许我们使用DBeaver来连接数据库。 首先登录进Docker,使用docker login命令。 登录进去之后,可以下载Image,使用docker pull命令。 也可以使用d

    2024年02月08日
    浏览(51)
  • docker版postgresql数据库主从配置

    参考:postgresql16配置主从 注意项 :当前操作主路径: ~/dockerEnv 【示例路径】 创建 sql 文件,文件路径 dockerEnv/dbInit/a_create_user.sql 注意: 如果在同一个宿主机操作,注意多个 yml 文件的端口映射,不要冲突! 挂载宿主机 sql 文件夹到容器的 docker-entrypoint-initdb.d 路径下,容器启

    2024年04月14日
    浏览(66)
  • 【最全】从Docker中运行postgresql数据库

    有三种方式:Dockerfile 启动、docker-compose启动、通过命令行 我采用的是docker-compose.yml 的方式,大家可以自己玩一玩其他的两种方式,参考这个链接 postgresql docker images list 如果安装过程遇到以下报错, 可以更换以下版本的pg 镜像 docker pull postgres:15-bullseye 创建并进入 pg 目录 3

    2024年02月07日
    浏览(51)
  • postgres篇---python连接postgres数据库2

    2024年02月11日
    浏览(50)
  • Linux 源码安装: PostgreSQL 15.6数据库

    💖The Begin💖点点关注,收藏不迷路💖 🍒 PostgreSQL 中文文档 下载地址:https://www.postgresql.org/ftp/source/ 安装结果: vi ~/.bashrc ,如果全局的则编辑/etc/profile。 可以执行以下命令查看 PostgreSQL 版本信息: 1、创建一个名为 postgresql.service 的服务单元文件: 编辑 /etc/systemd/system/p

    2024年03月24日
    浏览(84)
  • 图数据库Neo4j——Neo4j简介、数据结构 & Docker版本的部署安装 & Cypher语句的入门

    MySQL是一种开源的关系型数据库管理系统,使用SQL作为其查询语言,常见的关系型数据库有MySQL、Oracle、SQL Server、PostgreSQL等。相关博客文章如下: 【合集】MySQL的入门进阶强化——从 普通人 到 超级赛亚人 的 华丽转身 PostgreSQL数据库——Docker版本的postgres安装 Navicat连接方式

    2024年02月06日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包