PostgreSQL - 按存储顺序检索项目

2023-12-13

各位,我有下表:

CREATE TABLE IF NOT EXISTS users(
 userid           CHAR(100)         NOT NULL,
 assetid          text              NOT NULL,
 date             timestamp         NOT NULL,
 PRIMARY KEY(userid, assetid)
);

在我运行一些插入查询后,例如:

INSERT INTO users (userid, assetid, date) VALUES ( foo, bar, now() );

我想检索记录,以便它们存储在数据库中。但是,我似乎没有按顺序取回记录。

我应该如何修改我的检索语句?

SELECT * FROM users WHERE userid=foo;

我希望结果按照存储顺序进行排序:)

Thanks!


为了扩展 Mark 的正确答案,PostgreSQL 不保留行时间戳,也不按任何特定顺序保留行。除非您使用包含插入时间戳的列定义表,否则无法按照插入顺序选择它们。

PostgreSQL 通常会按照它们插入的顺序返回它们,但这只是因为它们在磁盘上恰好按照这个顺序。这会随着你的改变而改变update放在桌子上,或者deletes然后稍后inserts。类似的操作vacuum full也改变它。如果没有明确的指示,您永远不应该依赖该命令order by clause.

另外,如果您希望事务中的行的插入时间戳不同,您可以使用clock_timestamp代替now()。另外,请使用 SQL 标准current_timestamp而不是写作now().

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

PostgreSQL - 按存储顺序检索项目 的相关文章

  • 为 Rails 上的 postgresql 创建用户

    我选择 postgresql 作为我的 Rails 数据库 但当我尝试运行 rake db create all 时 我遇到了一个明显常见的错误 即 致命 角色 app 不存在 我找到了两种解决方案 但我不确定哪一种是正确的 有一个网站说
  • 从postgresql中的jsonb嵌套数组中删除键值对

    我有 jsonb 数据作为 a b 1 c 2 d 3 b 4 c 5 d 6 g b 1 c 2 d 3 b 4 c 5 d 6 我想从 a 和 g 键的嵌套数组中删除 c 键 是否有一个查询可以执行此操作 SELECT jsonb ob
  • Supabase 客户端权限被拒绝,模式为 public

    每当我尝试使用 supabase supabase js 查询数据库时 都会收到错误 error hint null details null code 42501 message permission denied for schema
  • 与 iexact 一起使用时,Django get_or_create 无法设置字段

    我想用name iexact with get or create尽可能避免用户输入字段的重复 我的提供者模型有一个名称字段 我在其中使用get or create 查找工作正常 但在第一次创建实例时 如下面的 p1 Timber 示例 名
  • PostgreSQL ST_AsMVT 到 VectorTiles 到 Leaflet 层

    我正在尝试从 PostgreSQL 数据库创建矢量切片 并通过 Flask 将它们提供给 Leaflet 地图 我已经关注了这个medium com 文章 https medium com tantotanto vector tiles p
  • PostgreSQL 位图堆扫描索引非常慢,但仅索引扫描很快

    我创建了一个包含 43kk 行的表 并用值 1 200 填充它们 因此 表中每个数字大约为 220k create table foo id integer primary key val bigint insert into foo se
  • 在 Apache Airflow 中实施 Postgres Sql

    我在 Ubuntu 版本 18 04 3 服务器上实现了 Apache Airflow 当我设置它时 我使用了 sql lite 通用数据库 这使用了顺序执行器 我这样做只是为了玩玩并习惯这个系统 现在我正在尝试使用本地执行器 并且需要将我
  • 如何将线串分割成单独的线段?

    我是 PostGIS 新手 我有一组 数千个 线串和沿线关联的多个点 我想将每条线分成一组仅由 2 个点组成的线段 我找到了一些答案 但没有一个是我想要的答案 例如https gis stackexchange com questions
  • 哪个数据库对复制的支持最好

    我对 MySQL 复制的功能有相当好的感觉 我想知道还有哪些其他数据库支持复制 以及它们与 MySQL 和其他数据库相比如何 我的一些问题是 复制是内置的还是附加组件 插件 复制是如何工作的 高级 MySQL 提供基于语句的复制 5 1 中
  • 如何查询 JSON 元素

    假设我有一个 Postgres 数据库 9 3 并且有一个名为Resources 在里面Resources表我有字段id这是一个 int 和data这是一个 JSON 类型 假设我在该表中有以下记录 1 firstname Dave las
  • 查找表或视图的依赖对象

    背景 在 PostgreSQL 中删除 或替换 对象时 如果存在依赖关系 则删除将失败 不指定CASCADE Problem 数据库返回的错误信息没有列出依赖对象 示例解决方案 该查询可能类似于 SELECT FROM informatio
  • psql 的备用输出格式显示每行一列以及列名

    我在 Ubuntu 上使用 PostgreSQL 8 4 我有一个带有列的表格c1通过cN 这些列足够宽 选择所有列会导致一行查询结果多次换行 因此 输出很难阅读 当查询结果仅包含几行时 如果我可以查看查询结果 使得每行的每一列都位于单独的
  • 是否可以在 postgresql 中创建触发器而不执行过程?

    我想创建一个程序 其主体为 BL 我在 SQL 中找到了相同的示例 但在 postgresql 中没有找到 每个 RDBMS 都有自己的 SQL 语言 您无法在 PostgreSQL 中创建触发器 因为您可以在 Oracle MS SQL
  • 为什么“setval()”失败并显示“关系...不存在”?

    如果您尝试设置这样的序列号 SELECT setval table ID seq SELECT max ID 1 FROM table 您可能会遇到以下错误 ERROR relation table ID seq does not exis
  • rspec 返回“PG::Error: ERROR: 关系“table_name”不存在”

    rvm rspec 2 8 0 rails 3 0 6 和 pg 0 13 2 上的环境为 REE 2011 12 在 CentOS 5 6 上使用 PostgreSQL 8 3 17 db migrate 可以正常工作 但 rspec 出
  • 减少 plpgsql 中烦人的通知

    我有一个使用临时表的函数 如果存在则必须将其删除 drop table if exists t xy create temp table t xy on commit drop as select 随后我在视图中使用这个函数 当 selec
  • 使用 START WITH 和 CONNECT BY PRIOR 将查询从 oracle 迁移到 postgresql

    我正在将一个进程从 oracle 迁移到 postgresql 并且在它们的转换方面遇到了另一个问题 我一直在研究如何迁移oracle查询 它有 START WITH 和 CONNECT BY PRIOR 我已经对此进行了记录 我认为最简单
  • 与 Postgres 的 TCP 连接安全吗?需要 SSL 吗?

    早上好 我正在浏览 Postgresql 配置文件 最近注意到有一个ssl选项 我想知道什么时候需要这样做 假设您有一个应用程序服务器和一个数据库服务器 不在专用网络内运行 如果用户尝试登录 如果未启用 SSL 应用程序服务器在查找用户密码
  • 基准测试:PostgreSQL 上的 bigint 与 int

    我想提高数据库性能 在一个项目中 所有表都来自int to bigint 我认为这不仅在存储方面是一个糟糕的选择 因为int需要4 bytes and bigint需要8 bytes 但也与性能有关 所以我创建了一个小表1000万条目 其中
  • 具有位变化的 PostgreSQL 位运算符“不能与不同大小的位字符串”

    我有一个变化的位掩码字段 我想对其执行按位与操作 PG Error ERROR cannot AND bit strings of different sizes SELECT groups FROM groups WHERE read r

随机推荐