婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 如何為PostgreSQL的表自動(dòng)添加分區(qū)

如何為PostgreSQL的表自動(dòng)添加分區(qū)

熱門標(biāo)簽:漯河外呼電話系統(tǒng) 打電話智能電銷機(jī)器人授權(quán) 海豐有多少商家沒有地圖標(biāo)注 美容工作室地圖標(biāo)注 辦公外呼電話系統(tǒng) 合肥公司外呼系統(tǒng)運(yùn)營(yíng)商 外呼調(diào)研系統(tǒng) 重慶自動(dòng)外呼系統(tǒng)定制 地圖標(biāo)注和圖片名稱的區(qū)別

PostgreSQL 引進(jìn)“分區(qū)”表特性,解放了之前采用“表繼承”+ “觸發(fā)器”來實(shí)現(xiàn)分區(qū)表的繁瑣、低效。而添加分區(qū),都是手動(dòng)執(zhí)行 SQL。

演示目的:利用 python 來為 PostgreSQL 的表自動(dòng)添加分區(qū)。

python版本: python3+

pip3 install psycopg2

一、配置數(shù)據(jù)源

database.ini 文件:記錄數(shù)據(jù)庫(kù)連接參數(shù)

[adsas]
host=192.168.1.201
database=adsas
user=adsas
password=adsas123
port=5432
[test]
host=192.168.1.202
database=adsas
user=adsas
password=adsas123
port=5432

二、config 腳本

config.py 文件:下面的config() 函數(shù)讀取database.ini文件并返回連接參數(shù)。config() 函數(shù)位于config.py文件中

#!/usr/bin/python3
from configparser import ConfigParser
 
def config(section ,filename='database.ini'):
  # create a parser
  parser = ConfigParser()
  # read config file
  parser.read(filename)
 
  # get section, default to postgresql
  db = {}
  if parser.has_section(section):
    params = parser.items(section)
    for param in params:
      db[param[0]] = param[1]
  else:
    raise Exception('Section {0} not found in the {1} file'.format(section, filename))
 
  return db

三、創(chuàng)建子表腳本

pg_add_partition_table.py 文件:其中 create_table函數(shù)是創(chuàng)建子表SQL。其中參數(shù)

參數(shù)名 含義
db 指向數(shù)據(jù)庫(kù)
table 主表
sub_table 正要新建的子表名
start_date 范圍分界開始值
end_date 范圍分界結(jié)束值

#!/usr/bin/python3
import psycopg2
from config import config
# example: create table tbl_game_android_step_log_2021_07 PARTITION OF tbl_game_android_step_log FOR VALUES FROM ('2021-07-01') TO ('2021-08-01');
def create_table(db, table, sub_table, start_date, end_date):
  """ create subtable in the PostgreSQL database"""
  command = "create table {0} PARTITION OF {1} FOR VALUES FROM ('{2[0]}') TO ('{2[1]}');".format(sub_table, table, (start_date, end_date)) 
  conn = None
  try:
    # read the connection parameters
    params = config(section = db)
    # connect to the PostgreSQL server
    conn = psycopg2.connect(**params)
    cur = conn.cursor()
    # create table one by one
    cur.execute(command)
    # close communication with the PostgreSQL database server
    cur.close()
    # commit the changes
    conn.commit()
  except (Exception, psycopg2.DatabaseError) as error:
    print(error)
  finally:
    if conn is not None:
      conn.close()

四、執(zhí)行文件main.py

main.py:主文件;通過執(zhí)行main生成分區(qū)表。

示例:

#!/usr/bin/python3
import datetime
from datetime import date
from dateutil.relativedelta import *
from pg_add_partition_table import create_table
# Get the 1st day of the next month
def get_next_month_first_day(d):
  return date(d.year + (d.month == 12), d.month == 12 or d.month + 1 , 1)
  
def create_sub_table(db, table):
  # Get current date
  d1 = date.today()
  # Get next month's date
  d2 = d1 + relativedelta(months=+1)
  # Get the 1st day of the next month;As the starting value of the partitioned table
  start_date = get_next_month_first_day(d1)
  # Gets the 1st of the next two months as the end value of the partitioned table
  end_date = get_next_month_first_day(d2)
  # get sub table name
  getmonth = datetime.datetime.strftime(d2, '%Y_%m')
  sub_table = table + '_' + getmonth
  create_table(db, table, sub_table, start_date, end_date)
	
if __name__ == '__main__':
  create_sub_table('test', 'tbl_game_android_step_log');

上面示例單獨(dú)為表tbl_game_android_step_log;創(chuàng)建分區(qū);若多個(gè)表;用for語(yǔ)句處理

 # 多表操作
  for table in ['tbl_game_android_step_log', 'tbl_game_android_game_log','tbl_game_android_pay_log']:
    create_sub_table('test', table);

]

演示之前:

adsas=> select * from pg_partition_tree('tbl_game_android_step_log');
        relid        |    parentrelid    | isleaf | level 
-----------------------------------+---------------------------+--------+-------
 tbl_game_android_step_log     |              | f   |   0
 tbl_game_android_step_log_2020_12 | tbl_game_android_step_log | t   |   1
(2 rows)

演示之后:

adsas=> select * from pg_partition_tree('tbl_game_android_step_log');
        relid        |    parentrelid    | isleaf | level 
-----------------------------------+---------------------------+--------+-------
 tbl_game_android_step_log     |              | f   |   0
 tbl_game_android_step_log_2020_12 | tbl_game_android_step_log | t   |   1
 tbl_game_android_step_log_2021_01 | tbl_game_android_step_log | t   |   1
Partition key: RANGE (visit_time)
Partitions: tbl_game_android_step_log_2020_12 FOR VALUES FROM ('2020-12-01 00:00:00') TO ('2021-01-01 00:00:00'),
      tbl_game_android_step_log_2021_01 FOR VALUES FROM ('2021-01-01 00:00:00') TO ('2021-02-01 00:00:00')

五、加入定時(shí)任務(wù)

到此這篇關(guān)于如何為PostgreSQL的表自動(dòng)添加分區(qū)的文章就介紹到這了,更多相關(guān)PostgreSQL的表添加分區(qū)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • PostgreSQL LIST、RANGE 表分區(qū)的實(shí)現(xiàn)方案
  • PostgreSQL 創(chuàng)建表分區(qū)
  • 淺析postgresql 數(shù)據(jù)庫(kù) TimescaleDB 修改分區(qū)時(shí)間范圍
  • 利用python為PostgreSQL的表自動(dòng)添加分區(qū)
  • 淺談PostgreSQL 11 新特性之默認(rèn)分區(qū)
  • PostgreSQL之分區(qū)表(partitioning)
  • PostgreSQL分區(qū)表(partitioning)應(yīng)用實(shí)例詳解
  • PostgreSQL教程(三):表的繼承和分區(qū)表詳解
  • 淺談PostgreSQL表分區(qū)的三種方式

標(biāo)簽:晉城 衡陽(yáng) 株洲 錦州 烏海 珠海 來賓 蚌埠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《如何為PostgreSQL的表自動(dòng)添加分區(qū)》,本文關(guān)鍵詞  如,何為,PostgreSQL,的,表,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《如何為PostgreSQL的表自動(dòng)添加分區(qū)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于如何為PostgreSQL的表自動(dòng)添加分區(qū)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲图片欧美一区| 91无套直看片红桃| 欧美r级在线观看| 国产成人午夜片在线观看高清观看| 中文字幕亚洲一区二区va在线| 欧美午夜片在线看| 大陆成人av片| 国内精品伊人久久久久影院对白| 亚洲在线视频一区| 国产精品三级av| 久久久久久久久久久99999| 欧美精品日韩一区| 欧美四级电影在线观看| av成人动漫在线观看| 国产伦精品一区二区三区在线观看 | 欧美一区欧美二区| 91丨porny丨蝌蚪视频| 国产999精品久久久久久| 国产综合色精品一区二区三区| 日本不卡中文字幕| 青青草一区二区三区| 日韩高清不卡在线| 蜜臀av一区二区在线观看| 首页国产丝袜综合| 亚洲福利国产精品| 亚洲电影一区二区| 午夜精品久久久久久久99水蜜桃| 亚洲免费毛片网站| 亚洲精品国久久99热| 亚洲欧美激情视频在线观看一区二区三区 | 国产iv一区二区三区| 久久国产麻豆精品| 国产一区欧美日韩| 丁香婷婷深情五月亚洲| 成人高清视频免费观看| 成人精品国产免费网站| 成人精品视频网站| 欧美日韩一区不卡| av不卡在线播放| 9色porny自拍视频一区二区| 国产+成+人+亚洲欧洲自线| 成人晚上爱看视频| 色域天天综合网| 国产婷婷色一区二区三区在线| 欧美视频中文一区二区三区在线观看| 欧美视频一区在线| 欧美日韩免费在线视频| 欧美日韩免费高清一区色橹橹| 一区二区三区在线免费观看| 精品一区在线看| 婷婷中文字幕综合| 亚洲免费在线观看视频| 久久综合色之久久综合| 精品视频免费在线| 国产凹凸在线观看一区二区| 亚洲摸摸操操av| 欧美国产97人人爽人人喊| 国产视频视频一区| 欧美激情一区二区三区不卡| 久久久不卡网国产精品二区 | av中文一区二区三区| 日韩一区二区三区电影在线观看 | 亚洲资源中文字幕| 91女神在线视频| av在线不卡免费看| 在线观看免费亚洲| 成人黄色一级视频| 国产精品午夜免费| 国产免费久久精品| 精品视频色一区| 日韩欧美的一区| 91久久一区二区| 91精品久久久久久蜜臀| 久久久精品人体av艺术| 亚洲精品一二三区| 国产女同互慰高潮91漫画| 亚洲一卡二卡三卡四卡| 91网站视频在线观看| 亚洲男人的天堂在线观看| 成人一级视频在线观看| 国产日本一区二区| 精品亚洲成a人在线观看| 久久婷婷久久一区二区三区| 97精品久久久午夜一区二区三区| 亚洲美女视频一区| 欧美精品精品一区| 亚洲一区二区三区免费视频| 国产欧美日韩不卡| 美腿丝袜在线亚洲一区| 91美女在线看| 9人人澡人人爽人人精品| 亚洲欧洲三级电影| 亚洲一区二区欧美日韩| 精品久久国产字幕高潮| 亚洲va韩国va欧美va| 成人av综合一区| 日韩久久久精品| 日本韩国精品在线| 综合久久久久久| 日日摸夜夜添夜夜添精品视频| 欧美性大战久久久久久久| 亚洲黄色录像片| 色婷婷av一区二区| 国产精品三级久久久久三级| 91免费看`日韩一区二区| 欧美日韩国产高清一区二区三区 | 高清成人在线观看| 波多野结衣精品在线| 日韩欧美美女一区二区三区| 日本aⅴ亚洲精品中文乱码| 成人黄色在线网站| 欧美国产欧美亚州国产日韩mv天天看完整| 自拍av一区二区三区| 无码av免费一区二区三区试看 | 国产精品私人影院| 337p粉嫩大胆噜噜噜噜噜91av| 成人久久18免费网站麻豆| 奇米精品一区二区三区在线观看| 69久久夜色精品国产69蝌蚪网| 日韩毛片在线免费观看| 国产三区在线成人av| 亚洲精品一区二区三区99| 日韩一级视频免费观看在线| 国产盗摄一区二区三区| 亚洲国产成人在线| 日韩欧美在线1卡| 免费在线视频一区| 中文字幕日韩精品一区| 国产一区二区网址| 美脚の诱脚舐め脚责91| 欧美v日韩v国产v| 精品一区二区在线视频| 久久久久久久精| av电影在线观看一区| 午夜精品久久久久久久久久| 久久蜜桃av一区精品变态类天堂 | 日韩三级中文字幕| 国产精品一区二区三区乱码| 亚洲激情校园春色| 精品国精品自拍自在线| www.欧美精品一二区| 亚洲国产成人91porn| 久久亚洲精品小早川怜子| 色悠悠久久综合| 国产原创一区二区| 91精品国产综合久久精品性色 | 欧美在线免费视屏| 欧美猛男gaygay网站| 在线视频一区二区三区| 久久精品无码一区二区三区| 色欧美片视频在线观看| 国产精品免费人成网站| 成人免费视频免费观看| 国产精品狼人久久影院观看方式| 欧美a一区二区| 在线精品视频免费播放| 亚洲伦理在线免费看| 91小宝寻花一区二区三区| 中文av字幕一区| gogogo免费视频观看亚洲一| 国产精品不卡一区| 欧美在线制服丝袜| 日韩av不卡一区二区| 17c精品麻豆一区二区免费| 久国产精品韩国三级视频| 欧美一区二区在线播放| 天天色综合天天| 欧美日韩在线播放一区| 日本在线不卡视频| 精品欧美一区二区三区精品久久| 韩国毛片一区二区三区| 国产精品大尺度| 欧洲人成人精品| 老司机精品视频在线| 欧美大片在线观看| 成人h动漫精品一区二| 怡红院av一区二区三区| 日韩一区二区三区电影在线观看| 精品一二三四在线| 亚洲欧美色图小说| 亚洲国产高清在线观看视频| 色婷婷综合在线| 国产一区二区精品久久91| 亚洲一区在线视频| 国产欧美一区二区三区在线老狼| 日本道免费精品一区二区三区| 日精品一区二区| 久久影音资源网| www.久久久久久久久| 日韩电影在线观看电影| 97久久精品人人爽人人爽蜜臀| 精品一区二区在线播放| 欧美精品丝袜久久久中文字幕| 国产毛片精品国产一区二区三区| 国产精品天干天干在观线| 日本韩国一区二区| 亚洲小说欧美激情另类| 久久蜜桃香蕉精品一区二区三区| 制服丝袜在线91| 久久亚洲精品小早川怜子|