当前位置: 首页 > 面试题库 >

如何通过plpgsql从Postgres获取表的主键?

太叔凌龙
2023-03-14
问题内容

给定一个表名,如何从plpgsql函数中提取主键列及其数据类型的列表?


问题答案:

上面的查询非常糟糕,因为它确实很慢。

我会推荐这个正式版本:

http://wiki.postgresql.org/wiki/Retrieve_primary_key_columns

如果需要模式,查询如下

SELECT               
  pg_attribute.attname, 
  format_type(pg_attribute.atttypid, pg_attribute.atttypmod) 
FROM pg_index, pg_class, pg_attribute, pg_namespace 
WHERE 
  pg_class.oid = 'foo'::regclass AND 
  indrelid = pg_class.oid AND 
  nspname = 'public' AND 
  pg_class.relnamespace = pg_namespace.oid AND 
  pg_attribute.attrelid = pg_class.oid AND 
  pg_attribute.attnum = any(pg_index.indkey)
 AND indisprimary


 类似资料:
  • 问题内容: 我的代码如下: rs 总是返回时不是null ,有人对此有想法吗?谢谢。 问题答案: 元数据接口实现由驱动程序供应商实现。某些驱动程序和某些数据库可能不支持它。这是来自Javadoc的文本:一些DatabaseMetaData方法以ResultSet对象的形式返回信息列表。常规的ResultSet方法(例如getString和getInt)可用于从这些ResultSet对象检索数据。如

  • 问题内容: 有没有办法从mysql-database获取主键字段的名称?例如: 我有一张这样的桌子: 其中字段ID是主键(它具有自动递增功能,但我不能使用它)。如何在php中检索字段名称“ id”? 问题答案: 一种更好的方法是使用,因为您并不总是可以访问information_schema。以下作品: Column_name将包含主键的名称。

  • 我在servlet里有一段代码 我有一个ajax代码 我有一个jsp代码 如何通过ajax将servlet中list的值分配给jsp中的allProduct

  • 问题内容: 我从字符串定义一个新的gson对象: 此处的字符串示例:http : //api.soundrop.fm/spaces/XJTt3mXTOZpvgmOc 然后尝试返回一个值: 最后用: 但是我得到一个错误: 完整班:主班:http : //pastebin.com/v4LrZm6k 无线电班:http : //pastebin.com/2BWwb6eD 问题答案: 这是Java。字段根

  • 问题内容: 我试图用来获取Chrome标签,如下所示: (伪代码) 按F6定向网址行。 Ctrl + C复制网址 从剪贴簿获取网址 通过BS4处理URL,请求,selenium等。 我完成了步骤1并停留在步骤2。同样,我也不知道如何处理步骤3。因此,认为我发现的方法不正确且效率不高。有人可以建议我应该做什么或给我更好的方法吗? 问题答案: 只是将所有评论汇总在一个答案中… 没有技巧和剪贴板抓取功能

  • 我正在尝试从特定目录中的google工作表列表(大约570个工作表)中删除多余的行和列(已知范围)。 我能够使用google drive API获取电子表格Id。但是,修改页面的尺寸需要图纸Id。 我无法找到通过驱动器API(文件属性)检索此工作表ID的方法,也无法找到任何关于如何在电子表格中列出可用工作表的留档,因为我有电子表格ID。 我尝试使用谷歌应用程序脚本来达到我的目标,但运行时间已经超过