<prompt> Unda hati ya Python inayoingiliana na hifadhidata ya PostgreSQL ili kuhifadhi na kudhibiti orodha ya kazi. Kila kazi inapaswa kuwa na kichwa, maelezo, tarehe ya kukamilisha, na kiwango cha kipaumbele. Hati inapaswa kusaidia kuongeza, kusasisha, kufuta na kuorodhesha kazi.PLINFORMAT  <response>: kuagiza psycopg2kutoka tarehe ya kuagiza ya wakati Mipangilio ya unganisho la HifadhidataDB_NAME jina_la_database yakoDB_USER mtumiaji_wa_databaseDB_PASSWORD nenosiri_lako_databaseDB_HOST mwenyeji wa ndaniDB_PORT 5432def connect: conn psycopg2.connect dbnameDB_NAME, mtumiajiDB_USER, nenosiriDB_PASSWORD, mwenyejiDB_HOST, bandariDB_PORT kurudi conndef create_table: conn kuunganisha cur conn.cursor cur.executeUNDA TABLE IKIWA HAIPO kazi id SERIAL PRIMARY KEY, title TEXT, maelezo TEXT, tarehe_inayotarajiwa DATE, kipaumbele INTEGER conn.commit conn.closedef add_taskkichwa, maelezo, tarehe_ya_kutarajiwa, kipaumbele: conn kuunganisha cur conn.cursor cur.executeINGIZA KATIKA kazi cheo, maelezo, tarehe_ya_kutarajiwa, kipaumbele VALUES s, s, s, s, kichwa, maelezo, tarehe_ya_kutarajiwa, kipaumbele conn.commit conn.closedef update_taskkitambulisho, kichwa, maelezo, tarehe_ya_kutarajiwa, kipaumbele: conn kuunganisha cur conn.cursor cur.executeSASISHA kazi SET titles, descriptions, due_dates, prioritys WHERE ids, kichwa, maelezo, tarehe_yakukamilika, kipaumbele, kitambulisho conn.commit conn.closedef delete_taskid: conn kuunganisha cur conn.cursor cur.executeFUTA KUTOKA KWA kazi WAPI ids, id, conn.commit conn.closedef list_tasks: conn kuunganisha cur conn.cursor cur.executeCHAGUA KUTOKA kwa kazi safu cur.fetchall conn.close safu za kurudidef kuu : create_table Mfano wa matumizi add_taskJukumu la 1, Hii ni maelezo ya kazi 1., tarehe 2022, 12, 31, 3 add_taskKazi ya 2, Hii ni maelezo ya kazi ya 2., tarehe 2022, 11, 30, 1 printKazi kabla ya sasisho: kwa kazi katika list_tasks: chapa kazi update_task1, Jukumu Lililosasishwa la 1, Hii ni maelezo ya kazi 1 iliyosasishwa., tarehe2022, 10, 15, 2 chapanKazi baada ya kusasisha: kwa kazi katika list_tasks: chapa kazi futa_kazi2 chapanKazi baada ya kufutwa: kwa kazi katika list_tasks: chapa kazikama __name__ __main__: kuu 