欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

postgresql中的ctid解讀

 更新時間:2023年11月28日 09:54:50   作者:瀚高PG實驗室 (Highgo PG Lab)  
這篇文章主要介紹了postgresql中的ctid使用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

postgresql中的ctid

ctid表示

數(shù)據(jù)行在它所處的表內(nèi)的物理位置,ctid字段的類型是tid。

盡管ctid可以快速定位數(shù)據(jù)行,每次vacuum full之后,數(shù)據(jù)行在塊內(nèi)的物理位置就會移動,即ctid會發(fā)生變化,所以ctid不能作為長期的行標(biāo)識符,應(yīng)該使用主鍵來標(biāo)識一個邏輯行。

查看ctid

示例如下:

mydb=# select ctid,id from t1 ;

 ctid  | id

-------+----

 (0,1) | 10

 (0,2) | 11

(2 rows)

由上可知,ctid由兩個數(shù)字組成,第一個數(shù)字表示物理塊號,第二個數(shù)字表示在物理塊中的行號。tid類型可以使用字符串輸入,如想查詢表t1中0號物理塊中第11行內(nèi)容,

示例如下:

mydb=# select ctid,id from t1 where ctid='(0,11)';

  ctid  | id

--------+----

 (0,11) | 19

(1 row)

利用ctid可以刪除一個表中的重復(fù)數(shù)據(jù),

例如表t1有以下數(shù)據(jù)

mydb=# select id,count(*) from t1 group by id;

 id | count

----+-------

 34 |     2

 43 |     2

 25 |     2

 32 |     2

 12 |     1

  1 |     1

 10 |     1

 26 |     2

 42 |     2

 11 |     1

 18 |     1

 16 |     1

 39 |     2

 54 |     2

 47 |     2

 13 |     1

 49 |     2

 22 |     3

 24 |     2

 14 |     1

 45 |     2

 46 |     2

 27 |     2

 48 |     2

 55 |     2

 17 |     1

 28 |     2

 36 |     2

 15 |     1

 38 |     2

 30 |     2

 50 |     2

 33 |     2

 40 |     2

 56 |     2

 53 |     2

 19 |     1

 29 |     2

 21 |     1

 57 |     2

 51 |     2

 23 |     2

 41 |     2

 31 |     2

 35 |     2

 52 |     2

 20 |     1

 44 |     2

 37 |     2

(49 rows)

刪除重復(fù)數(shù)據(jù)的SQL為:

mydb=# delete from t1 a where a.ctid <>(select min(b.ctid) from t1 b where a.id=b.id);

DELETE 37

mydb=# select id,count(*) from t1 group by id;

 id | count

----+-------

 34 |     1

 43 |     1

 25 |     1

 32 |     1

 12 |     1

  1 |     1

 10 |     1

 26 |     1

 42 |     1

 11 |     1

 18 |     1

 16 |     1

 39 |     1

 54 |     1

 47 |     1

 13 |     1

 49 |     1

 22 |     1

 24 |     1

 14 |     1

 45 |     1

 46 |     1

 27 |     1

 48 |     1

 55 |     1

 17 |     1

 28 |     1

 36 |     1

 15 |     1

 38 |     1

 30 |     1

 50 |     1

 33 |     1

 40 |     1

 56 |     1

 53 |     1

 19 |     1

 29 |     1

 21 |     1

 57 |     1

 51 |     1

 23 |     1

 41 |     1

 31 |     1

 35 |     1

 52 |     1

 20 |     1

 44 |     1

 37 |     1

(49 rows)

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Postgresql數(shù)據(jù)庫角色創(chuàng)建登錄詳解

    Postgresql數(shù)據(jù)庫角色創(chuàng)建登錄詳解

    這篇文章主要為大家介紹了Postgresql數(shù)據(jù)庫角色創(chuàng)建登錄詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • PostgreSQL自動更新時間戳實例代碼

    PostgreSQL自動更新時間戳實例代碼

    最近有這么一個工程,需要使用postgresql數(shù)據(jù)庫,在數(shù)據(jù)庫中的好幾個表中都需要時間戳這個字段,這篇文章主要給大家介紹了關(guān)于PostgreSQL自動更新時間戳的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • postgresql限制某個用戶僅連接某一個數(shù)據(jù)庫的操作

    postgresql限制某個用戶僅連接某一個數(shù)據(jù)庫的操作

    這篇文章主要介紹了postgresql限制某個用戶僅連接某一個數(shù)據(jù)庫的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • PostgreSQL數(shù)據(jù)庫如何定期清理歸檔(pg_wal)日志

    PostgreSQL數(shù)據(jù)庫如何定期清理歸檔(pg_wal)日志

    在?般的?產(chǎn)環(huán)境中,數(shù)據(jù)庫都需要開啟歸檔模式,下面這篇文章主要給大家介紹了關(guān)于PostgreSQL數(shù)據(jù)庫如何定期清理歸檔(pg_wal)日志的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-05-05
  • postgresql 中的時間處理小技巧(推薦)

    postgresql 中的時間處理小技巧(推薦)

    這篇文章主要介紹了postgresql 中的時間處理小技巧(推薦),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • PostgreSQL中查看當(dāng)前時間和日期的幾種常用方法

    PostgreSQL中查看當(dāng)前時間和日期的幾種常用方法

    在 PostgreSQL 中,有多個函數(shù)可以用來查看當(dāng)前時間和日期,這些函數(shù)在處理時間戳、日期和時間的計算時非常有用,以下是幾種常用的查看當(dāng)前時間和日期的函數(shù)及示例,需要的朋友可以參考下
    2024-10-10
  • PostgreSQL基礎(chǔ)知識之SQL操作符實踐指南

    PostgreSQL基礎(chǔ)知識之SQL操作符實踐指南

    這篇文章主要給大家介紹了關(guān)于PostgreSQL基礎(chǔ)知識之SQL操作符實踐的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用PostgreSQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • psql 執(zhí)行文件 permission denied的解決

    psql 執(zhí)行文件 permission denied的解決

    這篇文章主要介紹了psql 執(zhí)行文件 permission denied的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • postgresql減少wal日志生成量的操作

    postgresql減少wal日志生成量的操作

    這篇文章主要介紹了postgresql減少wal日志生成量的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 解決PostgreSQL Array使用中的一些小問題

    解決PostgreSQL Array使用中的一些小問題

    這篇文章主要介紹了解決PostgreSQL Array使用中的一些小問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01

最新評論