精华内容
下载资源
问答
  • PostgreSQL查询表主键及注释内容

    千次阅读 2020-07-31 18:19:24
    网上关于pgSql获取表主键的内容都是千篇一律,并且对于存在多主键的场景不支持。 附上测试后可获取多个主键字段值的SQL SELECT string_agg(DISTINCT t3.attname,',') AS primaryKeyColumn ,t4.tablename AS ...

    网上关于pgSql获取表主键的内容都是千篇一律,并且对于存在多主键的场景不支持。

    附上测试后可获取多个主键字段值的SQL

    SELECT
       string_agg(DISTINCT t3.attname,',')  AS primaryKeyColumn
      ,t4.tablename AS tableName
      , string_agg(cast(obj_description(relfilenode,'pg_class') as varchar),'') as comment
    FROM
      pg_constraint t1
      INNER JOIN pg_class t2 ON t1.conrelid = t2.oid
      INNER JOIN pg_attribute t3 ON t3.attrelid = t2.oid AND array_position(t1.conkey,t3.attnum) is not null
      INNER JOIN pg_tables t4 on t4.tablename = t2.relname
      INNER JOIN pg_index t5 ON t5.indrelid = t2.oid AND t3.attnum = ANY (t5.indkey)
      LEFT JOIN pg_description t6 on t6.objoid=t3.attrelid and t6.objsubid=t3.attnum
    WHERE  t1.contype = 'p'
           AND length(t3.attname) > 0
          AND  t2.oid = '表名' :: regclass
      group by t4.tablename

    目前只找到了获取指定表的主键信息,对于批量获取没有找到。

    bug:

    对于表主键没有配置的,也会获取到第一个字段作为主键输出,如果有大佬解决了这个问题,望给与解答

    展开全文
  • postgresql查询表主键

    万次阅读 2018-03-08 14:12:50
    --查询主键名称SELECT pg_constraint.conname AS pk_nameFROM pg_constraintINNER JOIN pg_class ON pg_constraint.conrelid = pg_class.oidWHERE pg_class.relname = 'table_name'AND pg_constraint.contype = '...
     作者:瀚高PG实验室 (Highgo PG Lab)
    --查询主键名称
    SELECT
        pg_constraint.conname AS pk_name
    FROM
        pg_constraint
    INNER JOIN pg_class ON pg_constraint.conrelid = pg_class.oid
    WHERE
        pg_class.relname = ' table_name'
    AND pg_constraint.contype = 'p';
    --查询主键的详细信息
    SELECT
        pg_constraint.conname AS pk_name,
        pg_attribute.attname AS colname,
        pg_type.typname AS typename
    FROM
        pg_constraint
    INNER JOIN pg_class ON pg_constraint.conrelid = pg_class.oid
    INNER JOIN pg_attribute ON pg_attribute.attrelid = pg_class.oid
    AND pg_attribute.attnum = pg_constraint.conkey [ 1 ]
    INNER JOIN pg_type ON pg_type.oid = pg_attribute.atttypid
    WHERE
        pg_class.relname = ' table_name'
    AND pg_constraint.contype = 'p';
    展开全文
  • 查看Postgresql表名、主键、列名

    千次阅读 2019-08-09 11:25:16
    Postgresql有很多系统,可以查主键、列名、类型、备注、索引等。 参考:https://www.yiibai.com/manual/postgresql/catalogs.html 为了配置datax通用脚本,用到这些,记录一下: select table_schema,table_name...

    Postgresql有很多系统表,可以查主键、列名、类型、备注、索引等。
    参考:https://www.yiibai.com/manual/postgresql/catalogs.html

    为了配置datax通用脚本,用到这些,记录一下:

    select table_schema,table_name,concat('s01_',table_name) as target_table,t.colname,string_agg(column_name,',') as COLS 
    from information_schema.columns
    LEFT JOIN (select pg_class.relname as tablename,pg_attribute.attname as colname from
    pg_constraint inner join pg_class
    on pg_constraint.conrelid = pg_class.oid
    inner join pg_attribute on pg_attribute.attrelid = pg_class.oid
    and pg_attribute.attnum = pg_constraint.conkey[1]
    where pg_constraint.contype='p') t
    on table_name=t.tablename
    where TABLE_NAME = 'mem_base_info'
    group by table_schema,table_name,t.colname;

    结果:

    展开全文
  • PostgreSQL数据库中获取表主键名称一、如下表示,要获取teacher表的主键信息:select pg_constraint.conname as pk_name,pg_attribute.attname as colname,pg_type.typname as typename frompg_constraint inner ...

    PostgreSQL数据库中获取表主键名称

    一、如下表示,要获取teacher表的主键信息:

    select pg_constraint.conname as pk_name,pg_attribute.attname as colname,pg_type.typname as typename from

    pg_constraint inner join pg_class

    on pg_constraint.conrelid = pg_class.oid

    inner join pg_attribute on pg_attribute.attrelid = pg_class.oid

    and pg_attribute.attnum = pg_constraint.conkey[]

    inner join pg_type on pg_type.oid = pg_attribute.atttypid

    where pg_class.relname = 'teacher'

    and pg_constraint.contype='p'

    二、效果图:

    由图可知,主键约束的名称为pk_teacher,主键字段(列)为"id",主键字段的类型为:uuid。

    ——宋兴柱发表于2015年7月30日 济南中迪智业。

    SQL语句获取数据库中的表主键,自增列,所有列

    SQL语句获取数据库中的表主键,自增列,所有列   获取表主键 1:SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_U ...

    SQL查找数据库中所有没有主键的数据表脚本

    --SQL查找数据库中所有没有主键的数据表脚本 --运行脚本后在消息中可能会显示下面现象中的一种:--(1)数据库中所有数据表都有主键(则证明所有数据表都有主键)--(2)当前数据表[数据表名]没有主 ...

    Oracle中给表主键、外键收集

    1.创建表的同时创建主键约束 (1)无命名 create table student ( studentid int primary key not null, studentname varchar ...

    MySQL中innodb表主键设计原则

    主键设计的原则:1. 一定要显式定义主键2. 采用与业务无关的单独列3. 采用自增列4. 数据类型采用int,并尽可能小,能用tinyint就不用int,能用int就不用bigint5. 将主键放在表 ...

    在数据库中如果组合主键(假设为stuID和stuName)存在则更新,不存在则新增

    这是今天在项目中遇到的问题,后来查了一下,有的网友说可以用存储过程,但自己现在还不会用,所以下记载下来,做为学习存贮过程的引子. 现在是在java中实现了这个if的逻辑,

    c#中动态创建textbox并且从数据库中获取表中数据添加到textbox中

    private void FormLugOther_Load(object sender, EventArgs e) { foreach (string str in FormLug.FieldLis ...

    通过jdbc获取数据库中的表结构 主键 各个表字段类型及应用生成实体类

    http://www.cnblogs.com/lbangel/p/3487796.html 1.JDBC中通过MetaData来获取具体的表的相关信息.可以查询数据库中的有哪些表,表有哪些字段,字段的 ...

    两种获取MySql数据库中所有表的主键和外键约束信息的Sql语句

    最近在写Rafy底层的一些东西,在数据库方面把MySql数据库集成到里面去,里面有一个需求,需要获取非系统数据库,也就是我们自己建立的数据库中所有表的主键和外键元数据列表. 第一种方法:是网上的方法, ...

    Spring中获取数据库表主键序列

    在程序开发中,我们经常有写数据库表的操作,数据表中经常带有主键自增序列,如何获取自增序列.spring中提供了相应的类 DataFieldMaxValueIncrementer. DataFieldM ...

    随机推荐

    JS 传值 传址

    在JS中,有两种不同的方式可以操作数据的值,这两种技术分别叫做 传值 和 传址. 传值:在赋值过程中,首先对值进行了一份拷贝,而后将这份拷贝存储到一个变量.对象属性或数组元素中.拷贝的值和原始的值是完 ...

    Myeclipse右键新建项目突然变的很少

    额,很是焦躁,最后在界面的右上方点Myeclipse Java enterprise变回原来模样

    [python]闭包到底是什么鬼?

    这些东西是我在慕课网,廖雪峰大神的python课中学到的.自己写成笔记的形式分享给大家. 先来看一段代码: def f1(x): return x*x def new_fn(f): def fn(j) ...

    【Android测试】【第五节】LogCat——命令行

    ◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4684123.html 前言 上一篇将的是如果在eclips ...

    夺命雷公狗—angularjs—18—angularjs的事件

    对于一款前端框架,提起事件,很容易让人联想到DOM事件,比如说鼠标点击以及页面滚动等.但是我们这里说的angular中的事件和DOM事件并不是一个东西. 事件的发布 我们可以通过 $emit() 以及 ...

    Windows Server 2008修改远程桌面连接数

    服务器安装了Windows Server 2008,现在要增加远程连接,开启服务器上的远程桌面连接,使用管理员账户远程登录.默认情况下Windows Server 2008允许一个连接数,一个账号最大 ...

    C#winform程序自定义鼠标样式

    public void SetCursor(Bitmap cursor, Point hotPoint) { int hotX = hotPoint.X; int hotY = hotPoint.Y; ...

    搞定python多线程和多进程

    1 概念梳理: 1.1 线程 1.1.1 什么是线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发 ...

    Python简单小程序练习

    1.九九乘法表 #!/usr/bin/python for i in range(1,10): for j in range(i): j += 1 print ("%d * %d = %-2 ...

    IDEA开发工具的学习

    1.设置jdk的版本 ,快捷键:ctrl + shirt +alt + s 打开项目的设置,选择Project 进行 jdk版本的设置. 2.鼠标移到项目上,右键,Show in Explorer 定 ...

    展开全文
  • postgresql 数据库查找主键

    千次阅读 2020-05-12 14:39:59
    t = TOAST, v = 视图, m = 物化视图, c = 组合类型, f = 外部, p = 分区, I = 分区索引 and c.relkind IN ('r','p','m','f','') and n.nspname <> 'pg_catalog' and n.nspname <> '...
  • PostgreSQL 查看结构、主键(多个)

    千次阅读 2018-10-11 15:17:16
    在网上查阅的资料都只能查出一张的一个主键(我的数据库有些是多个主键维护的),最后还是把不同的解决方法组合起来,解决了既能查看结构,也能查看多个主键。下面是SQL语句: SELECT  A.ordinal_position, ...
  • PostgreSQL数据库测试环境...首先是怎么找到PostgreSQL数据库中哪些没有主键?我们看下pg_class这个,里面有个relhaspkey字段,如果为t说明有主键,f即没有主键。例如下面这个sql 。SELECTn.nspnameAS"Schema",c...
  • 以下sql语句 用来显示PostgreSQL 结构 包括 字段名称、字段类型、是否为主键 这些信息select pg_constraint.conname as pk_name from pg_constraint inner join pg_class on pg_constraint.conrelid = pg_...
  • postgresql 不设置主键问题

    千次阅读 2018-11-22 10:51:58
    postgresql 使用pgadmin不能修改无主键数据,navicat 在批量复制数据时,也会因为表格没有主键导致多行数据覆盖,和复制失败等情况,当前使用insert语句是没有问题的 ) 实在是想不明白当时哪位大...
  • 通常navicat中对mysql主键自增直接客户端指定即可,不过对PG貌似不支持客户端指定,所以需要执行sql。 如果没有创建: 法一: create table test_a( id serial, name character varying(128), constraint ...
  • 我的版本是 PostgreSQL 10.4 on x86_64-pc-mingw64, compiled by gcc.exe (Rev5, Built by MSYS2 project) 4.9.2, 64-bit1、查看版本select version();2、获取数据库中所有view名 视图:SELECT viewnameFROM pg_...
  • 查询数据库中没有创建主键 SELECT pg_class.relname,pg_constraint.conname AS pk_name FROM pg_class left JOIN pg_constraint ON pg_constraint.conrelid = pg_class.oid AND pg_constraint.contype = 'p' WH
  • Postgresql查询表字段及约束的SQL(只能显示当前数据库下的所有模式和表,不同数据库实例需要各自连接并查询) select ns.nspname, cl.relname as table_name, cast(obj_description(cl.relfilenode,'pg_class') ...
  • PostgreSql 查询表结构和说明

    千次阅读 2019-09-24 11:33:50
    主键约束, ( case when ( select count ( * ) from pg_constraint where conrelid = a.attrelid and conkey [ 1 ] = attnum and contype = ' u ' ) > 0 then ' Y ' else ' N ' end ) as...
  • pg PostgreSQL 查询全部备注以及全部字段的备注查询所有名称以及字段含义查看所有表名查看表名和备注查看特定表名备注查看特定名字段 查询所有名称以及字段含义 select c.relname 表名, cast ( obj_...
  • postgresql主键自增

    2021-11-20 07:03:46
    2、postgresql创建表语句如下:3、postgresql向表中插入数据4、postgresql查询表中数据以上查询验证自增关键字SERIAL是可用的二、修改menu表id字段为主键自增1、在PostgreSQL当中,我们实现ID...
  • postgresql12查询表名、备注及字段、长度、是否可控、是否主键等信息获取表名及备注sql获取指定的字段名称、长度、是否为空、是否主键等信息 备注:sql确定有效版本为pgsql12,其他版本未测试,网上很多博客的查询...
  • 是用来查询PG中,主被子引用的外键,或子引用了哪个主主键。 废话不多说,直接上实验! CentOS 7 + PG 10 创建两个实验,test01为主,test02为子,test02引用test01中的id列。 1 2 3 4 5 6 7 8 ...
  • as 主键约束, (case when (select count(*) from pg_constraint where conrelid = a.attrelid and conkey[1]=attnum and contype='u')>0 then 'Y' else 'N' end) as 唯一约束, (case when (select count(*) from pg_...
  • PostgreSQL - 查询表结构和索引信息

    万次阅读 2018-11-19 23:38:45
    PostgreSQL的表一般都是建立在public这个schema下的,假如现在有个数据表t_student,可以用以下几种方式来查询表结构和索引信息。 使用\d元命令查看表字段信息和索引信息 在cmd界面使用psql连接db后,输入\d加上表名...
  • 在使用postgresql数据库,已经创建之后,设置主键自增直接运行如下sql语句: sys_log_info 是我的表名; id 是表格中的主键 sys_log_info_id是我设置的主键自增序列的名称; START WITH 设置初始值; INCREMENT BY...
  • 是用来查询PG中,主被子引用的外键,或子引用了哪个主主键。 废话不多说,直接上实验!   ============================================= CentOS 7 + PG 10 创建两个实验,test01为主,test02...
  • PostgreSQL 10 版本虽然支持创建范围分区和列表分区,但创建过程依然比较繁琐,需要手工定义子索引、主键,详见 PostgreSQL10:重量级新特性-支持分区PostgreSQL 11 版本得到增强,在父上创建索引、主键...
  • 在做SQL开发的过程中,可能需要获取所有主键信息,此时就需要用到SQL Server中的系统进行多联查,获取数据的相关信息。
  • Postgresql主键添加自增

    2021-05-20 16:25:05
    2---设计表主键那行,字段默认值里设置填充规则为serial: nextval('serial'::regclass) 二、会报错:修改库中自增值匹配 出现的原因是: 以gdline表为列子.id是唯一的且id在数据库中是自增的. 而现在数据库中存在...
  • postgresql建立主键序列

    2020-07-01 16:12:35
    postgresql数据库与mysql有所区别,在为数据的id字段配置自增的时候,需要先建立主键序列才 可以使id字段达到自增的效果,使用navicat设置主键序列 设置主键序列的操作如下 1、 表格id字段,设置主键...
  • postgresql 获取字段名,字段类型,长度,主键,非空,默认值代码效果 代码 select c.relname as 表名, a.attname as 列名, (case when a.attnotnull = true then true else false end) as 非空, (case ...
  • PostgreSql 获取所有的、视图、字段、 主键等信息

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 15,356
精华内容 6,142
关键字:

postgresql查询表的主键