PostgreSQL和ElasticSearch学习笔记

2023-05-16

PG库

PostgreSQL 12.2 手册

pg数据库的结构理解 - echao - 博客园 (cnblogs.com)

PostgreSQL官方介绍称是最先进的开源关系型数据库,支持所有主流的平台,目前已经更新到了最新版本的12.0,在MySQL被Oracle收购后,PostgreSQL开源社区越来越活跃了,同时还有分布式集群的开源方案GreenPlum,目前也非常受欢迎。

pg数据库和mysql的区别是什么

pg数据库和mysql的区别是什么?-mysql教程-PHP中文网

MySQL与PostgreSQL都能运行在多个操作系统上,如Linux、Unix、Mac OS X与Windows。他们都是开源、免费的,因此测试他们时的唯一代价就是你的时间与硬件。他们都很灵活且具有可伸缩性,可用在小型系统和大型分布式系统 上。MySQL在一个领域上要比PostgreSQL更进一步,那就是它的触角延伸到了嵌入式领域,这是通过libmysqld实现的。 PostgreSQL不支持嵌入式应用,依然坚守在传统的客户端/服务器架构上。

MySQL通常被认为是针对网站与应用的快速数据库后端,能够进行快速的读取和大量的查询操作,不过在复杂特性与数据完整性检查方面不太尽如人意。

PostgreSQL是针对事务型企业应用的严肃、功能完善的数据库,支持强ACID特性和很多数据完整性检查。他们二者都在某些任务上具有很快的速 度,MySQL不同存储引擎的行为有较大差别。MyISAM引擎是最快的,因为它只执行很少的数据完整性检查,适合于后端读操作较多的站点,不过对于包含 敏感数据的读/写数据库来说就是个灾难了,因为MyISAM表最终可能会损坏。MySQL提供了修复MySQL表的工具,不过对于敏感数据来说,支持 ACID特性的InnoDB则是个更好的选择。

与之相反,PostgreSQL则是个只有单一存储引擎的完全集成的数据库。你可以通过调整postgresql.conf文件的参数来改进性能,也可以调整查询与事务。PostgreSQL文档对于性能调优提供了非常详尽的介绍。

MySQL与PostgreSQL都是高可配置的,并且可以针对不同的任务进行相应的优化。他们都支持通过扩展来添加额外的功能。

一. 后台登录

\1. 首先切换至master用户

# su master

\2. 登录PG库,数据库名称为nsc

$ psql -U nsc

\3. 展示当前数据库下所有schema信息

nsc=> \dn

\4. 常见命令


\password      设置密码
​
\q          退出
​
\h          查看SQL命令的解释,比如\h select
​
\?          查看psql命令列表
​
\l          列出所有数据库
​
\c [database_name]  连接其他数据库
​
\d          列出当前数据库的所有表格
​
\d [table_name]   列出某一张表格的结构
​
\x          对数据做展开操作
​
\du         列出所有用户  

table命令和sql一样

ElasticSearch

下载地址

ElasticSearch: https://mirrors.huaweicloud.com/elasticsearch/?C=N&O=D

logstash: https://mirrors.huaweicloud.com/logstash/?C=N&O=D

可视化界面elasticsearch-head.https://github.com/mobz/elasticsearch-head

kibana: https://mirrors.huaweicloud.com/kibana/?C=N&O=D

ik分词器 https://github.com/medcl/elasticsearch-analysis-ik

jdk必须是1.8及以上的版本


概述

ElasticSearch,简称es,es是一个开源的高拓展的分布式全文检索引擎,它可以近乎实施的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用java开发并使用Lucene 作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

lucene 信息检索工具包 不包含搜索引擎系统

Elasticsearch和lucene 是基于lucene做了一些封装和增强

是什么 The Elastic Stack, 包括Elasticsearch 、 Kibana、 Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。

谁在使用

  • 维基百科,类似百度百科,全文检索,高亮,搜索推荐

  • 国外新闻网站,类似搜狐新闻,用户行为日志(点击,浏览,收藏,评论)+社交网络数据,数据分析。。。

  • Stack Overflow国外的程序异常讨论论坛

  • GitHub(开源代码管理),搜索上千亿行代码

  • 电商网站,检索商品

  • 日志数据分析,logstash采集日志,ES进行复杂的数据分析,ELK技术(elasticsearch+logstash+kibana)

  • 商品价格监控网站

  • 商业智能系统

  • 站内搜索

ES和solr的差别

ElasticSearch简介

ElasticSearch是一个实施分布式搜索分析引擎。它让你以前所未有的速度处理大数据成为可能。它用于全文搜索、结构化搜索、分析以及将这三者混合使用:

维基百科使用es提供全文搜索并高亮关键字,以及输入实施搜索和搜索纠错等搜索建议功能;英国公报使用es结合用户日志和社交网络数据提供给他们的编辑以实施的反馈

es是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好、功能最全的搜索引擎库。想要使用它,必须使用java来作为开发语言并将其直接继承到你的应用中。

solr简介

Solr是Apache下的一个顶级开源项目,采用java开发,是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展、并对索引、搜索性能进行了优化。可以独立运行,是一个独立的企业及搜索应用服务器,它对外提供类似于web-service的API接口。用户可以通过http请求,像搜索引擎服务器提交一定格式的文件,生成索引;也可以通过提出查找请求,并得到返回结果。

两者比较

  • 当单纯的对已有数据进行搜索时,Solr更快

  • 实时建立索引是,Solr会产生io阻塞,查询性能较差,ElasticSearch具有明显的优势

  • 随着数据量的增加,Solr的搜索效率会变得更低,而Elasticsearch却没有明显的变化

总结

  1. es基本是开箱即用,非常简单。而solr会有点复杂。

  2. Solr利用Zookeeper进行分布式管理,而elasticsearch自身带有分布式协调管理功能

  3. solr支持更多格式的数据,比如json xml csv。而es只支持json文件格式

  4. solr官方提供的功能更多,而elasticsearch更注重核心功能,高级功能由第三方插件提供

  5. solr查询快,但更新索引时慢,用于电商等查询多的应用

  6. es建立索引宽,即实时性查询快,用于facebook新浪等搜索

  7. solr较成熟,有一个更大,更成熟的用户、开发和贡献者社区,而elasticsearch相对开发维护者较少,更新太快,学习使用成本较高

ElasticSearch安装

注:安装ElasticSearch之前必须保证JDK1.8+安装完毕,并正确的配置好JDK环境变量,否则启动ElasticSearch失败。

官方文档

Elasticsearch 7.8.0下载页面

Windows 版的 Elasticsearch 压缩包,解压即安装完毕,解压后的 Elasticsearch 的目录结构如下 :

目录含义
bin可执行脚本目录
config配置目录
jdk内置jdk目录
lib logs类库 日志目录
modules模块目录
plugins插件目录

解压后,进入 bin 文件目录,点击 elasticsearch.bat 文件启动 ES 服务 。

注意: 9300 端口为 Elasticsearch 集群间组件的通信端口, 9200 端口为浏览器访问的 http协议 RESTful 端口。

打开浏览器,输入地址: http://localhost:9200,测试返回结果,返回结果如下:


{
  "name" : "DESKTOP-R91PIL1",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "HeSR3Kd_T5ucRm3oEsO1cA",
  "version" : {
    "number" : "7.13.2",
    "build_flavor" : "default",
    "build_type" : "zip",
    "build_hash" : "4d960a0733be83dd2543ca018aa4ddc42e956800",
    "build_date" : "2021-06-10T21:01:55.251515791Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}  

参考链接:https://blog.csdn.net/u011863024/article/details/115721328

可视化界面

cerebro postman head 谷歌浏览器插件等

ES核心概念

ElasticSearch是面向文档型的数据库,一条数据在这里就是一个文档。比如:


{
    "name" :     "John",
    "sex" :      "Male",
    "age" :      25,
    "birthDate": "1990/05/01",
    "about" :    "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}  

在MySql中这样的数据存储容易想到建立一张User表,其中有一些字段,而在es中就是一个文档,文档会属于一个User类型,各种各样的类型存储于一个索引中。下表是关系型数据库和es的疏于对照表:

关系型数据库(比如Mysql)非关系型数据库(Elasticsearch)
数据库Database索引Index
表Table类型Type
数据行Row文档Document
数据列Column字段Field
约束 Schema映射Mapping

集群,节点,索引,类型,文档,分片,映射是什么?

es中可以包含多个索引(数据库),每个索引中可以包含多个类型(表),每个类型下又包含多个文档(行),每个文档又包含多个字段(列)。

物理设计:

es在后台把每个索引划分成多个分片,每个分片可以在集群中的不同服务器中转移。

逻辑设计:

一个索引类型,包含多个文档,当我们索引一篇文档时,可以通过这样的顺序找到他: 索引-》类型-》文档id(该id实际是个字符串),通过这个组合我们就能索引到某个具体的文档。

文档

es是面向文档的,意味着索引和搜索数据的最小单位是文档,es中,文档有几个重要的属性:

  • 自我包含,一篇文档同时包含字段和对应的值,也就是同时包含key:value

  • 可以是层次性的,一个文档中包含自文档,复杂的逻辑实体就是这么来的

  • 灵活的结构,文档不依赖预先定义的模式,我们知道关系型数据库中,要提前定义字段才能使用,在es中,对于字段是非常灵活的。有时候,我们可以忽略字段,或者动态的添加一个新的字段

尽管我们可以随意的添加或忽略某个字段,但是,每个字段的类型非常重要。因为es会保存字段和类型之间的映射以及其他的设置。这种映射具体到每个映射的每种类型,这也是为什么在es中,类型有时候也称为映射类型。

类型

类型是文档的逻辑容器,就像关系型数据库一样,表格是行的容器。类型中对于字段的定义称为映射,比如name映射为string类型.我们说文档是无模式的,他们不需要拥有映射中所定义的所有字段,当新增加一个字段时,es会自动的将新字段加入映射,但是这个字段不确定他是什么类型,所以最安全的方式是提前定义好所需要的映射。

索引

就是数据库

索引是映射类型的容器,es的索引是一个非常大的集合。索引寻出了映射类型的字段和其他设置。然后他们被存储到了各个分片上。

物理设计:节点和分片工作

一个集群至少有一个节点,而一个节点就是一个es进程,节点可以有多个索引默认的,如果创建索引,索引会

倒排索引

elasticsearch使用的是一种称为倒排索引的结构,采用Lucene倒排索作为底层。这种结构适用于快速的全文搜索,一个索引文档中所有不重复的列表构成,对于每一个词,都有一个包含它的文档列表。例如,现在有两个文档,每个文档包含如下内容∶


Study every day,good good up to forever # 文档1包含的内容
To forever, study every day, good good up # 文档2包含的内容  

为了创建倒排索引,我们首先要将每个文档拆分成独立的词(或称为词条或者tokens),然后创建一个包含所有不重复的词条的排序列表,然后列出每个词条出现在哪个文档:

img

现在,我们试图搜索to forever,只需要查看包含每个词条的文档

image-20210202134535705

两个文档都匹配,但是第一个文档比第二个匹配程度更高。如果没有别的条件,现在,这两个包含关键字的文档都将返回。再来看一个示例,比如我们通过博客标签来搜索博客文章。那么倒排索引列表就是这样的一个结构:

如果要搜索含有python标签的文章,那相对于查找所有原始数据而言,查找倒排索引后的数据将会快的多。只需要查看标签这一栏,然后获取相关的文章ID即可。完全过滤掉无关的所有数据,提高效率!

elasticsearch的索引和Lucene的索引对比

在elasticsearch中,索引(库)这个词被频繁使用,这就是术语的使用。在elasticsearch中,索引被分为多个分片,每份分片是一个Lucene的索引。所以一个elasticsearch索引是由多个Lucene索引组成的。别问为什么,谁让elasticsearch使用Lucene作为底层呢!如无特指,说起索引都是指elasticsearch的索引。

命令模式的使用

Rest风格说明

一种软件架构风格,而不是标准。更易于实现缓存等机制

methodurl地址描述
POSTlocalhost:9200/索引名称/类型名称创建文档(随机文档id)
POSTlocalhost:9200/索引名称/类型名称/文档id/_update修改文档
DELETElocalhost:9200/索引名称/类型名称/文档id 删除文档删除文档
GETlocalhost:9200/索引名称/类型名称/文档id通过文档id查询文档
POSTlocalhost:9200/索引名称/类型名称/_search查询所有的数据

学习资料:https://blog.csdn.net/lisen01070107/article/details/108288037有下载镜像

https://zhuanlan.zhihu.com/p/268065286

【狂神说Java】ElasticSearch7.6.x最新完整教程通俗易懂哔哩哔哩bilibili

https://www.bilibili.com/video/BV1hh411D7sb

Elasticsearch学习笔记_KISS-CSDN博客

(狂神)ElasticSearch 7.x.x学习笔记_愿你拥有大风与烈酒,也能享受孤独与自由-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSQL和ElasticSearch学习笔记 的相关文章

  • 嵌入式系统USB CDROM虚拟光驱驱动程序开发

    带U盘功能的的USB接口设备已经越来越常见了 如果能够把产品说明书或者产品设备驱动程序做成一个USB CDROM xff0c 那该多方便 假设 xff1a 你已经有了USB mass storage驱动 你的任务是在此基础上增加一个USB
  • Redis集群原理详解

    一 Redis集群介绍 xff1a 1 为什么需要Redis集群 xff1f 在讲Redis集群架构之前 xff0c 我们先简单讲下Redis单实例的架构 xff0c 从最开始的一主N从 xff0c 到读写分离 xff0c 再到Sentin
  • python刷题之快慢指针与二分查找

    141 环形链表 难度简单986 给定一个链表 xff0c 判断链表中是否有环 如果链表中有某个节点 xff0c 可以通过连续跟踪 next 指针再次到达 xff0c 则链表中存在环 为了表示给定链表中的环 xff0c 我们使用整数 pos
  • LeetCode每日一题

    191 位1的个数 难度简单290 编写一个函数 xff0c 输入是一个无符号整数 xff08 以二进制串的形式 xff09 xff0c 返回其二进制表达式中数字位数为 39 1 39 的个数 xff08 也被称为汉明重量 xff09 提示
  • scrapy模拟豆瓣登录

    看的课程是21天搞定分布式爬虫 xff0c 应该是几年前的了 xff0c 课程当时还是验证码 xff0c 现在登录和之前都不一样了现在需要你拖动滑块完成拼图 之前的页面 现在验证码都变成拼图了 学学原理吧 首先创建scrapy项目 首先进入
  • 利用Scrapy框架爬取汽车之家图片(详细)

    爬取结果 爬取步骤 创建爬虫文件 进入cmd命令模式下 xff0c 进入想要存取爬虫代码的文件 xff0c 我这里是进入e盘下的E pystudy scraping文件夹内 C Users wei gt E E gt cd E pystud
  • Scrapy框架下载器和随机请求头

    下载器中间键可以为我们设置多个代理ip与请求头 xff0c 达到反反爬虫的目的 下面是scrapy为我们创建好的中间件的类 Process request self request spider 参数 request 发送请求的reques
  • scrapy爬取完整网页完整数据,简书(最新)

    需求 xff1a 简书网站整站爬虫 数据保存到mysql数据库中 将seleniume 43 chromedriver集成到scrapy 爬取结果如下 xff1a 安装Selenium和chromedriver xff1a https bl
  • 图和图的基本知识

    1 1 图的表示 1 2 图的特性 子图Subgraph 连通分量Connected Component 接通图Connected Graph 最短路径Shortest Path 图直径Diameter 1 3 图中心性 Centralit
  • BFS和DFS的python实现(要记住)

    BFS DFS python模板与实现 BFS模板 1 无需分层遍历 while queue 不空 xff1a cur 61 queue pop for 节点 in cur的所有相邻节点 xff1a if 该节点有效且未访问过 xff1a
  • BFS与 DFS题目练习(python)

    107 二叉树的层序遍历 II 难度中等423 给定一个二叉树 xff0c 返回其节点值自底向上的层序遍历 xff08 即按从叶子节点所在层到根节点所在的层 xff0c 逐层从左向右遍历 xff09 例如 xff1a 给定二叉树 3 9 2
  • LeetCode每日一题-合并两个有序数组

    88 合并两个有序数组 难度简单878 给你两个有序整数数组 nums1 和 nums2 xff0c 请你将 nums2 合并到 nums1 中 xff0c 使 nums1 成为一个有序数组 初始化 nums1 和 nums2 的元素数量分
  • debian 系统无声音

    系统识别了硬件 xff0c 加载了内核 可是就是没声音 在基础条件都满足的情况下 xff0c 尝试输入 xff1a sudo alsactl init 反正我是一输入声音就出来了 转载于 https my oschina net skyoo
  • 爬虫实战-爬取房天下网站全国所有城市的新房和二手房信息(最新)

    看到https www cnblogs com derek1184405959 p 9446544 html项目 xff1a 爬取房天下网站全国所有城市的新房和二手房信息和其他博客的代码 xff0c 因为网站的更新或者其他原因都不能正确爬取
  • pytorch 模型保存与加载 cpu转GPU

    model eval 的重要性 在2 中最后用到了model eval 是因为 只有在执行该命令后 34 dropout层 34 及 34 batch normalization层 34 才会进入 evalution 模态 而在 34 训练
  • 数据分析及数据分析的工作流程

    1 什么是数据分析 数据分析是根据业务问题 xff0c 对数据进行收集 xff0c 清洗 xff0c 处理和建模的过程 xff0c 用于识别有助于业务的信息 xff0c 获取关键业务结论并辅助决策 界定业务问题 xff08 以宜家为例 xf
  • SQL练习网站

    之前上过数据库的课程 xff0c 但感觉零零散散 xff0c 现在已经不记得多少 xff0c 一方面是没有总结另一方面是没有练习 https sqlbolt com 但感觉网页加载的很慢 但我发现以上两者结合起来棒棒哒 有中文 xff0c
  • SQL入门(二)查询执行顺序

    完整查询 SELECT DISTINCT column AGG FUNC column or expression FROM mytable JOIN another table ON mytable column 61 another t
  • SQL入门之基本语法

    下面是为了方便查考在GitHub上找到的一个教程 目录 开始使用 登录MySQL创建数据库创建数据库表增删改查 SELECTUPDATEINSERTDELETEWHEREAND 和 OR ANDORORDER BYINNOTUNIONASJ
  • python有向图,无向图绘制

    https www jianshu com p 52bb142314ebR语言画网络图 https blog csdn net fly hawk article details 78513257 python绘制无向图 xff0c 输入数据

随机推荐

  • 知识追踪待解决问题记录-交流贴

    记录遇到知识追踪的问题 xff0c 欢迎大家进行留言交流 1 DKT中的图如何画的 好像是根据这个公式 但还没画出来 2 GKT跑的效果很差 可能原因是作者对数据的特殊处理 xff0c 作者的实验数据好像不是assistment的 后面有人
  • conda安装包遇到问题An unexpected error has occurred. Conda has prepared the above report.

    之前还没问题 xff0c 现在就 base C Users wei gt conda activate tensoflow1 tensoflow1 C Users wei gt conda install seaborn Collectin
  • Requests库爬取实例

    网络爬虫的盗亦有道 网络爬虫的尺寸 爬取网页 xff0c 玩转网页 xff1a 小规模 xff0c 数据量小 xff0c 爬取速度不敏感 xff1b Requests库 爬取网站 爬取系列网站 xff1a 中规模 xff0c 数据量较大 x
  • Java8两个集合(List)取交集、并集、差集、去重并集

    Java8两个集合 List 取交集 并集 差集 去重并集 java guava 集合的操作 xff1a 交集 差集 并集 span class token keyword import span span class token name
  • XML,JSON,YAML

    信息标记的三种形式 信息的标记 xff1a 标记后的信息可形成信息组织结构 xff0c 增加了信息维度 标记后的信息可用于通信 存储和展示 标记的结构与信息一样具有重要价值标记后的信息有利于程序理解和运用 HTML的信息标记 xff1a H
  • python爬虫 2021中国大学排名定向爬虫

    最近的几篇博客来源是之前我下载的一个课件 在网上搜索了一下是一下这个课程的 xff0c 可以结合视频博客以及代码去更好地学习 Python网络爬虫与信息提取 北京理工大学 中国大学MOOC 慕课 icourse163 org 但是课程内容的
  • 爬虫小案例之爬取京东商品链接

    观察URL翻页的变化 爬取页面URL如下 base url 61 39 https search jd com Search keyword 61 39 43 keyword for x in range 1 num 43 1 url 61
  • Tensorflow,pytorch查看模型参数,模型可视化

    参数结构打印 TensorFlow1 12的打印结构 xff1a for var in tf trainable variables print 34 Listing trainable variables 34 print var Ten
  • TensorFlow学习笔记(一)

    TensorFlow版本2发布后 xff0c 使用TensorFlow变得更简单和方便 xff0c 但看网上的很多代码是使用的TensorFlow1进行完成的 xff0c 每次遇到不懂的函数去查 xff0c 理解记忆的一般 xff0c 感觉
  • 图神经网络(GNN)资源帖视频及必读论文

    最近在看图神经网络 xff0c 发现了部分宝藏 图神经网络资源大集合 图神经网络资源大集合 快来打包带走 公众号 图与推荐的博客 CSDN博客 入门博客 xff1a 从图 Graph 到图卷积 Graph Convolution xff1a
  • 计算机网络要点归纳(一文带你快速掌握网络知识)

    计算机网络 谢希仁版 可以用来期末复习 xff0c 也可以用来回顾自测 xff0c 发现好多都设计的网络相关的的内容 xff0c 一起回顾学习吧 第一章概述 计算机网络的性能指标 xff1a 速率 比特为单位 Kb s K 61 10 3
  • Git学习笔记(代码版本管理)-超详细

    Git之前一直听说没有自己操作过 xff0c 偶尔写完程序的时候想起要不放到GitHub上 xff0c 然后看到操作也不简单呢 然后还是不想放弃 xff0c 听了 莫烦Python Git 代码版本管理教程听了一遍没动手 xff0c 就放到
  • Pycharm上传,更新本地代码到GitHub(常见问题及解决)

    上传本地代码到GitHub上 进入Pycharm主页 xff0c 打开pycharm File gt Setting gt version control 但可能报错 lnvalid authentication data Can 39 t
  • Improving Knowledge Tracing via Pre-training Question Embeddings

    Improving Knowledge Tracing via Pre training Question Embeddings 论文 xff1a Improving Knowledge Tracing via Pre training Q
  • java guava 集合的操作:交集、差集、并集

    Java8两个集合 List 取交集 并集 差集 去重并集 java guava 集合的操作 xff1a 交集 差集 并集 开源地址 xff1a https github com google guava jar包下载 xff1a http
  • 知识追踪数据集介绍

    困扰了我很久的问题 xff0c 可能是我喜欢知根知底 见到论文中提到的2009 2010 xff0c 看到代码中是数据不太一样发出了疑问 最新 xff1a 超详细介绍 DataSet EduData documentation https
  • 深度知识追踪(DKT)实现pytorch(及常见问题)

    发现代码跑了几遍还是没有自己按照思路写一遍清楚 参考代码 GitHub dxywill deepknowledgetracing Pytorch implementation for Deep Knowledge tracing 论文 ht
  • 基于深度学习知识追踪研究进展(综述)数据集模型方法

    基于深度学习的知识追踪研究进展 计算机研究与发展 中文核心期刊 https kns cnki net kcms detail detail aspx dbcode 61 CAPJ amp dbname 61 CAPJLAST amp fil
  • linux常见命令与FileZilla

    linux命令与FileZilla 6月25日 FileZilla 文件互传 当我们使用一台主机的时候 xff0c 既有Linux系统又有Windows系统的时候 xff0c 我们可以拖拽 xff0c 复制粘贴等多种方式 xff0c 那如果
  • PostgreSQL和ElasticSearch学习笔记

    PG库 PostgreSQL 12 2 手册 pg数据库的结构理解 echao 博客园 cnblogs com PostgreSQL官方介绍称是最先进的开源关系型数据库 xff0c 支持所有主流的平台 xff0c 目前已经更新到了最新版本的