做网站泊头/石家庄seo排名公司
发布主题
设置发布为true
这个语句是针对 PostgreSQL 数据库中的逻辑复制功能中的逻辑发布(Logical Publication)进行设置的。
PostgreSQL 中,逻辑复制是一种基于逻辑日志的复制方法,允许将数据更改从一个数据库实例复制到另一个数据库实例,而不是通过传统的物理复制方式复制数据文件。逻辑发布是逻辑复制的一部分,用于定义要复制的数据对象。
update pg_publication set puballtables=true where pubname is not null;
创建发布主题例子:
-- 把所有表进行发布 也可指定CREATE PUBLICATION "发布名" FOR ALL TABLES;-- 指定表发布 创建发布名 for table代表含有哪些表被发布create PUBLICATION "发布名" FOR TABLE表名,表名,表名...;DROP PUBLICATION [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]
-- 删除发布的表名
DROP PUBLICATION mypublication;
-- 查询所有发布的主题(postgreSQL中的数据库)
select * from pg_publication;
-- 查询 发布名 含哪些表发布
select * from pg_catalog.pg_publication_tables ppt where pubname ='表名';
-- 查询所有发布表
select * from pg_publication_tables;
ALTER PUBLICATION — 修改发布的定义
ALTER PUBLICATION name ADD TABLE [ ONLY ] table_name [ * ] [, ...]
ALTER PUBLICATION name SET TABLE [ ONLY ] table_name [ * ] [, ...]
ALTER PUBLICATION name DROP TABLE [ ONLY ] table_name [ * ] [, ...]
ALTER PUBLICATION name SET ( publication_parameter [= value] [, ... ] )
ALTER PUBLICATION name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
ALTER PUBLICATION name RENAME TO new_name
命令ALTER PUBLICATION
可以更改发布的属性。
更改表的复制标识包含更新和删除的值
-- (如果一张表缺少主键,并且涉及到复制,就需要执行这条语句)
-- 更改复制标识包含更新和删除之前值
ALTER TABLE [表名] REPLICA IDENTITY FULL;
-- 查看复制标识(为f标识说明设置成功)
select relreplident from pg_class where relname='表名';
slot 插槽
查看solt使用情况 删除solt
-- 查看solt使用情况
SELECT * FROM pg_replication_slots;
-- 删除solt zd_org_goods_solt为slot名
SELECT pg_drop_replication_slot('zd_org_goods_solt');
用户连接
查看用户连接数
-- 查询用户当前连接数
select usename, count(*) from pg_stat_activity group by usename order by count(*) desc;
-- 设置用户最大连接数
alter role odps_etl connection limit 200;
分区
查询所属表的主表的分区表有哪些 并查看分区表的模式
-- 查询所属表的主表的分区表有哪些 并查看分区表的模式
SELECT parent.relname ASpartitioned_table,child.relname AS partition,ns.nspname AS schema
FROM pg_inheritsJOINpg_class AS parent ON parent.oid = pg_inherits.inhparentJOIN pg_class AS child ON child.oid= pg_inherits.inhrelidJOIN pg_namespace AS ns ON ns.oid = parent.relnamespace
WHERE parent.relkind ='p'-- ns.nspname 为你的模式名AND ns.nspname = 'your schema name'-- parent.relname 你的表名AND parent.relname = 'your table name'
ORDER BY parent.relname, child.relname;
判断分区。 查询分区表信息的 SQL
-- 查询表 是什么表类型,是否有子表,是否为一个分区表
SELECT relname, relkind, relhassubclass, relispartition
-- pg_class 表字段解释 如下表格
FROM pg_class
-- relname 你要查询的表名
WHERE relname = 'inp_order';
查询分区主表所属类型
SELECT c.relname AS table_name, p.partstrat AS partition_strategy
FROM pg_partitioned_table pJOIN pg_class c ON p.partrelid = c.oid
-- c.relname 为主表名称
WHERE c.relname = 'tablename'
查询分区键
SELECT pg_attribute.attname AS partition_key
FROM pg_attributeJOIN pg_partitioned_table ON pg_attribute.attrelid = pg_partitioned_table.partrelidJOIN pg_class ON pg_partitioned_table.partrelid = pg_class.oidJOIN pg_namespace ON pg_class.relnamespace = pg_namespace.oid
-- pg_class.relname 为表名
WHERE pg_class.relname = 'tableName'
-- pg_namespace.nspname 为模式名 AND pg_namespace.nspname = 'schemaName' AND pg_attribute.attnum = ANY (pg_partitioned_table.partattrs)
删除 创建 分区
ALTER TABLE [tablename] DROP PARTITION '分区表名';
pg_class 表详细信息
名称 | 类型 | 引用 | 描述 |
---|---|---|---|
oid | oid | 行标识符 | |
relname | name | 表、索引、视图等的名字 | |
relnamespace | oid | pg_namespace.oid | 包含该关系的名字空间的OID |
reltype | oid | pg_type.oid | 可能存在的表行类型所对应数据类型的OID(对索引为0,索引没有pg_type 项) |
reloftype | oid | pg_type.oid | 对于有类型的表,为底层组合类型的OID,对于其他所有关系为0 |
relowner | oid | pg_authid.oid | 关系的拥有者 |
relam | oid | pg_am.oid | 如果这是一个表或者索引,表示索引使用的访问方法(堆、B树、哈希等) |
relfilenode | oid | 该关系的磁盘文件的名字,0表示这是一个“映射”关系,其磁盘文件名取决于低层状态 | |
reltablespace | oid | pg_tablespace.oid | 该关系所存储的表空间。如果为0,使用数据库的默认表空间。(如果关系无磁盘文件时无意义) |
relpages | int4 | 该表磁盘表示的尺寸,以页面计(页面尺寸为BLCKSZ )。这只是一个由规划器使用的估计值。它被VACUUM 、ANALYZE 以及一些DDL命令(如CREATE INDEX )所更新 | |
reltuples | float4 | 表中的存活行数。这只是一个由规划器使用的估计值。它被VACUUM 、ANALYZE 以及一些DDL命令(如CREATE INDEX )所更新。 | |
relallvisible | int4 | 在表的可见性映射表中被标记为全可见的页数。这只是一个由规划器使用的估计值。它被VACUUM 、ANALYZE 以及一些DDL命令(如CREATE INDEX )所更新 | |
reltoastrelid | oid | pg_class.oid | 与该表相关联的TOAST表的OID,如果没有则为0。TOAST表将大属性“线外”存储在一个二级表中 |
relhasindex | bool | 如果这是一个表并且其上建有(或最近建有)索引则为真 | |
relisshared | bool | 如果该表在集簇中的所有数据库间共享则为真。只有某些系统目录(如pg_database )是共享的 | |
relpersistence | char | p = 永久表,u = 无日志表, t = 临时表 | |
relkind | char | r = 普通表, i = 索引, S = 序列, t = TOAST表, v = 视图, m = 物化视图, c = 组合类型, f = 外部表, p = 分区表, I = 分区索引 | |
relnatts | int2 | 关系中用户列的数目(系统列不计算在内)。在pg_attribute 中必须有这么多对应的项。另请参阅pg_attribute.attnum 。 | |
relchecks | int2 | 表上CHECK 约束的数目,参见pg_constraint 目录 | |
relhasrules | bool | 如果表有(或曾有)规则则为真,参见 pg_rewrite 目录 | |
relhastriggers | bool | 如果表有(或曾有)触发器则为真目录 | |
relhassubclass | bool | 如果表或者索引有(或曾有)任何继承子女则为真 | |
relrowsecurity | bool | 如果表上启用了行级安全性则为真,参见 pg_policy 目录 | |
relforcerowsecurity | bool | 如果行级安全性(启用时)也适用于表拥有者则为真,参见 pg_policy 目录 | |
relispopulated | bool | 如果表已被填充则为真(对于所有关系该列都为真,但对于某些物化视图却不是) | |
relreplident | char | 用来为行形成“replica identity”的列: d = 默认 (主键,如果存在), n = 无, f = 所有列 i = 索引的indisreplident 被设置或者为默认 | |
relispartition | bool | 如果表或索引是一个分区,则为真 | |
relrewrite | oid | pg_class.oid | 对于在要求表重写的DDL操作期间被写入的新关系,这个域包含原始关系的OID,否则为0。那种状态仅在内部可见,对于一个用户可见的关系这个域应该从不包含不是0的值 |
relfrozenxid | xid | 在此之前的所有事务ID在表中已经被替换为一个永久的(“冻结的”) 事务ID。这用于跟踪表是否需要被清理,以便阻止事务ID回卷或者允许pg_xact 被收缩。如果该关系不是一个表则为0(InvalidTransactionId ) | |
relminmxid | xid | 在此之前的多事务ID在表中已经被替换为一个事务ID。这被用于跟踪表是否需要被清理,以阻止 多事务ID回卷或者允许pg_multixact 被收缩。如果关系不是一个表则 为0(InvalidMultiXactId ) | |
relacl | aclitem[] | 访问权限 | |
reloptions | text[] | 访问方法相关的选项,以“keyword=value”字符串形式 | |
relpartbound | pg_node_tree | 如果表示一个分区(见relispartition ),分区边界的内部表达 |
索引
查询索引
-- schemaname 指定模式名,tablename 指定表名
SELECT * FROM pg_indexes WHERE schemaname = '%s' and tablename= '%s'
pg_indexes 表详细信息
名字 | 类型 | 引用 | 描述 |
---|---|---|---|
schemaname | name | pg_namespace.nspname | 包含表和索引的模式的名字 |
tablename | name | pg_class.relname | 此索引所服务的表的名字 |
indexname | name | pg_class.relname | 索引的名字 |
tablespace | name | pg_tablespace.spcname | 包含索引的表空间名字(如果是数据库缺省,则为 NULL) |
indexdef | text | 索引定义(一个重建的CREATE INDEX 命令) |
索引CRD(增加,查看,删除)
-- 查看索引
SELECT * FROM pg_indexes WHERE tablename='表名';
-- 或者
SELECT * FROM pg_statio_all_indexes WHERE relname='表名';
-- 创建索引
CREATE INDEX IF NOT EXISTS [表名] ON [索引名称]('字段'...);
-- 删除索引
DROP INDEX [索引名称];
相关文章:

PostgreSQL 使用SQL
发布主题 设置发布为true 这个语句是针对 PostgreSQL 数据库中的逻辑复制功能中的逻辑发布(Logical Publication)进行设置的。 PostgreSQL 中,逻辑复制是一种基于逻辑日志的复制方法,允许将数据更改从一个数据库实例复制到另一…...

Shell编程基础(十四)文本三剑客(grep)
文本三剑客(grep) 使用场景基本使用返回值参数 使用场景 主要用于查找,过滤文本数据;该数据可以来自文件,也可以来自管道流等等。 grep除了原有的实现,后来还出现了以下扩展实现 egrep:支持扩展…...

Linux root用户执行修改密码命令,提示 Permission denied
问题 linux系统中(ubuntu20),root用户下执行passwd命令,提示 passwd: Permission denied ,如下图: 排查 1.执行 ll /usr/bin/passwd ,查看文件权限是否正确,正常情况是 -rwsr-xr…...

Java面向对象学习第三部分
一、Static修饰符 static是静态的意思,基本概念如下: Static分类: 一般我们分类都是按照是否使用static修饰进行分类。分为静态变量(类变量)、实例变量。 静态变量和实例变量的比较: 比较,…...

python+vue生成条形码码并展示
需求 最近想做一个小工具,大概要实现这样的效果:后端生成条形码后,不保存到服务器,直接返回给前端展示。 大概思路是,通过 python-barcode库 生成条码的字节流,生成字节流后直接编码成base64格式返回给前…...

在线高精地图生成算法调研
1.HDMapNet 整体的网络架构如图所示,最终的Decoder输出三个分支,一个语义分割,一个embedding嵌入分支,一个方向预测。然后通过后处理将这些信息处理成向量化的道路表示。 img2bev的方式之前有IPM,通过假设地面的高度都…...

【干货】商城系统的重要功能特性介绍
电子商务的快速发展,商城系统成为了企业开展线上销售的重要工具。一款功能强大、用户友好的商城系统能够有效提升企业的销售业绩,提供良好的购物体验。下面就商城系统的重要功能特性作一些简单介绍,帮助企业选择合适的系统,打造成…...

MYSQL06高级_为什么使用索引、优缺点、索引的设计、方案、聚簇索引、联合索引、注意事项
文章目录 ①. 为什么使用索引②. 索引及其优缺点③. InnoDb - 索引的设计④. InnoDb中的索引方案⑤. 索引 - 聚簇索引⑥. 索引 - 二级索引⑦. B树索引的注意事项⑧. MyISAM中索引方案 ①. 为什么使用索引 ①. 索引是存储引擎用于快速找到数据记录的一种数据结构,就好比去图书馆…...

LeetCode 130. 被围绕的区域
题目链接:130. 被围绕的区域 题目描述 给你一个 m x n 的矩阵 board ,由若干字符 ‘X’ 和 ‘O’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例1: 输入:board [[“…...

python中2等于2.0吗,python中【1:2】
本篇文章给大家谈谈python中2等于2.0吗,以及python中【1:2】,希望对各位有所帮助,不要忘了收藏本站喔。 变量和赋值 Python中的变量不需要声明, 直接定义即可. 会在初始化的时候决定变量的 “类型” 使用 来进行初始化和赋值操作 定义变量时…...

【2023年11月第四版教材】《第2章-信息技术发展(第一部分)》
《第2章-信息技术发展(第一部分)》 章节说明1 计算机软硬件2 计算机网络2.1 网络的作用范围2.2 OSI模型2.3 广域网协议2.4 网络协议2.5 TCP/IP2.6 软件定义网络(SDN)2.7 第五代移动通信技术 章节说明 大部分为新增内容࿰…...

【CSS】说说对BFC的理解
目录 一、概念 二、BFC的布局规则 三、设置BFC的常用方式 四、BFC的应用场景 1、解决浮动元素令父元素高度坍塌的问题 2、解决非浮动元素被浮动元素覆盖问题 3、解决外边距垂直方向重合的问题 五、总结 一、概念 我们在页面布局的时候,经常出现以下情况&am…...

ES6学习-Class类
class constructor 构造方法 this 代表实例对象 方法之间不需要逗号分隔,加了会报错。 typeof Point // "function" Point Point.prototype.constructor // true类的数据类型就是函数,类本身就指向构造函数。 类的所有方法都定义在类的pr…...

C语言经典小游戏之扫雷(超详解释+源码)
“少年气,是历尽千帆举重若轻的沉淀,也是乐观淡然笑对生活的豁达!” 今天我们学习一下扫雷游戏怎么用C语言来实现! 扫雷小游戏 1.游戏介绍2.游戏准备3.游戏实现3.1生成菜单3.2游戏的具体实现3.2.1初始化棋盘3.2打印棋盘3.3布置雷…...

算法leetcode|67. 二进制求和(rust重拳出击)
文章目录 67. 二进制求和:样例 1:样例 2:提示: 分析:题解:rust:go:c:python:java: 67. 二进制求和: 给你两个二进制字符串 a 和 b &a…...

【ASP.NET MVC】第一个登录页面(8)
一、准备工作 先从网上(站长之家、模板之家,甚至TB)下载一个HTML模板,要求一整套的CSS和必要的JS,比如下图: 登录页面的效果是: 首页: 利用这些模板可以减少前台网页的设计——拿来…...

使用Openoffice或LibreOffice实现World、Excel、PPTX在线预览
使用Openoffice或LibreOffice实现World、Excel、PPTX在线预览 预览方案使用第三方服务使用前端库转换格式 jodconverterjodconverter概述主要特性OpenOfficeLibreOffice jodconverter的基本使用添加依赖配置创建DocumentConverter实例上传与转换预览启动上传与预览World 与Spri…...

20天学会rust(三)没有object的rust怎么面向对象?
面向对象我们都很熟悉,可以说它是一种软件开发最重要的编程范式之一,它将程序中的数据和操作数据的方法组织成对象。面向对象有几个重要特性: 封装、继承和多态,基于这些特性带来了在可重用性、可维护性、扩展性、可靠性的优点。 …...

整数规划——第三章 全单模矩阵
整数规划——第三章 全单模矩阵 若线性规划问题的约束矩阵为全单模矩阵,则该问题可行域的顶点都是整数点,从而线性规划与整数规划的最优解相同。 3.1 全单模性与最优性 考虑线性整数规划问题: (IP) min c T x , s . t . A x ≤ b , x …...

数据结构和算法
数据结构和算法目录表 CCJava线性结构 1. 数组、单链表和双链表 2. Linux内核中双向链表的经典实现 数组、单链表和双链表 数组、单链表和双链表 栈 栈 栈 队列 队列 队列树形结构 二叉查找树 二叉查找树 二叉查找树 AVL树 AVL树 AVL树 伸展树 伸展树 伸展树 1. 红黑树(一)之…...

[Vulnhub] matrix-breakout-2-morpheus
目录 <1> 信息收集 <2> getshell <3> Privilege Escalation(提权) <1> 信息收集 nmap -sP 192.168.236.0/24 扫描一下靶机ip 靶机ip: 192.168.236.154 nmap -A -p 1-65535 192.168.236.154 扫描一下靶机开放哪些服务 开放…...

JDK, JRE和JVM之间的区别和联系
JDK, JRE和JVM是与Java编程语言相关的三个重要的概念,它们分别代表Java Development Kit(Java开发工具包)、Java Runtime Environment(Java运行时环境)和Java虚拟机(Java Virtual Machine)。它们…...

mac电脑访问windows共享文件夹连接不上(设置445端口)
前提:首先需要保证mac和windows都在同一局域网内,如果不在肯定是连不上的,就不用往下看了。 事情是这样的,公司入职发了mac电脑,但是我是window重度用户,在折腾mac的过程中,有许多文件需要从wi…...

metersphere性能压测执行过程
(1) 首先在controller层,通过RunTestPlanRequest接收请求参数 PostMapping("/run")public String run(RequestBody RunTestPlanRequest request) (2) 在PerformanceTestService中的run中进行具体的逻辑处理, 首先根据请求中ID来获取库中存储…...

揭秘Word高级技巧:事半功倍的文字处理策略
Microsoft Word是一款广泛使用的文字处理软件,几乎每个人都有使用过它的经历。但是,你是否知道Word中隐藏着许多高级技巧和功能,可以帮助你事半功倍地处理文字?在本文中,我们将揭秘一些Word的高级技巧,让你…...

06-1_Qt 5.9 C++开发指南_对话框与多窗体设计_标准对话框
在一个完整的应用程序设计中,不可避免地会涉及多个窗体、对话框的设计和调用,如何设计和调用这些对话框和窗体是搞清楚一个庞大的应用程序设计的基础。本章将介绍对话框和多窗体设计、调用方式、数据传递等问题,主要包括以下几点。 Qt 提供的…...

模拟实现消息队列项目(系列7) -- 实现BrokerServer
目录 前言 1. 创建BrokerServer类 1.1 启动服务器 1.2 停止服务器 1.3 处理一个客户端的连接 1.3.1 解析请求得到Request对象 1.3.2 根据请求计算响应 1.3.3 将响应写回给客户端 1.3.4 遍历Session的哈希表,把断开的Socket对象的键值对进行删除 2. 处理订阅消息请求详解(补充) …...

vscode插件不能搜索安装
1 现象 vscode搜索自己的插件,报错: Error while fetching extensions. HXR failed2 原因 之前用vscode开发golang语言,设置了proxy代理,所以导致错误,删除即可 重启vscode 3 结果...

路由器工作原理(第二十九课)
路由器工作原理(第二十九课) 一图胜过千言 1) 路由:数据从一个网络到另外一个网络之间转发数据包的过程称为路由 2) 路由器:连接不同网络,实现不同网段之间的通信 3)路由表:路由器选择数据的传输路径的依据 原始的路由表 Destination/Mask Proto Pre Cost …...

linux log 日志
/* author: hjjdebug * date: 2023年 08月 08日 星期二 13:18:08 CST * descriptor: linux log 日志 * destinator: 搞清linux 下log 日志 * 下面代码编译通过即可运行 */ #include <stdio.h> #include <syslog.h> int main(void) { // 打开系统日志, 可…...