最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PostgreSQL定時(shí)清理舊數(shù)據(jù)的實(shí)現(xiàn)方法

 更新時(shí)間:2024年03月13日 09:11:14   作者:總比一事無(wú)成的好  
最近覺(jué)得數(shù)據(jù)庫(kù)中每日數(shù)據(jù)不需要都保持,只需要保留30天的,所以這篇文章給大家介紹了PostgreSQL定時(shí)清理舊數(shù)據(jù)的實(shí)現(xiàn)方法,文中通過(guò)代碼示例和圖文給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下

前言

最近leader覺(jué)得數(shù)據(jù)庫(kù)中每日數(shù)據(jù)不需要都保持,只需要保留30天的,就讓我去研究下??邮钦娴拇螅詈蟛琶銖?qiáng)實(shí)現(xiàn),故記錄一下。

技術(shù)涉及:docker docker-conpose SQL pgadmin4 pgagent

環(huán)境說(shuō)明

我們的數(shù)據(jù)庫(kù)是部署是使用docker-conponse直接部署在服務(wù)器上的,默認(rèn)為debain。

postgre為14,所以下面默認(rèn)你已經(jīng)在docker中安裝了數(shù)據(jù)庫(kù)

1、對(duì)原來(lái)的docker—compose進(jìn)行修改

在原來(lái)的基礎(chǔ)上添加:

pgadmin: 
    container_name: pgadmin4_container 
    image: dpage/pgadmin4 
    restart: always 
    environment: 
        PGADMIN_DEFAULT_EMAIL: <admin@admin.com> PGADMIN_DEFAULT_PASSWORD: root 
    ports: - "5050:80"

添加完畢后,重啟下容器

docker-compose up -d

這個(gè)時(shí)候我們?cè)L問(wèn)下服務(wù)器ip:5050就能看到一個(gè)可視化的數(shù)據(jù)庫(kù)管理頁(yè)面

記得在postgres中添加以下sql代碼

CREATE OR REPLACE FUNCTION delete_old_data() RETURNS void AS $$
DECLARE
tbl_name record;
table_date date;
BEGIN
FOR tbl_name IN SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' AND table_name LIKE 'position_record_%' AND table_name ~ '\d{8}' LOOP
table_date := to_date(substring(tbl_name.table_name from '\d{8}'), 'YYYYMMDD');
IF table_date < current_date - 30 THEN
EXECUTE format('DROP TABLE IF EXISTS public.%I', tbl_name.table_name);
END IF;
END LOOP;
END;
$$ LANGUAGE plpgsql;

2、pgadmin基本操作

輸入賬號(hào)和密碼:admin@admin.com、root

登陸成功

(修改中文為:左上角-FILE-Preferences-User language-Chinese)

右擊Servers-創(chuàng)建-服務(wù)器

輸入對(duì)應(yīng)的ip賬號(hào)密碼,就可以看到自己的數(shù)據(jù)庫(kù)了。

3、安裝pgagent插件(重點(diǎn))

你需要進(jìn)入postgres容器、環(huán)境配置、安裝pgagent、pgagent配置

docker-compose exec pgsql bash # 進(jìn)入容器
apt-get update # 更新源
apt install vim # 安裝vim工具
vim /etc/apt/sources.list # 進(jìn)入系統(tǒng)源配置文件把原來(lái)的注釋了添加

deb <http://mirrors.aliyun.com/debian/> bullseye main deb 
<http://mirrors.aliyun.com/debian-security> bullseye-security main deb 
<http://mirrors.aliyun.com/debian> bullseye-updates main
# 修改成國(guó)內(nèi)源

apt-get update
apt install pgagent # 安裝pgagent
psql -U postgres -h localhost # 創(chuàng)建db擴(kuò)展
CREATE EXTENSION pgagent; 
\q 
exit
# 在postgres數(shù)據(jù)庫(kù)上啟用pgagent:
pgagent hostaddr=127.0.0.1 dbname=postgres user=postgres password=***** 
# 和你的docker-conpose保持一致就好

如果輸入pgagent hostaddr...指令沒(méi)有報(bào)錯(cuò)的話就安裝插件完畢了。

這個(gè)時(shí)候你再去訪問(wèn)pgadmin就可以看到

即pgagent配置完畢!

4、定時(shí)任務(wù)的開啟和清理的sql語(yǔ)句

鼠標(biāo)右擊pgAgent任務(wù)-創(chuàng)建-pgAgent作業(yè)...

輸入名稱后,點(diǎn)擊步驟

由于我是本地所以連接字符串不需要(按照你的需求來(lái)) 在代碼中添加

SELECT delete_old_data();

這個(gè)清理的具體邏輯按照你實(shí)際情況來(lái)

這樣就是一天執(zhí)行一次,按照你的需求來(lái),如果是小時(shí)為00分鐘為30,那就是到30分鐘就清理一次(一小時(shí))

點(diǎn)擊保存就好了。

這里可以看到配置的狀態(tài)

尾聲

我就是簡(jiǎn)單配置下,看看會(huì)不會(huì)生效。如果可以的話,我將把定時(shí)備份數(shù)據(jù)庫(kù)的操作也放到上面去。如果我上的有錯(cuò),也會(huì)修改。

以上就是PostgreSQL定時(shí)清理舊數(shù)據(jù)的實(shí)現(xiàn)方法的詳細(xì)內(nèi)容,更多關(guān)于PostgreSQL定時(shí)清理舊數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • PostgreSQL時(shí)間處理的一些常用方式總結(jié)

    PostgreSQL時(shí)間處理的一些常用方式總結(jié)

    PostgreSQL提供了許多返回當(dāng)前日期和時(shí)間的函數(shù),下面這篇文章主要給大家介紹了關(guān)于PostgreSQL時(shí)間處理的一些常用方式,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • PostgreSQL數(shù)據(jù)庫(kù)中匿名塊的寫法實(shí)例

    PostgreSQL數(shù)據(jù)庫(kù)中匿名塊的寫法實(shí)例

    這篇文章主要介紹了PostgreSQL數(shù)據(jù)庫(kù)中匿名塊的寫法實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • PostgreSQL限制訪問(wèn)登錄地址詳細(xì)圖文教程

    PostgreSQL限制訪問(wèn)登錄地址詳細(xì)圖文教程

    限制IP訪問(wèn)可以顯著提高數(shù)據(jù)庫(kù)的安全性,防止惡意攻擊和數(shù)據(jù)泄露,下面這篇文章主要介紹了PostgreSQL限制訪問(wèn)登錄地址的相關(guān)資料,文中通過(guò)圖文及代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-08-08
  • PostgreSql新手必學(xué)入門命令小結(jié)

    PostgreSql新手必學(xué)入門命令小結(jié)

    這篇文章主要介紹了PostgreSql新手必學(xué)入門命令小結(jié),本文講解了命令行登錄數(shù)據(jù)庫(kù)、查看幫助、常用命令等內(nèi)容,需要的朋友可以參考下
    2015-02-02
  • PostgreSQL中ANALYZE命令的使用

    PostgreSQL中ANALYZE命令的使用

    PostgreSQL中ANALYZE用于收集統(tǒng)計(jì)信息以優(yōu)化查詢,文中通過(guò)示例代碼詳細(xì)的介紹了ANALYZE使用,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-06-06
  • PostgreSQL 分區(qū)表的實(shí)現(xiàn)示例

    PostgreSQL 分區(qū)表的實(shí)現(xiàn)示例

    本文主要介紹了PostgreSQL中的分區(qū)表實(shí)現(xiàn),包括傳統(tǒng)分區(qū)表和內(nèi)置分區(qū)表兩種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-01-01
  • pgsql 變量賦值方法及注意事項(xiàng)

    pgsql 變量賦值方法及注意事項(xiàng)

    這篇文章主要介紹了pgsql 變量賦值方法及注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • Postgresql之時(shí)間戳long,TimeStamp,Date,String互轉(zhuǎn)方式

    Postgresql之時(shí)間戳long,TimeStamp,Date,String互轉(zhuǎn)方式

    這篇文章主要介紹了Postgresql中的時(shí)間戳long,TimeStamp,Date,String互轉(zhuǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • PostgreSQL修改用戶密碼的多種方式

    PostgreSQL修改用戶密碼的多種方式

    在使用PostgreSQL數(shù)據(jù)庫(kù)時(shí),忘記數(shù)據(jù)庫(kù)密碼可能會(huì)影響到正常的開發(fā)和維護(hù)工作,本文將詳細(xì)給大家介紹了PostgreSQL修改用戶密碼的多種方式,并有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2025-05-05
  • PostgreSQL VACUUM 清理機(jī)制詳解

    PostgreSQL VACUUM 清理機(jī)制詳解

    本文主要介紹了PostgreSQL VACUUM 清理機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2026-05-05

最新評(píng)論

卢龙县| 古田县| 雅安市| 铁岭县| 芜湖县| 康平县| 崇信县| 新源县| 惠水县| 西贡区| 昭通市| 石棉县| 青海省| 乌兰浩特市| 改则县| 潍坊市| 报价| 赫章县| 罗田县| 梅河口市| 英吉沙县| 华安县| 靖边县| 康平县| 大丰市| 连州市| 钟山县| 沙湾县| 正宁县| 惠东县| 化州市| 马公市| 淮滨县| 齐河县| 吴川市| 沧州市| 巴马| 靖远县| 中宁县| 康保县| 镇远县|