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

postgresql中的ctid解讀

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

postgresql中的ctid

ctid表示

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

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

查看ctid

示例如下:

mydb=# select ctid,id from t1 ;

 ctid  | id

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

 (0,1) | 10

 (0,2) | 11

(2 rows)

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

示例如下:

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

  ctid  | id

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

 (0,11) | 19

(1 row)

利用ctid可以刪除一個(gè)表中的重復(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é)

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

相關(guān)文章

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

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

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

    PostgreSQL自動(dòng)更新時(shí)間戳實(shí)例代碼

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論