当前位置: 首页 > news >正文

【PG】PostgreSQL逻辑备份(pg_dump)

目录

命令格式

连接选项

参数选项 

使用举例


pg_dump是用于备份一种PostgreSQL数据库的工具。即使数据库正在被并发使用,它也能创建一致的备份。pg_dump不阻塞其他用户访问数据库(读取或写入)。

pg_dump只备份单个数据库。要备份一个集簇中 对于所有数据库公共的全局对象(例如角色和表空间),应使用pg_dumpall

转储可以被输出到脚本或归档文件格式。脚本转储是包含 SQL 命令的纯文本文件,它们可以用来重构数据库到它被转储时的状态。要从这样一个脚本恢复,将它喂给psql。脚本文件甚至可以被用来在其他机器和其他架构上重构数据库。在经过一些修改后,甚至可以在其他 SQL 数据库产品上重构数据库。

另一种可选的归档文件格式必须与pg_restore配合使用来重建数据库。它们允许pg_restore能选择恢复什么,或者甚至在恢复之前对条目重排序。归档文件格式被设计为在架构之间可移植。

当使用归档文件格式之一并与pg_restore组合时,pg_dump提供了一种灵活的归档和传输机制。pg_dump可以被用来备份整个数据库,然后pg_restore可以被用来检查归档并/或选择数据库的哪些部分要被恢复。最灵活的输出文件格式是“自定义”格式(-Fc)和“目录”格式(-Fd)。它们允许选择和重排序所有已归档项、支持并行恢复并且默认是压缩的。“目录”格式是唯一一种支持并行转储的格式。

命令格式

pg_dump [connection-option...] [option...] [dbname]

连接选项

长选项短选项含义
--dbname=dbname-d dbname
 

指定要连接到的数据库名。这等效于指定dbname为命令行上的第一个非选项参数。

如果这个参数包含一个=符号或者以一个合法的URI前缀(postgresql://postgres://)开始,它将被视作一个conninfo字符串。详见第 33.1 节。

--host=host

-h host指定服务器正在运行的机器的主机名。如果该值开始于一个斜线,它被用作一个 Unix 域套接字的目录。默认是从PGHOST环境变量中取得(如果被设置),否则将尝试一次 Unix 域套接字连接。
--port=port-p port

指定服务器正在监听连接的 TCP 端口或本地 Unix 域套接字文件扩展名。默认是放在PGPORT环境变量中(如果被设置),否则使用编译在程序中的默认值。

--username=username

-U username

要作为哪个用户连接。

--no-password

-w从不发出一个口令提示。如果服务器要求口令认证并且没有其他方式提供口令(例如一个.pgpass文件),那么连接尝试将失败。这个选项对于批处理任务和脚本有用,因为在其中没有一个用户来输入口令。

--password

-W

强制pg_dump在连接到一个数据库之前提示要求一个口令。

这个选项从来不是必须的,因为如果服务器要求口令认证,pg_dump将自动提示要求一个口令。但是,pg_dump将浪费一次连接尝试来发现服务器想要一个口令。在某些情况下,值得键入-W来避免额外的连接尝试。

--role=rolename

指定一个用来创建该转储的角色名。这个选项导致pg_dump在连接到数据库后发出一个SET ROLE rolename命令。当已认证用户(由-U指定)缺少pg_dump所需的特权但是能够切换到一个具有所需权利的角色时,这个选项很有用。一些安装有针对直接作为超级用户登录的策略,使用这个选项可以让转储在不违反该策略的前提下完成。

参数选项 

长选项短选项含义
dbname指定要被备份的数据库名。如果没有指定,将使用环境变量PGDATABASE。如果环境变量也没有设置,则使用指定给该连接的用户名。

--data-only

-a
 

只备份数据,而不备份模式(数据定义)。表数据、大对象和序列值都会被转储。

--blobs

-b在转储中包括大对象。这是当--schema--table或 --schema-only被指定时的默认行为,因此-b 开关仅对于将大对象添加到已请求特定模式或表的转储中时有用。 请注意,blob被视为数据,因此仅在使用--data-only时才会包含, 但在--schema-only时不会包含。

--no-blobs

-B

排除转储中的大对象。

当给定-b-B时,行为是当数据被转储时输出大对象, 请参阅-b文档。

--clean

-c

在输出创建数据库对象的命令之前输出清除(删除)它们的命令 (除非也指定了--if-exists,如果任何对象不存在于 目的数据库中,恢复可能会产生一些伤害性的错误消息)。

这个选项只对纯文本格式有意义。对于归档格式,你可以在调用pg_restore时指定该选项。

--create

-C

使得在输出的开始是一个创建数据库本身并且重新连接到被创建的数据库的命令(通过这种形式的一个脚本,在运行脚本之前你连接的是目标安装中的哪个数据库都没有关系)。如果也指定了--clean,脚本会在重新连接到目标数据库之前先删除它然后再重建。

这个选项只对纯文本格式有意义。对于归档格式,你可以在你调用pg_restore时指定这个选项。

--encoding=encoding

-E encoding
 

以指定的字符集编码创建备份。在默认情况下,该备份会以该数据库的编码创建(另一种得到相同结果的方式是将PGCLIENTENCODING环境变量设置成想要的转储编码)。

--file=file

-f file将输出发送到指定文件。对于基于输出格式的文件这个参数可以被忽略,在那种情况下将使用标准输出。不过对于目录输出格式必须给定这个参数,在目录输出格式中指定的是一个目录而不是一个文件。在这种情况中,该目录会由pg_dump创建并且不需要以前就存在。

--format=format

-F format

选择输出的格式。format可以是下列之一:

p
plain

输出一个纯文本形式的SQL脚本文件(默认值)。

c
custom

输出一个适合于作为pg_restore输入的自定义格式归档。和目录输出格式一起,这是最灵活的输出格式,它允许在恢复时手动选择和排序已归档的项。这种格式在默认情况还会被压缩。

d
directory

输出一个适合作为pg_restore输入的目录格式归档。这将创建一个目录,其中每个被转储的表和大对象都有一个文件,外加一个所谓的目录文件,该文件以一种pg_restore能读取的机器可读格式描述被转储的对象。一个目录格式归档能用标准 Unix 工具操纵,例如一个未压缩归档中的文件可以使用gzip工具压缩。这种格式默认情况下是被压缩的并且也支持并行转储。

t
tar

输出一个适合于输入到pg_restore中的tar-格式归档。tar 格式可以兼容目录格式,抽取一个 tar 格式的归档会产生一个合法的目录格式归档。不过,tar 格式不支持压缩。还有,在使用 tar 格式时,表数据项的相对顺序不能在恢复过程中被更改。

--jobs=njobs

-j njobs

通过同时归档njobs个表来运行并行转储。这个选项缩减了转储的时间,但是它也增加了数据库服务器上的负载。你只能和目录输出格式一起使用这个选项,因为这是唯一一种让多个进程能在同一时间写其数据的输出格式。

pg_dump将打开njobs + 1 个到该数据库的连接,因此确保你的max_connections设置足够高以容纳所有的连接。

在运行一次并行转储时请求数据库对象上的排他锁可能导致转储失败。其原因是,pg_dump主控进程会在工作者进程将要稍后转储的对象上请求共享锁,以便确保在转储运行时不会有人删除它们并让它们出错。如果另一个客户端接着请求一个表上的排他锁,那个锁将不会被授予但是会被排入队列等待主控进程的共享锁被释放。因此,任何其他对该表的访问将不会被授予或者将排在排他锁请求之后。这包括尝试转储该表的工作者进程。如果没有任何防范措施,这可能会是一种经典的死锁情况。要检测这种冲突,pg_dump工作者进程使用NOWAIT选项请求另一个共享锁。 如果该工作者进程没有被授予这个共享锁,其他某人必定已经在同时请求了一个排他锁并且没有办法继续转储,因此pg_dump除了中止转储之外别无选择。

对于一个一致的备份,数据库服务器需要支持同步的快照,在PostgreSQL 9.2中引入了一种针对主服务器特性和10个针对备用服务器的特性。有了这种特性,即便数据库客户端使用不同的连接,也可以保证他们看到相同的数据集。pg_dump -j使用多个数据库连接,它用主控进程连接到数据一次,并且为每一个工作者任务再一次连接数据库。如果没有同步快照特征,在每一个连接中不同的工作者任务将不能被保证看到相同的数据,这可能导致一个不一致的备份。

如果你希望运行一个 9.2 之前服务器的并行转储,你需要确保数据库内容从主控进程连接到数据库一直到最后一个工作者任务连接到数据库之间不会改变。做这些最简单的方法是在开始备份之前停止任何访问数据库的数据修改进程(DDL 以及 DML)。当对一个 9.2 之前的PostgreSQL服务器运行pg_dump -j时,你还需要指定--no-synchronized-snapshots参数。

--schema=schema

-n schema

只转储匹配schema的模式,这会选择模式本身以及它所包含的所有对象。当没有指定这个选项时,目标数据库中所有非系统模式都将被转储。多个模式可以通过书写多个-n开关来选择。另外,schema参数可以被解释为一种根据psql's \d命令所用的相同规则(见模式(Pattern))编写的模式,这样多个模式也可以通过在该模式中书写通配字符来选择。在使用通配符时,如果需要阻止 shell 展开通配符需要小心引用该模式,见实例。

--exclude-schema=schema

-N schema

不转储匹配schema模式的任何模式。该模式被根据-n所用的相同规则被解释。-N可以被给定多次来排除匹配几个模式中任意一个的模式。

-n-N都被给定时,该行为是只转储匹配至少一个-n开关但是不匹配-N开关的模式。如果只有-N而没有-n,那么匹配-N的模式会被从一个正常转储中排除。

-o

--oids

-o

备份对象标识符(OID)作为每个表数据的一部分。如果你的应用以某种方式引用OID列(例如在一个外键约束中),应使用这个选项。否则,这个选项不应该被使用。

--no-owner

-O

--no-reconnect

-R这个选项已经废弃,但是为了向后兼容仍然能被接受。

--schema-only

-s

只转储对象定义(模式),而非数据。

这个选项是--data-only的逆选项。它和指定--section=pre-data --section=post-data相似,但是由于历史原因又不完全相同。

(不要把这个选项和--schema选项混淆,后者在“schema”的使用上有不同的含义)。

要为数据库中表的一个子集排除表数据,见--exclude-table-data

--superuser=username

-S username

指定要在禁用触发器时使用的超级用户的用户名。只有使用--disable-triggers时,这个选项才相关(通常,最好省去这个选项,而作为超级用户来启动结果脚本来取而代之)。

--table=table

-t

只转储名字匹配table的表,“table”还可以包括视图、物化视图、序列和外部表。通过写多个-t开关可以选择多个表。另外,table参数可以被解释为一种根据psql's \d命令所用的相同规则(见模式(Pattern))编写的模式,这样多个表也可以通过在该模式中书写通配字符来选择。在使用通配符时,如果需要阻止 shell 展开通配符需要小心引用该模式,见实例。

-t被使用时,-n-N开关不会有效果,因为被-t选择的表将被转储而无视那些开关,并且非表对象将不会被转储。

--exclude-table=table

-T

不转储匹配table模式的任何表。该模式被根据-t所用的相同规则被解释。-T可以被给定多次来排除匹配几个模式中任意一个的模式。

-t-T都被给定时,该行为是只转储匹配至少一个-t开关但是不匹配-T开关的表。如果只有-T而没有-t,那么匹配-T的表会被从一个正常转储中排除。

--verbose

-v

指定冗长模式。这将导致pg_dump向标准错误输出详细的对象注释以及转储文件的开始/停止时间,还有进度消息。

--version

-V

pg_dump版本并退出。

--no-privileges
--no-acl
-x防止转储访问特权(授予/收回命令)。
--compress=0..9-Z 0..9指定要使用的压缩级别。零意味着不压缩。对于自定义归档格式,这会指定个体表数据段的压缩,并且默认是进行中等级别的压缩。对于纯文本输出,设置一个非零压缩级别会导致整个输出文件被压缩,就好像它被gzip处理过一样,但是默认是不压缩。tar 归档格式当前完全不支持压缩。

--binary-upgrade

这个选项用于就地升级功能。我们不推荐也不支持把它用于其他目的。这个选项在未来的发行中可能被改变而不做通知。

--column-inserts
--attribute-inserts
将数据转储为带有显式列名的INSERT命令(INSERT INTO table (column, ...) VALUES ...)。这将使得恢复过程非常慢,这主要用于使转储能够被载入到非PostgreSQL数据库中。不过,由于这个选项为每一行都产生一个单独的命令,重载一行时的一个错误只会导致那一行被丢失而不是整个表内容丢失。

--disable-dollar-quoting

这个选项禁止在函数体中使用美元符号引用,并且强制它们使用 SQL 标准字符串语法被引用。

--disable-triggers

只有在创建一个只转储数据的转储时,这个选项才相关。它指示pg_dump包括在数据被重新载入时能够临时禁用目标表上的触发器的命令。如果你在表上有引用完整性检查或其他触发器,并且你在数据重新载入期间不想调用它们,请使用这个选项。

当前,为--disable-triggers发出的命令必须作为超级用户来执行。因此,你还应当使用-S指定一个超级用户名,或者宁可作为一个超级用户启动结果脚本。

这个选项只对纯文本格式有意义。对于归档格式,你可以在调用pg_restore时指定这个选项。

--enable-row-security

只有在转储具有行安全性的表的内容时,这个选项才相关。默认情况下, pg_dump将把 row_security设置为 off 来确保从该表中转储 出所有的数据。如果用户不具有足够能绕过行安全性的特权,那么会抛出 一个错误这个参数指示pg_dump将 row_security设置为 on,允许用户只转储该表中 它们能够访问到的部分内容。

请注意,如果您当前使用此选项,则可能还需要以INSERT格式转储, 因为还原期间的COPY FROM不支持行安全性。

--exclude-table-data=table

不转储匹配table模式的任何表中的数据。该模式根据-t的相同规则被解释。--exclude-table-data可以被给定多次来排除匹配多个模式的表。当你需要一个特定表的定义但不想要其中的数据时,这个选项就有用了。

要排除数据库中所有表的数据,见--schema-only

--if-exists

时间条件性命令(即增加一个IF EXISTS子句)来清除数据库和其他对象。 只有同时指定了--clean时,这个选项才可用。

--inserts

将数据转储为INSERT命令(而不是COPY)。这将使得恢复非常慢,这主要用于使转储能够被载入到非PostgreSQL数据库中。不过,由于这个选项为每一行都产生一个单独的命令,重载一行时的一个错误只会导致那一行被丢失而不是整个表内容丢失。注意如果你已经重新安排了列序,该恢复可能会一起失败。--column-inserts选项对于列序改变是安全的,但是会更慢。

--lock-wait-timeout=timeout

在转储的开始从不等待共享表锁的获得。而是在指定的timeout内不能锁定一个表时失败。超时时长可以用SET statement_timeout接受的任何格式指定(允许的格式根据你从其转出的服务器版本变化,但是所有版本都接受一个整数表示的毫秒数。)。

--no-publications

不转储发布。

--no-security-labels

不转储安全标签。

--no-subscriptions

不转储订阅。

--no-sync

默认情况下,pg_dump将等待所有文件安全写入磁盘。 这个选项会导致pg_dump无需等待而返回,这更快, 但意味着后续的操作系统崩溃可能会导致转储损坏。通常, 此选项对于测试非常有用,但在从生产安装中转储数据时不应使用此选项。

--no-synchronized-snapshots

这个选项允许对 9.2 以前的服务器运行pg_dump -j,详见-j参数的文档。

--no-tablespaces

不要输出选择表空间的命令。通过这个选项,在恢复期间所有的对象都会被创建在任何作为默认的表空间中。

这个选项只对纯文本格式有意义。对于归档格式,你可以在调用pg_restore时指定该选项。

--no-unlogged-table-data

不转储非日志记录表的内容。这个选项对于表定义(模式)是否被转储没有影响,它只会限制转储表数据。当从一个后备服务器转储时,在非日志记录表中的数据总是会被排除。

--quote-all-identifiers

强制引用所有标识符。当从PostgreSQL主版本与pg_dump不同的服务器上转储一个数据库时或者当输出准备载入到一个具有不同主版本的服务器时,推荐使用这个选项。默认情况下,pg_dump只对在其主版本中是被保留词的标识符加上引号。在转储其他版本服务器时,这种默认行为有时会导致兼容性问题,因为那些版本可能具有些许不同的被保留词集合。使用--quote-all-identifiers能阻止这种问题,但代价是转储脚本更难阅读。

--section=sectionname

只转储命名节。节的名称可以是pre-datadatapost-data。这个选项可以被指定多次来选择多个节。默认是转储所有节。

数据节包含真正的表数据、大对象内容和序列值。数据后项包括索引、触发器、规则和除了已验证检查约束之外的约束的定义。数据前项包括所有其他数据定义项。

--serializable-deferrable

为转储使用一个可序列化事务,以保证所使用的快照与后来的数据库状态是一致的。但是这样做是在事务流中等待一个点,在该点上不能存在异常,这样就不会有转储失败或者导致其他事务带着serialization_failure回滚的风险。关于事务隔离和并发控制详见第 13 章。

对于一个只为灾难恢复存在的转储,这个选项没什么益处。如果一个转储被用来在原始数据库持续被更新期间载入一份用于报表或其他只读负载的数据库拷贝时,这个选项就有所帮助。如果没有这个选项,转储可能会反映一个与最终提交事务的任何执行序列都不一致的状态。例如,如果使用了批处理技术,一个批处理在转储中可以显示为关闭,而其中的所有项都不出现。

如果 pg_dump 被启动时没有读写事务在活动,则这个选项没有什么不同。如果有读写事务在活动,该转储的启动可能会被延迟一段不确定的时间。一旦开始运行,有没有这个开关的表现是相同的。

--snapshot=snapshotname

在做一个数据库的转储时指定一个同步的快照(详见 表 9.82)。

在需要把转储和一个逻辑复制槽(见第 48 章) 或者一个并发会话同步时可以用上这个选项。

在并行转储的情况下,将使用这个选项指定的快照名而不是取一个新快照。

--strict-names

要求每一个模式(-n/--schema)和表(-t/--table)限定符匹配要转储的数据库中至少一个模式/表。注意,如果没有找到有这样的模式/表限定符匹配,即便没有--strict-names,pg_dump也将生成一个错误。

这个选项对-N/--exclude-schema-T/--exclude-table或者--exclude-table-data没有效果。无法匹配任何对象的排除模式不会被当作错误。

--use-set-session-authorization

输出 SQL-标准的SET SESSION AUTHORIZATION命令取代ALTER OWNER命令来确定对象的所有关系。这让该转储更加兼容标准,但是取决于该转储中对象的历史,该转储可能无法正常恢复。而且,一个使用SET SESSION AUTHORIZATION的转储将一定会要求超级用户特权来正确地恢复,而ALTER OWNER要求更少的特权。
--help-?

显示有关pg_dump命令行参数的帮助并退出。

使用举例

相关文章:

【PG】PostgreSQL逻辑备份(pg_dump)

目录 命令格式 连接选项 参数选项 使用举例 pg_dump是用于备份一种PostgreSQL数据库的工具。即使数据库正在被并发使用,它也能创建一致的备份。pg_dump不阻塞其他用户访问数据库(读取或写入)。 pg_dump只备份单个数据库。要备份一个集簇…...

JVM、JRE、JDK

JVM JVM(Java Virtual Machine)是Java虚拟机的缩写,他是Java编程语言运行时环境,负责执行Java字节码。另外作为JVM虚拟机,它在各种操作系统上提供统一的平台,这帮助Java应用程序可以独立于操作系统底层运行…...

Latex 插入矢量图

引用宏包 \usepackage{svg} \begin{figure}[h] \includesvg{filename} \end{figure} 如果插入的 svg 图片文字超出了图形,使用: \usepackage[inkscapelatexfalse]{svg}...

git:删除上一次 commit 中的某个文件,并重新提交

1. 首先,使用以下命令删除要移除的文件: git rm 文件路径将 “文件路径” 替换为要删除的文件的实际路径。这将从 Git 仓库中删除该文件,并将其放入暂存区。git rm 相当于 linux rm git add 命令。 2. 使用以下命令修改上一次的提交&#…...

proxy解决跨域问题

在使用vite工具创建的项目中解决跨域问题: 在vue.config.js中配置如下代码: const { defineConfig } require(‘vue/cli-service’) module.exports defineConfig({ transpileDependencies: true, server:{ proxy:{ ‘/path’:{ target:‘https://i.…...

Ubuntu源码编译samba

概述 本人最近研究samba的源码,但是在源码编译的时候,本以为直接config,make,make install。没想到编译过程中碰到很多麻烦,主要是各种依赖问题。 基于此,本文把samba编译的详细过程记录下来,以供再次研究借鉴。 软件…...

conda虚拟环境配置

命令行输入,conda -V 确定conda版本 创建自己的conda虚拟环境 activate 回车 conda create -n 名字 python版本号 执行命令 确认执行命令 输入y 创建完成 激活环境 conda activate 名字 进入python环境 python 退出 exit() conda deactive...

如何制作自己的数字人

如何制作自己的数字人呢?不用担心平台的使用授权,也不用担心哪一天自己自媒体被号被无故封杀,那么SadTalker将是你的首选,他是完全开源的数字人软件,现已达到Apache2的授权,完全自由的开源软件。作者自己试…...

JAVA毕业设计103—基于Java+Springboot+vue的药店管理系统(源码+数据库)

基于JavaSpringbootvue的药店管理系统(源码数据库) 一、系统介绍 本系统前后端分离 -功能: 登录、药库药品管理、统计查询、药房管理、物资管理、挂号管理、账号管理、角色管理、权限管理、登录日志管理、药品管理、药品类型管理、客人类型管理 二、所用技术 后端技术栈&a…...

LeetCode66——加一

LeetCode66——加一 题目描述: 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。 示例…...

CV计算机视觉每日开源代码Paper with code速览-2023.10.23

精华置顶 墙裂推荐!小白如何1个月系统学习CV核心知识:链接 点击CV计算机视觉,关注更多CV干货 论文已打包,点击进入—>下载界面 点击加入—>CV计算机视觉交流群 1.【目标检测】Zone Evaluation: Revealing Spatial Bias i…...

C语言 sizeof 函数内部进行计算

直接看代码 #include <stdio.h> int main() {int i 2;int j;j sizeof(i i);printf("i %d, j %d", i ,j);return 0; }执行结果&#xff1a; 可以看到 i的值一直是没有变的&#xff0c; j 是int类型下 sizeof占用的大小为 4个字节&#xff0c;不是i的 22…...

导致爬虫无法使用的原因有哪些?

随着互联网的普及和发展&#xff0c;爬虫技术也越来越多地被应用到各个领域。然而&#xff0c;在实际使用中&#xff0c;爬虫可能会遇到各种问题导致无法正常工作。本文将探讨导致爬虫无法使用的原因&#xff0c;并给出相应的解决方法。 一、目标网站反爬虫机制 许多网站为了…...

paddlepaddle使用实践过程中的问题记录

环境背景 python&#xff1a;3.10.11 系统&#xff1a;macOS Big Sur 11.7.10 cpu&#xff1a;Intel Core i7 2.6GHz 内存&#xff1a;16G paddle版本问题 初始安装的是的MacOS cpu 2.5.1版本&#xff0c;在python解释器中执行import paddle时报错&#xff1a; ImportError:…...

MySQL数据库 #3

文章目录 一、创建表的完整语法二、约束条件1.unsigned &#xff08;无符号&#xff09;2. zerofill &#xff08;0填充&#xff09;3. default &#xff08;默认值&#xff09;4. not null&#xff08;非空&#xff09;5. unique&#xff08;唯一&#xff09;6. primary key &…...

XQ350441.0、XQ350641.0、XQ350441.1、XQ350641.1、XQ350441.2、XQ350641.2三位五通电磁气动阀

XQ230440、XQ230640、XQ230840、XQ231040、XQ231540二位三通气动电磁阀&#xff1b;XQ250440、XQ250640、XQ250840、XQ251040、XQ251540二位五通电磁气动阀&#xff1b;XQ240440二位四通电磁气动阀&#xff1b;XQ230441、XQ230641、XQ230841、XQ231041、XQ231541二位三通电磁气…...

降本增效神器?Share Creators 智能数字资产管理系统真香!

降本增效似乎是一个持续又永久的话题。尤其在今年&#xff0c; 显得格外的重要~ 在各行各业都受到了疫情所带来巨大冲击的背景下&#xff0c;降本增效对很多企业来说不再是锦上添花&#xff0c;而可能是一条唯一的出路。 随着市场的收缩和竞争的加剧&#xff0c;在更“卷”的…...

2023年中国汽车差速器需求量、竞争现状及行业市场规模分析[图]

差速器是汽车驱动系统的主要部件&#xff0c;它的作用就是在向两边半轴传递动力的同时&#xff0c;允许两边半轴以不同的转速旋转&#xff0c;满足两边车轮尽可能以纯滚动的形式作不等距行驶&#xff0c;减少轮胎与地面的摩擦。汽车差速器是驱动车轮差速转弯或复杂路面强力通过…...

【ceph】ceph集群的节点机器重启,导致磁盘的lvm消失,如何恢复呢~~满满的都是干货

本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》&#xff1a;python零基础入门学习 《python运维脚本》&#xff1a; python运维脚本实践 《shell》&#xff1a;shell学习 《terraform》持续更新中&#xff1a;terraform_Aws学习零基础入门到最佳实战 《k8…...

竞赛选题 深度学习人脸表情识别算法 - opencv python 机器视觉

文章目录 0 前言1 技术介绍1.1 技术概括1.2 目前表情识别实现技术 2 实现效果3 深度学习表情识别实现过程3.1 网络架构3.2 数据3.3 实现流程3.4 部分实现代码 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习人脸表情识别系…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...

【免费数据】2005-2019年我国272个地级市的旅游竞争力多指标数据(33个指标)

旅游业是一个城市的重要产业构成。旅游竞争力是一个城市竞争力的重要构成部分。一个城市的旅游竞争力反映了其在旅游市场竞争中的比较优势。 今日我们分享的是2005-2019年我国272个地级市的旅游竞争力多指标数据&#xff01;该数据集源自2025年4月发表于《地理学报》的论文成果…...

聚六亚甲基单胍盐酸盐市场深度解析:现状、挑战与机遇

根据 QYResearch 发布的市场报告显示&#xff0c;全球市场规模预计在 2031 年达到 9848 万美元&#xff0c;2025 - 2031 年期间年复合增长率&#xff08;CAGR&#xff09;为 3.7%。在竞争格局上&#xff0c;市场集中度较高&#xff0c;2024 年全球前十强厂商占据约 74.0% 的市场…...

Python学习(8) ----- Python的类与对象

Python 中的类&#xff08;Class&#xff09;与对象&#xff08;Object&#xff09;是面向对象编程&#xff08;OOP&#xff09;的核心。我们可以通过“类是模板&#xff0c;对象是实例”来理解它们的关系。 &#x1f9f1; 一句话理解&#xff1a; 类就像“图纸”&#xff0c;对…...

js 设置3秒后执行

如何在JavaScript中延迟3秒执行操作 在JavaScript中&#xff0c;要设置一个操作在指定延迟后&#xff08;例如3秒&#xff09;执行&#xff0c;可以使用 setTimeout 函数。setTimeout 是JavaScript的核心计时器方法&#xff0c;它接受两个参数&#xff1a; 要执行的函数&…...

NineData数据库DevOps功能全面支持百度智能云向量数据库 VectorDB,助力企业 AI 应用高效落地

NineData 的数据库 DevOps 解决方案已完成对百度智能云向量数据库 VectorDB 的全链路适配&#xff0c;成为国内首批提供 VectorDB 原生操作能力的服务商。此次合作聚焦 AI 开发核心场景&#xff0c;通过标准化 SQL 工作台与细粒度权限管控两大能力&#xff0c;助力企业安全高效…...

生产管理系统开发:专业软件开发公司的实践与思考

生产管理系统开发的关键点 在当前制造业智能化升级的转型背景下&#xff0c;生产管理系统开发正逐步成为企业优化生产流程的重要技术手段。不同行业、不同规模的企业在推进生产管理数字化转型过程中&#xff0c;面临的挑战存在显著差异。本文结合具体实践案例&#xff0c;分析…...

使用homeassistant 插件将tasmota 接入到米家

我写一个一个 将本地tasmoat的的设备同通过ha集成到小爱同学的功能&#xff0c;利用了巴法接入小爱的功能&#xff0c;将本地mqtt转发给巴法以实现小爱控制的功能&#xff0c;前提条件。1需要tasmota 设备&#xff0c; 2.在本地搭建了mqtt服务可&#xff0c; 3.搭建了ha 4.在h…...

如何优雅地绕过限制调用海外AI-API?反向代理与API中转技术详解​

阅读时长​​ | 8分钟 ​​适用读者​​ | 需要跨境调用OpenAI等AI服务的开发者/企业 ​​一、问题背景&#xff1a;为什么需要代理&#xff1f;​​ 最近在技术社区看到这样的求助&#xff1a; "公司服务器在国内&#xff0c;但业务需要调用OpenAI接口&#xff0c;直接访…...

2025-06-08-深度学习网络介绍(语义分割,实例分割,目标检测)

深度学习网络介绍(语义分割,实例分割,目标检测) 前言 在开始这篇文章之前&#xff0c;我们得首先弄明白&#xff0c;什么是图像分割&#xff1f; 我们知道一个图像只不过是许多像素的集合。图像分割分类是对图像中属于特定类别的像素进行分类的过程&#xff0c;即像素级别的…...