日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

利用python為PostgreSQL的表自動添加分區

瀏覽:28日期:2022-06-29 16:07:20

PostgreSQL引進“分區”表特性,解放了之前采用“表繼承”+“觸發器”來實現分區表的繁瑣、低效。而添加分區,都是手動執行SQL。

演示目的:利用python來為PostgreSQL的表自動添加分區。python版本:python3+

pip3 install psycopg2一、配置數據源

database.ini 文件:記錄數據庫連接參數

[adsas]host=192.168.1.201database=adsasuser=adsaspassword=adsas123port=5432[test]host=192.168.1.202database=adsasuser=adsaspassword=adsas123port=5432二、config 腳本

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

#!/usr/bin/python3from 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三、創建子表腳本

pg_add_partition_table.py 文件:其中 create_table函數是創建子表SQL。其中參數

參數名 含義 db 指向數據庫 table 主表 sub_table 正要新建的子表名 start_date 范圍分界開始值 end_date 范圍分界結束值

#!/usr/bin/python3import psycopg2from 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()四、執行文件main.py

main.py:主文件;通過執行main生成分區表。

示例:

#!/usr/bin/python3import datetimefrom datetime import datefrom dateutil.relativedelta import *from pg_add_partition_table import create_table#Get the 1st day of the next monthdef 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’);

上面示例單獨為表tbl_game_android_step_log;創建分區;若多個表;用for語句處理

# 多表操作 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 | 1Partition 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’)

到此這篇關于利用python為PostgreSQL的表自動添加分區的文章就介紹到這了,更多相關python PostgreSQL添加分區內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产乱人伦精品一区| 国产一区白浆| 国产亚洲欧美日韩在线观看一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产亚洲高清视频| 日韩在线中文| 日韩精品欧美激情一区二区| 免费高潮视频95在线观看网站| a天堂资源在线| 日本欧美不卡| 欧美成人精品| 三级一区在线视频先锋| 麻豆精品网站| 日韩欧美2区| 国产美女亚洲精品7777| 毛片不卡一区二区| 国产精品久久久久久久久久白浆 | 石原莉奈一区二区三区在线观看| 国产视频一区欧美| 综合亚洲自拍| 国产欧美三级| 91日韩免费| 美女毛片一区二区三区四区 | 噜噜噜躁狠狠躁狠狠精品视频| 国产精品美女久久久| 日本不卡高清| 日本黄色精品| 亚洲精品一二三区区别| 亚洲2区在线| 免费亚洲一区| 欧美在线观看视频一区| 亚洲精品高潮| 精品网站aaa| 欧美精品黄色| 国产精品激情电影| 久久精品91| 亚洲精选久久| 麻豆精品视频在线| 久久精品导航| 日韩精品亚洲一区二区三区免费| 精品欧美日韩精品| 免费日韩一区二区| 久久99蜜桃| 美女毛片一区二区三区四区 | 视频一区视频二区中文字幕| 国产精品**亚洲精品| 欧美日韩中文一区二区| 亚洲精品成人一区| 91视频久久| 免费不卡在线视频| 麻豆精品在线| 99国产精品久久久久久久成人热| 国产免费播放一区二区| 亚洲成人二区| 国产欧美日韩一级| 国内精品福利| 国产精品一区二区av交换| 久久高清免费| 91大神在线观看线路一区| 精品日韩视频| 国产亚洲观看| 在线精品小视频| 国产一区二区三区成人欧美日韩在线观看| 亚洲一级网站| 欧美精品1区| 奶水喷射视频一区| 欧美1区二区| 老牛影视一区二区三区| 国内揄拍国内精品久久| 日本亚州欧洲精品不卡| 999视频精品| 国产精品igao视频网网址不卡日韩| 九九综合在线| 91视频久久| 国产欧美一区二区三区精品观看| 国产99精品一区| 久久99高清| 日本午夜精品| 久久亚洲电影| 91精品国产91久久久久久黑人| 欧美激情精品| 亚洲免费网址| 亚洲性色av| 国产高清精品二区| 热久久久久久久| 91精品国产成人观看| 精品中国亚洲| 国产美女精品视频免费播放软件| 久久不射中文字幕| 日韩和的一区二在线| 国产高清视频一区二区| 日本在线成人| 丝袜美腿亚洲一区二区图片| 日韩精品一区二区三区免费观影| 久久精品二区亚洲w码| 欧美日韩精品一区二区三区在线观看| 激情六月综合| 日韩欧美一区二区三区在线视频| 国产精品观看| 91成人精品观看| 亚洲男女自偷自拍| 99香蕉国产精品偷在线观看 | 亚洲v在线看| 国产一区二区三区久久久久久久久| 欧美日韩一区二区三区在线电影| 亚洲aa在线| 午夜在线视频观看日韩17c| 欧美日韩在线二区| 999久久久国产精品| 日韩在线中文| 黄色在线观看www| 黄毛片在线观看| 精品久久久久中文字幕小说| 久久激情五月婷婷| 日韩高清欧美激情| 日本一区福利在线| 日韩精品一级| 欧美亚洲网站| 国产精品久久久久毛片大屁完整版| 欧美日韩中出| 久久超碰99| 青青国产91久久久久久| 亚洲精品伊人| 蜜桃av一区二区三区电影| 最新日韩欧美| 午夜宅男久久久| 亚洲丝袜啪啪| 青青国产精品| 久久wwww| 久久久久久色 | 久久国内精品| 国产伦精品一区二区三区千人斩| 国产精品亚洲综合久久| 另类综合日韩欧美亚洲| 国产精品中文字幕亚洲欧美| 日本a级不卡| 欧美日本不卡高清| 国产精品对白| а√在线中文在线新版| 日韩中文字幕高清在线观看| 亚洲v在线看| 中文日韩在线| 日韩欧美精品一区二区综合视频| 欧美一级久久| 精品国产91| 欧美日韩中文字幕一区二区三区 | 精品日韩视频| 不卡在线一区二区| 美女毛片一区二区三区四区| 亚洲欧美久久久| 日韩三级一区| 国产精品亚洲片在线播放| 久久久久黄色| 成人羞羞视频在线看网址| 亚洲欧美伊人| 日韩av中文在线观看| 麻豆视频观看网址久久| 久久久天天操| 中文无码日韩欧| 国产精品66| 国模 一区 二区 三区| 中文字幕日韩亚洲| 国产精品白丝久久av网站| 国产一区2区| 国产亚洲综合精品| 国产亚洲字幕| 日韩一区电影| 一本一道久久a久久| 精品国产亚洲一区二区在线观看| 日韩一区二区三区在线免费观看| 鲁大师成人一区二区三区| 国产精品一站二站| 久久狠狠婷婷| 日本va欧美va瓶| 在线精品亚洲欧美日韩国产| 亚洲欧美成人综合| 美女久久精品| 91精品高清| 欧美啪啪一区| 亚洲国内精品| 国产美女精品视频免费播放软件| 91精品精品| 日韩av成人高清| 美女网站视频一区| 日本91福利区| 欧美日韩水蜜桃| 国产欧美一区二区三区精品观看| 久久人人精品| 国产乱码精品一区二区三区四区| 亚洲午夜一级| 国产精品美女午夜爽爽| 欧美一级精品| 免费在线亚洲欧美| 黄色成人91| 精品午夜久久| 中文字幕成人| 欧美综合另类| 麻豆精品久久久| 亚洲精选av| 欧美中文字幕一区二区|