PostgreSQL bigserial 和 nextval

2024-03-27

我有一个 PgSQL 9.4.3 服务器设置,之前我只使用公共模式,例如我创建了一个如下表:

CREATE TABLE ma_accessed_by_members_tracking (
    reference bigserial NOT NULL,
    ma_reference bigint NOT NULL,
    membership_reference bigint NOT NULL,
    date_accessed timestamp without time zone,
    points_awarded bigint NOT NULL
);

使用 Windows 程序 PgAdmin III,我可以看到它创建了正确的信息和序列。

不过,我最近在同一个数据库中添加了另一个名为“test”的模式,并创建了完全相同的表,就像以前一样。

然而这次我看到:

CREATE TABLE test.ma_accessed_by_members_tracking
(
  reference bigint NOT NULL DEFAULT nextval('ma_accessed_by_members_tracking_reference_seq'::regclass),
  ma_reference bigint NOT NULL,
  membership_reference bigint NOT NULL,
  date_accessed timestamp without time zone,
  points_awarded bigint NOT NULL
);

我的问题/好奇心是为什么public架构reference shows bigserial但在test schema reference shows bigint with a nextval?

两者都按预期工作。我只是不明白为什么模式的差异会显示不同的表创建。我意识到 bigint 和 bigserial 允许使用相同数量的整数。


只是符号上的方便

根据有关串行类型的文档 http://www.postgresql.org/docs/current/static/datatype-numeric.html#DATATYPE-SERIAL, smallserial, serial, and bigserial不是真正的数据类型。相反,它们是一种同时创建两者的符号sequence http://www.postgresql.org/docs/current/static/sql-createsequence.html和列默认值 http://www.postgresql.org/docs/current/static/ddl-default.html指向该序列。

我在架构上创建了测试表public。命令psql \d shows bigint列类型。也许这是 PgAdmin 行为?

Update

我检查了 PgAdmin 源代码。功能中pgColumn::GetDefinition()它扫描表pg_depend对于自动依赖,当找到它时 - 替换bigint with bigserial模拟原始表创建代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSQL bigserial 和 nextval 的相关文章

  • PostgreSQL 索引使用分析

    是否有工具或方法可以分析 Postgres 并确定应创建哪些缺失的索引 以及应删除哪些未使用的索引 我在使用 SQLServer 的 分析器 工具执行此操作方面有一些经验 但我不知道 Postgres 中是否包含类似的工具 我喜欢这样来查找
  • 数据库镜像/Postgres流复制

    我不是 DBA 我是基于企业数据库的应用程序的主要开发人员 我目前正在指定一些新机器来升级我们现有的企业数据库 目前 我们在 DR 站点上运行带有数据库的 Postgres 8 4 该数据库通过前员工执行的一些自定义 rsync 工作定期接
  • PostgreSQL 计数查询、物化视图的效率[重复]

    这个问题在这里已经有答案了 可能的重复 PostgreSQL 计数查询优化 https stackoverflow com questions 13075210 optimization of count query for postgre
  • Postgis安装:类型“几何”不存在

    我正在尝试使用 Postgis 创建表 我按这个做page http postgis refractions net documentation manual 1 5 ch02 html id2619431 但是当我导入 postgis s
  • 使用 pyspark 连接 PostgreSQL

    我正在尝试使用 pyspark 连接到数据库 并且使用以下代码 sqlctx SQLContext sc df sqlctx load url jdbc postgresql hostname database dbtable SELECT
  • Django 全文搜索优化 - Postgres

    我正在尝试利用 Django v2 1 和 Postgres 9 5 创建一个地址自动完成功能的全文搜索 但性能目前不适合自动完成 我不明白逻辑我得到的绩效结果背后 就信息而言 该表相当大 有 1400 万行 我的型号 from djang
  • PostgreSQL 对 string\varchar 的各种清理

    我必须通过以下方式清理一些 varchar 删除特殊字符 例如 来自封闭列表 我已经成功地通过大量使用replace regexp replace来做到这一点 但我正在寻找类似于SQL Server中的东西 删除以下数字但不删除相邻的数字含
  • 如何检查 postgres 的 psql 是否自动提交

    我使用的是 postgres 9 5 如何检查自动提交是否打开或关闭 我试过SHOW AUTOCOMMIT我在哪里得到的ERROR unrecognized configuration parameter autocommit 然后我做了一
  • PostgreSQL 触发器不返回任何内容

    我在创建时有一个 PostgreSQL 触发器 它基本上将插入重定向到子表中 插入记录后 我想中止请求以避免重复数据 据我所知 执行此操作的唯一方法是返回NULL在触发器中 问题是我需要返回记录才能获取 ID 如果我回来NULL 我得到 N
  • “psycopg2 的构建轮子失败” - 使用 virtualenv 和 pip 的 MacOSX

    我第一次尝试与其他几个人一起制作一个网站 在尝试使用 Django Python VirtualEnv 时遇到了一个奇怪的错误 我已经找到了针对其他操作系统 例如 Ubuntu 的此问题的解决方案 但找不到针对 Mac 的任何好的解决方案
  • 如果数组重叠,则折叠多行数组

    我在 PostgreSQL 9 3 中有一个表 其中包含一个列 每行包含一个数组 我正在努力寻找崩溃的方法 共享相同元素的数组行 Examples 简单重叠 给定以下两行数组 1 2 3 5 3 6 9 结果将是一行包含 5 1 2 3 6
  • php postgresql pdo 从标准输入复制

    COPY table name field1 field2 field3 FROM STDIN CSV 1 2 q w 3 4 a s 5 6 d 如何通过 PDO 执行此查询 Update 问题是 PDO 驱动程序将此查询作为语句执行 例
  • PostgreSQL 中的逆透视表

    我有下表作为 SUM Case End 的结果 Account Product A Product B Product C 101 1000 2000 3000 102 2000 1000 0 103 2000 1000 0 104 200
  • 更改 IdentityServer4 实体框架表名称

    我正在尝试更改由 IdentityServer4 的 PersistedGrantDb 和 ConfigurationDb 创建的默认表名称 并让实体框架生成正确的 SQL 例如 而不是使用实体IdentityServer4 EntityF
  • postgreSQL 将分区表(带插入触发器)从一台服务器转储和恢复到另一台服务器

    尝试将分区表从一台服务器转储到 PostgreSQL 9 4 5 中的另一台服务器 对 postgres 相当陌生 并继承了该项目 如果需要更多背景信息 请告诉我 dbname gt SELECT COUNT id FROM parent
  • 从 postgres 表中提取 json 数组给出错误:无法从标量中提取元素

    通过使用jsonb array elements 提取出来的函数jsonb来自 Postgres 的数据数组 它给出了错误 无法从标量中提取元素 我认为这是因为NULL在返回调用中 添加了NULL检查状况但不工作 任何帮助表示赞赏 sele
  • 查询 Postgres 9.6 JSONB 对象数组

    我有下表 CREATE TABLE trip id SERIAL PRIMARY KEY gps data json jsonb NOT NULL gps data json 中的 JSON 包含一个行程对象数组 其中包含以下字段 示例数据
  • 具有 JPA、PostgreSQL 和 NULL 值的 JodaTime

    我试图将 JPA 的 JodaTime DateTime 字段保留到 PostgreSQL 但遇到了指向数据库 NULL 值的空指针的问题 我正在使用 NetBeans 7 beta 2 IDE 持久性实现是 EclipseLink 2 2
  • 如何在查询中生成序列号?

    我们使用 PostgreSQL v8 2 3 如何在查询输出中生成序列号 我想显示查询返回的每一行的序列号 例子 SELECT employeeid name FROM employee 我希望生成并显示从一开始的每一行的序列号 你有两个选
  • 设置约束可延迟在 PostgreSQL 事务上不起作用

    情况是这样的 我有两个表 其中一个引用另一个 例如 table2 引用 table1 创建这些表时 我确实将外键约束设置为 DEFERRABLE 将 ON UPDATE 和 ON DELETE 子句设置为 NO ACTION 这是默认值 但

随机推荐

  • 传输到 ClientDataset 时的字符串截断

    我正在使用 Firebird 2 1 DevArt 的 DBExpress 驱动程序和 Delphi 2010 我的一些用于 Delphi 2006 的报告停止工作并生成一条错误消息 指示发生了 算术异常 数字溢出或字符串截断 我的代码此时
  • 如何从 Windows 客户端应用程序使用 openAuth?

    我正在考虑将公共 api 集成到现有的 Windows 窗体应用程序中 该 API 需要 openAuth 身份验证 我见过的所有例子都是基于网络的应用程序 如何在客户端应用程序上使用 openAUth thanks 这不是最容易解释的事情
  • 创建跨容器选项卡索引

    我面临着一个似乎无法解决的小问题 问题是在 WinForm 中我有几个容器 TabControls Panels 控件中的 Tab 键顺序工作正常 当然 但现在客户要求更改 taborder 从第一个容器 当前 tabindex 0 0 1
  • 如何创建所有子类的实例

    我有超过 250 个子类需要由它们组成的实例 我不能坐在那里羞涩地粘贴new Class 250次 是否有使用反射来创建类的实例 创建实例时不需要构造函数 谢谢 我真的不明白你的意思 但我尝试猜测 未测试 public class Test
  • 参数“samples”的预期哈希值(获取数组)

    我一直在关注 Railscasts 的嵌套形式和复杂形式的剧集 在以单个表单创建多个模型的过程中 我能够编辑 更新 删除和创建嵌套在批处理模型中的示例模型的记录 我很长时间以来一直在绞尽脑汁 也尝试四处寻找 但找不到任何正确的解决方案来解决
  • 如何离线存储密码

    虽然这是针对Windows Phone 7的 但我想这个原理是通用的 我想在我的应用程序中设置一个密码保护区 但是 我的应用程序完全离线 因此我必须在手机上存储凭据详细信息 我最初的想法是存储密码和盐的哈希值 这是最好的方法吗 如果是这样
  • 更改特定索引而不在 Vuejs 中重新渲染整个数组

    In a Vuejs项目 我有一个array in my 数据对象并将其呈现在视图中v for指示 现在 如果我更改该数组中的特定索引 Vue 会在视图中重新渲染整个数组 有没有办法在不重新渲染整个数组的情况下查看视图的变化 这个问题背后的
  • 如何处理 JSON 字符串中的 unicode 值?

    我正在用 C 编写 JSON 解析器 在解析 JSON 字符串时遇到问题 JSON 规范规定 JSON 字符串可以包含以下形式的 unicode 字符 here comes a unicode character u05d9 我的 JSON
  • 如何获取要执行的 PTX 文件

    我知道如何生成 ptx文件来自 cu以及如何生成 cubin文件来自 ptx 但我不知道如何获得最终的可执行文件 更具体地说 我有一个sample cu文件 编译为sample ptx 然后我使用 nvcc 来编译sample ptx to
  • 如何在Oracle中查找模式名称?当您使用只读用户连接到 SQL 会话时

    我使用只读用户连接到 Oracle 数据库 并且在 sql Developer 中设置连接时使用了服务名称 因此我不知道 SID 架构 如何找到我连接到的架构名称 我正在寻找这个 因为我想要生成 ER 图 https stackoverfl
  • 按方案中的第一个元素对列表列表进行排序

    例如 我正在研究按第一个元素对列表列表进行排序 排序 列表 2 1 6 7 4 3 1 2 4 5 1 1 预期输出 gt 1 1 2 1 6 7 4 3 1 2 4 5 我使用的算法是冒泡排序 我修改了它来处理列表 但是 该代码无法编译
  • jQuery Mobile 范围滑块响应不够灵敏

    各位互联网界的好心人 大家好 我正在尝试使用 jQuery Mobile 滑块 范围 虽然它们工作得相当好并且在桌面浏览器上响应良好 但它们似乎在实际手机 例如 Android 与互联网网页交互时 Android 上使用触摸屏的滑块交互非常
  • Facebook SDK:ApiException:代理应用程序在未事先安装的情况下无法请求发布权限

    我正在努力使用 Android facebook SDK 3 5 riigth ow 我的账户一切都很完美 现在我把这个应用程序给了我的一个朋友 当他登录时 他并没有因为这个失败而被卡住 ApiException The proxied a
  • Azure 表存储将数据导出到 SQL 的平面或 XML 文件

    I am looking for capability to Export data from SQL Azure Azure Table Storage to Some Flat file or XML file so that we c
  • 如何将我的表单放在 css/html 中的图像之上?

    开发者们好 我想问一下如何才能让我的表单出现在我的图片之上 问题是我的表格出现在底部 这是我的屏幕截图 这是我的代码 HTML div class container align center div img src assets img
  • Fabric 不断要求输入密码

    我有 fab 文件 其中包含 env hosts localhost env user code env password searce def mk dirtree sudo mkdir s PROJECT DIR sudo chown
  • Java中int是如何实现的?

    根据文档Integer class Integer 类将基本类型 int 的值包装在对象中 Integer 类型的对象包含一个类型为 int 的字段 和文档int 默认情况下 int 数据类型是 32 位有符号二进制补码整数 其最小值为 2
  • 在组件安装之前反应设置滚动位置

    我有下面的反应组件 它本质上是一个聊天框 render const messages this props messages return div h1 this props project 0 project h1 div div div
  • 如何在 XCode4 中复制项目目标

    我想为测试环境创建一个具有不同捆绑 ID 的目标 我尝试使用 复制 功能来克隆目标并更改捆绑 ID 发现原始目标也发生了更改 感谢您的任何提示 更新 解决复制目标后的链接错误 这是一个xcode bug 搜索路径中的引号字符 更改为 目标的
  • PostgreSQL bigserial 和 nextval

    我有一个 PgSQL 9 4 3 服务器设置 之前我只使用公共模式 例如我创建了一个如下表 CREATE TABLE ma accessed by members tracking reference bigserial NOT NULL