PostgreSQL数据库序列信息查询

news/2024/12/18 17:29:18/

PostgreSQL序列信息查询

说明:

在PostgreSQL数据库中序列和表都是序列的对象。

数据库中不应该存在孤儿序列,序列应该和表对应的字段绑定起来。绑定后删除表或表对应的字段后,序列会自动被删除。

创建测试表和序列

create table test_t(id int,name varchar(100));
create sequence test_s;
alter sequence test_s owned by test_t.id;

信息查询

-- PostgreSQL查看序列是否依赖于某个表(绑定到了表的字段)
select t2.relname as 表名,t3.relname as 序列名,t4.attname as 序列绑定的表的列-- ,objid as 序列oid,refobjid as 表oid,refobjsubid as 列序号from pg_depend t1join pg_class t2 on t2.oid=t1.refobjidjoin pg_class t3 on t3.oid=t1.objidjoin pg_attribute t4 on t4.attrelid=t2.oid
where 1=1and t4.attnum=t1.refobjsubidand t3.relkind='S';-- 查询表字段上绑定的序列名称
select pg_get_serial_sequence('表名','字段名');-- 根据模式名查看模式下的所有序列
SELECT relname FROM pg_class
WHERE relkind = 'S'
AND relnamespace IN ( SELECT oid FROM pg_namespace WHERE nspname NOT LIKE'pg_%' AND nspname != 'information_schema' );

http://www.ppmy.cn/news/1556166.html

相关文章

黑客网络安全扫描工具

项目简介 Scanners Box是一个集合github平台上的安全行业从业者自研开源扫描器的仓库,包括子域名枚举、数据库漏洞扫描、弱口令或信息泄漏扫描、端口扫描、指纹识别以及其他大型扫描器或模块化扫描器,同时该仓库只收录各位网友自己编写的一般性开源扫描…

第十五章 Linux Shell 编程

15.1 Shell 变量 了解:Shell的功能 了解:Shell的种类 了解:Shell的调用 了解:Shell变量的概念 了解:Shell变量的定义 了解:Shell数组变量 了解:Shell内置变量 了解:双引号 和…

【教程】如何在服务器的终端中创建定时任务?

以CentOS 7系统的服务器为列,我们可以使用cron服务来实现定时任务配置。具体操作如下: 编辑cron任务配置文件 使用以下命令编辑当前用户的cron任务配置文件: crontab -e执行该命令后,会打开一个文本编辑器,用于编辑…

app的测试范围以及web和app的测试区别

目录 图1.App的测试范围1.1功能测试1.2专项测试1.3性能测试 2.Web和App的测试区别2.1相同点2.2不同点 👍 点赞,你的认可是我创作的动力! ⭐️ 收藏,你的青睐是我努力的方向! ✏️ 评论,你的意见是我进步的…

神经网络基础-初识神经网络

人工神经网络( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN),是一种模仿生物神经网络结构和功能的计算模型。人脑可以看做是一个生物神经网络,由众多的神经元连接而成。各个神经…

immaculate C# DragDrop 注册失败 解决 C#窗口程序如何看控制台打印的日志

C# DragDrop 注册失败 System.InvalidOperationExceptionHResult0x80131509MessageDragDrop 注册失败。SourceSystem.Windows.FormsStackTrace:在 System.Windows.Forms.Control.SetAcceptDrops(Boolean accept)在 System.Windows.Forms.Control.OnHandleCreated(EventArgs e)…

网络隧道与代理

文章目录 网络隧道网络代理参考 网络隧道 使用隧道的原因是在不兼容的网络上传输数据,或在不安全网络上提供一个安全路径。网络隧道的一个典型特征就是封装报文和对报文加密。如下是两个典型的案例:IPv4到IPv6的迁移、VPN。 图3.1 IPv4到IPv6的迁移 图…

异步线程使用

创建线程的几种方法: 执行完整个main方法,在后台慢慢打印。 1.2.3方式都不能获得控制资源。 4、 线程池方法,每个异步任务,提交给线程池让他自己去执行就行。 1、降低资源的消耗 通过重复利用已经创建好的线程降低线程的创建和…