PostgreSQL插件_pg数据库安装postgres插件-程序员宅基地

技术标签: postgresql  PG  服务器  数据库  

说明

PostgreSQL是一个可扩展的关系型数据库,支持插件机制。插件可以增强PostgreSQL的功能,例如添加新的数据类型、查询优化器、存储引擎等等。以上是一些常用的PostgreSQL插件,它们可以帮助开发者扩展PostgreSQL的功能,提高数据库的性能和灵活性。

PostgreSQL 最常用的插件 ](https://www.cnblogs.com/88223100/p/The-most-common-plug-ins-of-PostgreSQL.html)

列出插件

您可以使用以下命令来查看 PostgreSQL 中已安装的插件:

SELECT * FROM pg_available_extensions;

这将列出所有可用的扩展和其描述。

您还可以使用以下命令来查看已安装的插件:

SELECT * FROM pg_extension;
dx

这将列出所有已安装的扩展及其状态和版本信息。

示例

pgAudit

pgAudit是一个用于审计PostgreSQL数据库的插件,可以记录每个SQL语句的执行情况,包括执行时间、执行用户、执行结果等信息。下面是pgAudit插件的使用方法:

  1. 安装pgAudit插件

首先需要安装pgAudit插件,可以使用以下命令:

sudo apt-get install postgresql-contrib

安装完成后,需要在postgresql.conf文件中添加以下配置:

shared_preload_libraries = 'pgaudit'
pgaudit.log = 'ddl, read, write'
  1. 重启PostgreSQL服务器

添加配置后,需要重启PostgreSQL服务器使配置生效:

sudo service postgresql restart
  1. 创建审计日志表

在使用pgAudit插件之前,需要先创建一个审计日志表,可以使用以下命令:

CREATE TABLE audit.logged_actions (
    schema_name text NOT NULL,
    table_name text NOT NULL,
    user_name text NOT NULL,
    action_tstamp timestamp with time zone NOT NULL default current_timestamp,
    action text NOT NULL,
    original_data text,
    new_data text,
    query text,
    action_reason text,
    client_addr inet,
    client_port integer,
    session_user_name text,
    session_id text,
    application_name text
);
  1. 开启审计日志记录

在创建审计日志表后,需要使用以下命令开启审计日志记录:

SET pgaudit.log = 'all';
  1. 查看审计日志

审计日志记录完成后,可以使用以下命令查看审计日志:

SELECT * FROM audit.logged_actions;

以上就是pgAudit插件的使用方法,通过使用pgAudit插件,可以方便地对PostgreSQL数据库进行审计和监控。

SET pgaudit.log = 'all'; 是一个 PostgreSQL pgaudit 插件的设置命令,它的作用是启用 pgaudit 插件并将所有数据库操作记录到日志中。

pgaudit 是一个第三方插件,它可以用于审计 PostgreSQL 数据库的所有操作。它可以记录用户登录、数据库对象的创建、修改和删除、SQL 查询语句等操作,以及失败的登录尝试、未授权的访问等安全事件。

在设置 pgaudit.log'all' 后,pgaudit 将记录所有数据库操作,包括成功和失败的操作。这将产生大量的日志数据,因此建议仅在需要详细审计时使用该设置。您可以根据需要将其设置为 'ddl''read''write' 等选项,以记录特定类型的操作。

请注意,启用 pgaudit 插件会对数据库的性能产生一定的影响,因此在生产环境中建议谨慎使用。

postgres_fdw

PostgreSQL Foreign Data Wrapper (FDW) 是一种 PostgreSQL 扩展,它使得 PostgreSQL 数据库可以通过外部数据源连接到其他数据库或数据存储系统。FDW 允许 PostgreSQL 数据库通过 SQL 查询访问外部数据源的表、视图和函数,就好像它们是本地表一样。

FDW 通过实现 PostgreSQL 外部表(Foreign Table)的概念,将外部数据源映射到 PostgreSQL 数据库中。外部表的定义包括外部数据源的连接信息、表结构信息、索引和约束等。当查询外部表时,PostgreSQL 会将查询转换为外部数据源的查询语言,并将结果集返回到客户端。

FDW 的优点包括:

  • 可以轻松地将外部数据源集成到 PostgreSQL 中,无需复制数据或维护 ETL 流程。
  • 可以在 PostgreSQL 中使用 SQL 查询和操作外部数据源,无需了解外部数据源的查询语言或 API。
  • 可以通过 FDW 扩展实现 PostgreSQL 与其他数据库或数据存储系统的集成,例如 MySQL、Oracle、Hadoop、Elasticsearch 等。

PostgreSQL FDW 扩展提供了以下特性

  • 通过外部表将外部数据源映射到 PostgreSQL 数据库中。
  • 支持连接到多种数据源,例如 PostgreSQL、Oracle、MySQL、SQLite、SQL Server 等。
  • 允许使用 SQL 查询和操作外部数据源。
  • 支持在外部数据源上创建索引和约束。
  • 提供了安全性和隔离性,可以限制对外部数据源的访问权限。
  • 支持在外部数据源上执行远程事务。

使用 PostgreSQL FDW 扩展,可以轻松地将其他数据库和数据存储系统集成到 PostgreSQL 中,从而实现数据的统一管理和查询。需要注意的是,FDW 查询外部数据源的性能受到外部数据源的性能和网络通信的影响。在使用 FDW 时,需要评估外部数据源的性能和可用性,以确保查询效率和数据一致性。

postgres-fdw

dblink

contrib-dblink-function

pg_dblink是一个PostgreSQL扩展模块,它允许在PostgreSQL中使用SQL语句来连接其他的PostgreSQL数据库,或者连接其他数据库系统(如Oracle、MySQL等)。它使用动态语句执行(Dynamic SQL)来实现连接和操作外部数据,因此需要编写更多的代码来完成相同的任务。

pg_dblink的主要功能包括:

  1. 在PostgreSQL中连接其他数据库系统,包括其他的PostgreSQL数据库、Oracle、MySQL等;
  2. 在PostgreSQL中执行远程SQL语句,并返回结果;
  3. 在PostgreSQL中使用动态参数,可以在执行远程SQL语句时动态传递参数;
  4. 可以在PostgreSQL中使用事务控制来管理远程数据库的操作;
  5. 支持在PostgreSQL中使用函数和触发器来操作远程数据库。

使用pg_dblink需要先安装该扩展模块,可以使用CREATE EXTENSION命令来安装。安装后,可以使用dblink_connect函数来连接其他数据库系统,使用dblink_exec函数来执行远程SQL语句,使用dblink_fetch函数来获取远程SQL语句执行的结果。同时,pg_dblink还提供了其他的函数和操作,可以满足不同的需求。

postgres_fdw是PostgreSQL Foreign Data Wrapper的缩写,可以将其他数据库系统中的数据表映射到PostgreSQL中,让用户可以像操作本地数据表一样操作外部数据表,它实现了PostgreSQL的外部数据访问功能。

而dblink是一个PostgreSQL扩展模块,可以在PostgreSQL中连接其他的PostgreSQL数据库或其他数据库系统,并执行远程SQL语句,它实现了PostgreSQL的远程数据访问功能。

因此,两者的功能和用途不同。postgres_fdw主要用于访问外部数据表,而dblink主要用于访问远程数据库。

file_fdw

PostgreSQL file_fdw 是 PostgreSQL 中的一种扩展,它可以将文件系统中的文件映射到 PostgreSQL 数据库中,从而允许在 PostgreSQL 中访问这些文件。file_fdw 扩展提供了一种简单的方法来将文件系统中的数据集成到 PostgreSQL 中,无需复制数据或维护 ETL 流程。

file_fdw 扩展提供了以下特性:

  • 通过外部表将文件系统中的文件映射到 PostgreSQL 数据库中。
  • 支持连接到多种文件格式,例如 CSV、JSON、XML 等。
  • 允许使用 SQL 查询和操作文件系统中的文件。
  • 支持在文件系统上创建索引和约束。
  • 提供了安全性和隔离性,可以限制对文件系统的访问权限。

使用 PostgreSQL file_fdw 扩展,可以轻松地将文件系统中的数据集成到 PostgreSQL 中,从而实现数据的统一管理和查询。例如,您可以将 CSV 文件作为外部表导入到 PostgreSQL 中,并使用 SQL 查询来访问和操作这些数据。

pg_cron

定时任务

pg_cron 是一个用于 PostgreSQL 数据库的扩展,它提供了在数据库中执行定期任务的功能。pg_cron 扩展允许您在 PostgreSQL 数据库中定义和调度基于时间的作业,并以预定的时间间隔自动执行这些作业。

pg_cron 扩展的作用包括:

  1. 定期任务调度:pg_cron 允许您在 PostgreSQL 数据库中创建定期任务,例如定时备份、数据清理、统计计算等。您可以使用类似于 cron 的语法定义作业的执行时间表。

  2. 作业管理:pg_cron 允许您创建、修改、查看和删除作业。您可以轻松管理数据库中的定期任务,而无需使用外部工具或脚本。

  3. 作业执行控制:pg_cron 提供了对作业执行的灵活控制。您可以暂停和恢复作业的执行,也可以立即执行作业而不必等待预定的执行时间。

  4. 错误处理和日志记录:pg_cron 记录作业的执行结果和状态,并提供错误处理机制。您可以查看作业的执行日志,并根据需要采取相应的措施。

使用 pg_cron 扩展,您可以在 PostgreSQL 数据库中实现自动化的定期任务管理,避免依赖外部工具和脚本。它简化了定时任务的创建和管理,并提供了灵活的调度和控制选项,以满足您的需求。

CREATE EXTENSION IF NOT EXISTS “pg_cron”;
ERROR: can only create extension in database postgres
DETAIL: Jobs must be scheduled from the database configured in cron.database_name, since the pg_cron background worker reads job descriptions from this database.
HINT: Add cron.database_name = ‘test’ in postgresql.conf to use the current database.
CONTEXT: PL/pgSQL function inline_code_block line 4 at RAISE

cron.database_name 添加需要安装插件的数据库

在 PostgreSQL 中,cron.database_name 是一个配置参数,用于指定 pg_cron 后台工作进程读取作业描述的数据库名称。这个参数的值是一个字符串,表示数据库名称。

答案是可以设置多个数据库。您可以在 cron.database_name 参数的值中指定多个数据库名称,使用逗号进行分隔。例如:

cron.database_name = 'db1, db2, db3'

上述配置将使 pg_cron 后台工作进程从数据库 db1db2db3 中读取作业描述。

请注意,每个数据库都必须启用了 pg_cron 扩展,并在其中定义了作业。否则,即使配置了多个数据库名称,pg_cron 后台工作进程也无法读取和执行作业。

另外,请确保在修改 PostgreSQL 配置文件后重新加载配置使其生效。可以使用 pg_ctl 命令或 PostgreSQL 的重新启动来实现。

citus

Citus 是一个开源的 PostgreSQL 扩展,它旨在为 PostgreSQL 提供水平扩展能力和分布式数据库功能。它使得在大规模数据集上进行并行查询和分布式数据处理变得更加容易。

以下是 Citus 的一些主要特性和功能:

  1. 水平扩展:Citus 允许将 PostgreSQL 扩展到多个节点,从而实现数据的水平分片和分布式存储。通过将数据分布在多个节点上,可以实现高度可伸缩性和高吞吐量。

  2. 分布式查询:Citus 提供了分布式查询引擎,可以将查询计划并行执行在多个节点上。这样可以加快查询速度并减少响应时间。

  3. 分布式事务:Citus 支持分布式事务处理,使得在分布式环境中维护数据的一致性和完整性变得更加容易。它提供了事务管理和并发控制机制,确保事务的原子性、一致性、隔离性和持久性。

  4. 扩展性和灵活性:Citus 可以根据需要动态添加或删除节点,以适应不断增长的数据和负载。它还提供了灵活的数据分片策略和查询路由机制,以便根据应用程序的需求进行优化。

  5. PostgreSQL 兼容性:Citus 是以 PostgreSQL 为基础开发的扩展,因此保留了 PostgreSQL 的兼容性和丰富的功能集。您可以继续使用 PostgreSQL 的各种功能,如索引、触发器、视图和存储过程。

  6. 简化的管理和开发:Citus 提供了一组工具和命令,用于管理分布式集群和执行分布式查询。它还提供了用于数据分片和迁移的工具,以及用于监控和调优的仪表板。

Citus 是一个强大的工具,适用于需要处理大规模数据和高并发负载的应用程序。它可以帮助提高查询性能、扩展性和可用性,并简化分布式数据库的管理和开发。

CREATE EXTENSION IF NOT EXISTS “citus”;
ERROR: Citus can only be loaded via shared_preload_libraries
HINT: Add citus to shared_preload_libraries configuration variable in postgresql.conf in master and workers. Note that citus should be at the beginning of shared_preload_libraries.

shared_preload_libraries = 'citus,pg_stat_statements,pgaudit,pg_cron'

必须要放在第一个!否则会导致数据无法启动
2023-05-25 12:21:21.419 CST [1132] LOG: pgaudit extension initialized
2023-05-25 12:21:21.424 CST [1132] FATAL: Citus has to be loaded first
2023-05-25 12:21:21.424 CST [1132] HINT: Place citus at the beginning of shared_preload_libraries.
2023-05-25 12:21:21.425 CST [1132] LOG: database system is shut down

pg_trgm

pg_trgm是PostgreSQL数据库中的一个扩展模块,用于实现基于n-gram的文本匹配和相似度计算。该扩展模块提供了一种有效的方法来处理文本数据的模糊匹配和相似性搜索。

以下是一些关于pg_trgm扩展的说明:

  1. 三元组(trigram):pg_trgm扩展使用三元组(trigram)作为基本单元来表示文本。三元组是由三个连续字符组成的字符串片段。例如,对于字符串"OpenAI",生成的三元组包括"Ope",“pen”,“enA"和"nAI”。

  2. 文本索引:通过创建基于pg_trgm的文本索引,可以实现模糊匹配和相似度搜索。该索引存储了文本中所有可能的三元组,并为其建立了索引,以便可以快速进行模糊匹配和相似性计算。

  3. 模糊匹配:使用pg_trgm扩展,可以进行模糊匹配,即查找与给定模式相似的文本。例如,可以使用pg_trgm来查找与单词"apple"相似的其他单词,如"aple"或"appple"。

  4. 相似度计算:pg_trgm还提供了计算两个文本之间相似度的函数。可以使用这些函数来评估文本之间的相似程度,例如计算两个字符串之间的相似度分数。

pg_trgm扩展提供了一种灵活和高效的方式来处理模糊匹配和相似性搜索,尤其在处理大量文本数据时非常有用。可以通过在PostgreSQL中启用和使用pg_trgm扩展来利用这些功能。

uuid-ossp

uuid-ossp是PostgreSQL数据库中的一个扩展模块,用于生成和操作UUID(通用唯一标识符)。UUID是一种标准的128位标识符,用于在分布式系统中唯一地标识实体。

以下是一些关于uuid-ossp扩展的说明:

  1. UUID生成:uuid-ossp扩展提供了函数来生成不同类型的UUID。其中包括使用随机算法生成的版本4 UUID、使用命名空间和名称生成的版本3和版本5 UUID,以及使用MAC地址和时间戳生成的版本1 UUID。

  2. UUID数据类型:uuid-ossp扩展还引入了UUID数据类型,允许在数据库中存储和处理UUID值。UUID数据类型在语法上与其他基本数据类型类似,并提供了一些函数和操作符用于UUID之间的比较、操作和转换。

  3. UUID索引:通过在UUID列上创建索引,可以高效地检索和查询UUID值。uuid-ossp扩展支持在UUID列上创建B-tree索引,以加速UUID值的查找。

  4. UUID操作函数:uuid-ossp扩展还提供了一些函数,用于在UUID值之间执行各种操作。例如,可以比较两个UUID值的大小,提取UUID的组成部分,将UUID转换为字符串表示等。

使用uuid-ossp扩展可以方便地生成、存储和操作UUID值,特别适用于需要在分布式系统中唯一标识实体的场景,如数据库主键、标识符或跟踪日志等。

要使用uuid-ossp扩展,需要在PostgreSQL中启用该扩展。可以使用CREATE EXTENSION语句来启用uuid-ossp扩展,并通过在查询中调用相关函数来使用其提供的功能。

oracle_fdw

Oracle Foreign Data Wrapper (oracle_fdw) 是一个PostgreSQL扩展,它允许在PostgreSQL数据库中访问和查询Oracle数据库中的数据。它通过创建外部表来实现与Oracle数据库的连接和数据交互。

下面是oracle_fdw的一些说明和特点:

  1. 安装:在使用oracle_fdw之前,您需要将其安装为PostgreSQL的扩展。安装方法包括从源代码编译、使用包管理器安装或使用预编译的二进制文件安装。

  2. 配置:安装完成后,需要进行一些配置步骤。这些配置包括创建外部服务器、创建用户和用户映射,并定义外部表的结构。

  3. 外部服务器:通过创建外部服务器,您可以定义与Oracle数据库的连接信息,包括主机地址、端口号和数据库名称。这样,PostgreSQL就能够通过外部服务器与Oracle数据库建立连接。

  4. 用户和用户映射:在创建外部服务器后,您需要创建一个PostgreSQL用户,并将其与外部服务器上的Oracle用户进行映射。这样可以确保在查询执行时,正确的用户凭据被传递给Oracle数据库。

  5. 外部表:一旦外部服务器和用户映射配置完成,您可以创建外部表来映射Oracle数据库中的表。外部表的结构与Oracle表的结构相匹配,并且您可以在PostgreSQL中对这些外部表执行查询和操作。

  6. 查询和操作:使用oracle_fdw,您可以在PostgreSQL中对Oracle数据库中的数据执行查询、插入、更新和删除操作。这样,您可以方便地在PostgreSQL中访问和处理Oracle数据库的数据,实现数据集成和应用程序的开发。

需要注意的是,使用oracle_fdw连接到Oracle数据库需要确保网络连接可用、具有正确的数据库连接信息和凭据,并且PostgreSQL数据库具有足够的权限来执行这些操作。

总之,oracle_fdw是一个有用的工具,它扩展了PostgreSQL的功能,使其能够与Oracle数据库进行集成,并实现数据的共享和查询。

实操

根据您提供的信息,这些步骤是在PostgreSQL中安装和配置Oracle Foreign Data Wrapper (oracle_fdw) 插件以实现与Oracle数据库的连接。以下是对每个步骤的解释:

  1. 安装插件:
create extension oracle_fdw;

这条命令用于在PostgreSQL中创建并启用oracle_fdw扩展。这样做后,您就可以在PostgreSQL中使用oracle_fdw功能。

  1. 创建到Oracle的服务器:
create server to_ora_bpx foreign data wrapper oracle_fdw options (dbserver '//x.x.x.x:1521/orcl');

这条命令创建了一个名为to_ora_bpx的外部服务器,它使用oracle_fdw作为数据包装器,并指定了连接到Oracle数据库的连接信息。这里的dbserver参数指定了Oracle数据库的连接地址。

  1. 创建用户:
create user oracle_fdw superuser password 'oracle';

这条命令创建了一个名为oracle_fdw的用户,并分配了超级用户权限。该用户用于在PostgreSQL中执行与Oracle数据库相关的操作。

  1. 映射用户:
create user mapping for oracle_fdw server to_ora_bpx options (user 'bpx', password 'bpx');

这条命令创建了一个用户映射,将PostgreSQL中的oracle_fdw用户与外部服务器to_ora_bpx上的Oracle用户BPX进行映射。这样可以确保在执行查询时,正确的用户凭据被传递给Oracle数据库。

  1. 创建外部表映射Oracle中的表:
create foreign table oracle_test (id int, name varchar) server to_ora_bpx options (schema 'BPX', table 'BPX');

这条命令创建了一个外部表oracle_test,它映射了Oracle数据库中的BPX模式下的BPX表。外部表允许在PostgreSQL中访问Oracle数据库中的数据。

请注意,在执行这些步骤之前,您需要确保已经安装了oracle_fdw插件,并且PostgreSQL数据库具有足够的权限来执行这些操作。此外,还需要提供正确的连接信息和凭据,以便成功连接到Oracle数据库。

如果您遇到任何问题或需要进一步的帮助,请提供详细的错误消息或问题描述。

psql -h x.x.x.x -p 1014 -U oracle_fdw -d test
select * from oracle_test ;

timescaledb

timescaledb
TimescaleDB vs. PostgreSQL

1. 修改实例配置文件的shared_preload_libraries参数,增加 timescaledb 值,如 shared_preload_libraries = 'pgaudit' => shared_preload_libraries = 'pgaudit,timescaledb'
2. 重启数据库使配置生效
3. 连接数据库执行查询启用插件:CREATE EXTENSION timescaledb;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pg_profile

下载链接
https://github.com/zubkov-andrei/pg_profile/issues

使用@1

使用@2

select * from take_sample();

select show_samples();

psql -d bpx -qtc "select public.get_report(1,2)"  --output /tmp/awr_report_postgres_1_2.html

orafce

1、准备依赖

mv /etc/yum.repos.d/pgdg-redhat-all.repo /root
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf install -y --enablerepo=powertools postgresql14-devel unzip redhat-rpm-config openssl-devel
dnf reinstall gcc

2、下载插件安装包
https://github.com/orafce/orafce

3、安装 orafce

unzip orafce-master.zip
cd orafce-master
make install 

在这里插入图片描述
在这里插入图片描述
使用说明

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hezuijiudexiaobai/article/details/130578426

智能推荐

class和struct的区别-程序员宅基地

文章浏览阅读101次。4.class可以有⽆参的构造函数,struct不可以,必须是有参的构造函数,⽽且在有参的构造函数必须初始。2.Struct适⽤于作为经常使⽤的⼀些数据组合成的新类型,表示诸如点、矩形等主要⽤来存储数据的轻量。1.Class⽐较适合⼤的和复杂的数据,表现抽象和多级别的对象层次时。2.class允许继承、被继承,struct不允许,只能继承接⼝。3.Struct有性能优势,Class有⾯向对象的扩展优势。3.class可以初始化变量,struct不可以。1.class是引⽤类型,struct是值类型。

android使用json后闪退,应用闪退问题:从json信息的解析开始就会闪退-程序员宅基地

文章浏览阅读586次。想实现的功能是点击顶部按钮之后按关键字进行搜索,已经可以从服务器收到反馈的json信息,但从json信息的解析开始就会闪退,加载listview也不知道行不行public abstract class loadlistview{public ListView plv;public String js;public int listlength;public int listvisit;public..._rton转json为什么会闪退

如何使用wordnet词典,得到英文句子的同义句_get_synonyms wordnet-程序员宅基地

文章浏览阅读219次。如何使用wordnet词典,得到英文句子的同义句_get_synonyms wordnet

系统项目报表导出功能开发_积木报表 多线程-程序员宅基地

文章浏览阅读521次。系统项目报表导出 导出任务队列表 + 定时扫描 + 多线程_积木报表 多线程

ajax 如何从服务器上获取数据?_ajax 获取http数据-程序员宅基地

文章浏览阅读1.1k次,点赞9次,收藏9次。使用AJAX技术的好处之一是它能够提供更好的用户体验,因为它允许在不重新加载整个页面的情况下更新网页的某一部分。另外,AJAX还使得开发人员能够创建更复杂、更动态的Web应用程序,因为它们可以在后台与服务器进行通信,而不需要打断用户的浏览体验。在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种常用的技术,用于在不重新加载整个页面的情况下,从服务器获取数据并更新网页的某一部分。使用AJAX,你可以创建异步请求,从而提供更快的响应和更好的用户体验。_ajax 获取http数据

Linux图形终端与字符终端-程序员宅基地

文章浏览阅读2.8k次。登录退出、修改密码、关机重启_字符终端

随便推点

Python与Arduino绘制超声波雷达扫描_超声波扫描建模 python库-程序员宅基地

文章浏览阅读3.8k次,点赞3次,收藏51次。前段时间看到一位发烧友制作的超声波雷达扫描神器,用到了Arduino和Processing,可惜啊,我不会Processing更看不懂人家的程序,咋办呢?嘿嘿,所以我就换了个思路解决,因为我会一点Python啊,那就动手吧!在做这个案例之前先要搞明白一个问题:怎么将Arduino通过超声波检测到的距离反馈到Python端?这个嘛,我首先想到了串行通信接口。没错!就是串口。只要Arduino将数据发送给COM口,然后Python能从COM口读取到这个数据就可以啦!我先写了一个测试程序试了一下,OK!搞定_超声波扫描建模 python库

凯撒加密方法介绍及实例说明-程序员宅基地

文章浏览阅读4.2k次。端—端加密指信息由发送端自动加密,并且由TCP/IP进行数据包封装,然后作为不可阅读和不可识别的数据穿过互联网,当这些信息到达目的地,将被自动重组、解密,而成为可读的数据。不可逆加密算法的特征是加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,只有重新输入明文,并再次经过同样不可逆的加密算法处理,得到相同的加密密文并被系统重新识别后,才能真正解密。2.使用时,加密者查找明文字母表中需要加密的消息中的每一个字母所在位置,并且写下密文字母表中对应的字母。_凯撒加密

工控协议--cip--协议解析基本记录_cip协议embedded_service_error-程序员宅基地

文章浏览阅读5.7k次。CIP报文解析常用到的几个字段:普通类型服务类型:[0x00], CIP对象:[0x02 Message Router], ioi segments:[XX]PCCC(带cmd和func)服务类型:[0x00], CIP对象:[0x02 Message Router], cmd:[0x101], fnc:[0x101]..._cip协议embedded_service_error

如何在vs2019及以后版本(如vs2022)上添加 添加ActiveX控件中的MFC类_vs添加mfc库-程序员宅基地

文章浏览阅读2.4k次,点赞9次,收藏13次。有时候我们在MFC项目开发过程中,需要用到一些微软已经提供的功能,如VC++使用EXCEL功能,这时候我们就能直接通过VS2019到如EXCEL.EXE方式,生成对应的OLE头文件,然后直接使用功能,那么,我们上篇文章中介绍了vs2017及以前的版本如何来添加。但由于微软某些方面考虑,这种方式已被放弃。从上图中可以看出,这一功能,在从vs2017版本15.9开始,后续版本已经删除了此功能。那么我们如果仍需要此功能,我们如何在新版本中添加呢。_vs添加mfc库

frame_size (1536) was not respected for a non-last frame_frame_size (1024) was not respected for a non-last-程序员宅基地

文章浏览阅读785次。用ac3编码,执行编码函数时报错入如下:[ac3 @ 0x7fed7800f200] frame_size (1536) was not respected for anon-last frame (avcodec_encode_audio2)用ac3编码时每次送入编码器的音频采样数应该是1536个采样,不然就会报上述错误。这个数字并非刻意固定,而是跟ac3内部的编码算法原理相关。全网找不到,国内音视频之路还有很长的路,音视频人一起加油吧~......_frame_size (1024) was not respected for a non-last frame

Android移动应用开发入门_在安卓移动应用开发中要在活动类文件中声迷你一个复选框变量-程序员宅基地

文章浏览阅读230次,点赞2次,收藏2次。创建Android应用程序一个项目里面可以有很多模块,而每一个模块就对应了一个应用程序。项目结构介绍_在安卓移动应用开发中要在活动类文件中声迷你一个复选框变量

推荐文章

热门文章

相关标签