ā§Ļ⧍ āĻĄāĻŋāϏ⧇, ⧍ā§Ļ⧍ā§Ģ¡8 āĻŽāĻŋāύāĻŋāϟ āĻĒāĻĄāĻŧāϤ⧇

āĻ…āĻĄāĻŋāϟ āϞ⧋āĻ—āĻŋāĻ‚-āĻ āχāϭ⧇āĻ¨ā§āϟ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϜāĻ¨ā§āϝ PostgreSQL āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚

āχāϭ⧇āĻ¨ā§āϟ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϜāĻ¨ā§āϝ PostgreSQL āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚: āĻ•āĻ–āύ āϤāĻž āωāĻĒāĻ•āĻžāϰ⧀, āϕ⧀āĻ­āĻžāĻŦ⧇ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āĻŦāĻžāĻ›āĻžāχ āĻ•āϰāĻŦ⧇āύ, āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ“ āϰāĻŋāĻŸā§‡āύāĻļāύ⧇ āϕ⧀ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āφāϏ⧇ āϤāĻž āĻļāĻŋāϖ⧁āύāĨ¤

āĻ…āĻĄāĻŋāϟ āϞ⧋āĻ—āĻŋāĻ‚-āĻ āχāϭ⧇āĻ¨ā§āϟ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϜāĻ¨ā§āϝ PostgreSQL āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚

āϕ⧇āύ āχāϭ⧇āĻ¨ā§āϟ āĻāĻŦāĻ‚ āĻ…āĻĄāĻŋāϟ āĻŸā§‡āĻŦāĻŋāϞ āϏāĻŽāĻ¸ā§āϝāĻž āĻšāϝāĻŧ⧇ āĻ“āϠ⧇

āχāϭ⧇āĻ¨ā§āϟ āĻŸā§‡āĻŦāĻŋāϞ āĻāĻŦāĻ‚ āĻ…āĻĄāĻŋāϟ āĻŸā§‡āĻŦāĻŋāϞ āĻĻ⧇āĻ–āϤ⧇ āĻāĻ•āϰāĻ•āĻŽ āϞāĻžāĻ—āϞ⧇āĻ“ āĻāĻĻ⧇āϰ āĻĨāĻžāĻ•āĻžāϰ āĻ•āĻžāϰāĻŖ āφāϞāĻžāĻĻāĻžāĨ¤

āχāϭ⧇āĻ¨ā§āϟ āĻŸā§‡āĻŦāĻŋāϞ āĻāĻŽāύ āϜāĻŋāύāĻŋāϏāϗ⧁āϞ⧋ āϰ⧇āĻ•āĻ°ā§āĻĄ āĻ•āϰ⧇ āϝāĻž āϘāĻŸā§‡: āĻĒ⧇āϜ āĻ­āĻŋāω, āĻĒāĻžāĻ āĻžāύ⧋ āχāĻŽā§‡āχāϞ, webhook āĻ•āϞ, āϜāĻŦ āϰāĻžāύāĨ¤ āĻ…āĻĄāĻŋāϟ āĻŸā§‡āĻŦāĻŋāϞ āϰ⧇āĻ•āĻ°ā§āĻĄ āĻ•āϰ⧇ āϕ⧇ āĻ•āĻ–āύ ëŦ´ė—‡ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇āϛ⧇: āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ, āĻĒāĻžāϰāĻŽāĻŋāĻļāύ āφāĻĒāĻĄā§‡āϟ, āĻĒ⧇āφāωāϟ āĻ…āύ⧁āĻŽā§‹āĻĻāĻ¨â€”āĻĒā§āϰāĻžā§Ÿāχ “āφāĻ—ā§‡â€ āĻāĻŦāĻ‚ “āĻĒāĻ°ā§‡â€ āĻāϰ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤāϏāĻšāĨ¤

āĻĻ⧁āχāϟāĻžāχ āĻĻā§āϰ⧁āϤ āĻŦāĻžā§œā§‡ āĻ•āĻžāϰāĻŖ āĻāϗ⧁āϞ⧋ āĻ…ā§āϝāĻžāĻĒ⧇āĻ¨ā§āĻĄ-āĻ…āύāϞāĻŋāĨ¤ āφāĻĒāύāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻāϕ⧇āĻ•āϟāĻŋ āϏāĻžāϰāĻŋ āĻŽā§āϛ⧇āύ āύāĻž, āĻāĻŦāĻ‚ āύāϤ⧁āύ āϏāĻžāϰāĻŋ āĻĒā§āϰāϤāĻŋ āĻŽāĻŋāύāĻŋāĻŸā§‡ āφāϏ⧇āĨ¤ āĻŦā§āϝāĻžāĻ•āĻ—ā§āϰāĻžāωāĻ¨ā§āĻĄ āϜāĻŦ āĻāĻŦāĻ‚ āχāĻ¨ā§āϟāĻŋāĻ—ā§āϰ⧇āĻļāύ āϝ⧁āĻ•ā§āϤ āĻ•āϰāϞ⧇ āĻāĻŽāύāĻ•āĻŋ āϛ⧋āϟ āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āϟāĻ“ āϏāĻĒā§āϤāĻžāĻšā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āĻŽāĻŋāϞāĻŋ⧟āύāϗ⧁āϞ⧋ āϞāĻ— āϏāĻžāϰāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻŦā§āϝāĻĨāĻžāϟāĻž āĻĻ⧈āύāĻ¨ā§āĻĻāĻŋāύ āĻ•āĻžāĻœā§‡ āĻĒā§āϰāĻ•āĻžāĻļ āĻĒāĻžāϝāĻŧāĨ¤ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ⧇ āĻĻā§āϰ⧁āϤ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ⧇āϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻĒā§œā§‡â€”āϝ⧇āĻŽāύ “āĻ—āϤāĻ•āĻžāϞ⧇āϰ āĻ¤ā§āϰ⧁āϟāĻŋ” āĻŦāĻž “āĻāχ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϞāĻžāĻĒ”āĨ¤ āĻŸā§‡āĻŦāĻŋāϞ āĻŦāĻĄāĻŧ āĻšāϞ⧇ āĻāχ āϏāĻžāϧāĻžāϰāĻŖ āĻ¸ā§āĻ•ā§āϰ⧀āύāϗ⧁āϞ⧋ āϧ⧀āϰ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤

āφāĻĒāύāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĒā§āϰāĻĨāĻŽā§‡āχ āĻ•ā§Ÿā§‡āĻ•āϟāĻŋ āϞāĻ•ā§āώāĻŖ āϞāĻ•ā§āĻˇā§āϝ āĻ•āϰāĻŦ⧇āύ:

  • āϏ⧀āĻŽāĻŋāϤ āϤāĻžāϰāĻŋāĻ– āϏ⧀āĻŽāĻž āĻĨāĻžāĻ•āϞ⧇āĻ“ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻ¨ā§‡ā§Ÿ (āĻŦāĻž āϟāĻžāχāĻŽāφāωāϟ āĻ•āϰ⧇)āĨ¤
  • āχāύāĻĄā§‡āĻ•ā§āϏ āĻāϤ āĻŦāĻĄāĻŧ āĻšā§Ÿ āϝ⧇ āχāύāϏāĻžāĻ°ā§āϟ āϧ⧀āϰ āĻšā§Ÿ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āĻ–āϰāϚ āĻŦāĻžā§œā§‡āĨ¤
  • VACUUM āĻ“ autovacuum āĻŦ⧇āĻļāĻŋ āϏāĻŽā§Ÿ āĻ¨ā§‡ā§Ÿ, āĻāĻŦāĻ‚ āϰāĻ•ā§āώāĻŖāĻžāĻŦ⧇āĻ•ā§āώāĻŖ āĻšā§‹āϖ⧇ āĻĒā§œā§‡āĨ¤
  • āϰāĻŋāĻŸā§‡āύāĻļāύ āĻā§āρāĻ•āĻŋāĻĒā§‚āĻ°ā§āĻŖ āĻšā§Ÿ: āĻĒ⧁āϰāύ⧋ āϏāĻžāϰāĻŋ āĻĄāĻŋāϞāĻŋāϟ āϧ⧀āϰ āĻāĻŦāĻ‚ āĻŦloat āϏ⧃āĻˇā§āϟāĻŋ āĻ•āϰ⧇āĨ¤

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻāĻ•āϟāĻŋ āωāĻĒāĻžāϝāĻŧ āĻāχ āϏāĻŽāĻ¸ā§āϝāĻžāϰ āĻŽā§‹āĻ•āĻžāĻŦāĻŋāϞāĻžāϰāĨ¤ āϏāĻšāϜāĻ­āĻžāĻŦ⧇ āĻŦāϞāϞ⧇, āĻāϟāĻŋ āĻāĻ• āĻŦāĻĄāĻŧ āĻŸā§‡āĻŦāĻŋāϞāϕ⧇ āĻ…āύ⧇āĻ• āϛ⧋āϟ āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻ­āĻžāĻ— āĻ•āĻ°ā§‡â€”āϝ⧇āϗ⧁āϞ⧋ āĻāĻ•āχ āϝ⧌āĻ•ā§āϤāĻŋāĻ• āύāĻžāĻŽ āĻ­āĻžāĻ— āĻ•āϰ⧇ āĻ¨ā§‡ā§ŸāĨ¤ PostgreSQL āĻĒā§āϰāϤāĻŋāϟāĻŋ āύāϤ⧁āύ āϏāĻžāϰāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āύāĻŋ⧟āĻŽ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āϏāĻ āĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇ āϰ⧁āϟ āĻ•āϰ⧇, āϏāĻžāϧāĻžāϰāĻŖāϤ āϏāĻŽā§Ÿā§‡āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇āĨ¤

āĻāχ āĻ•āĻžāϰāϪ⧇āχ āϟāĻŋāĻŽāϗ⧁āϞ⧋ āχāϭ⧇āĻ¨ā§āϟ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϜāĻ¨ā§āϝ PostgreSQL āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžā§Ÿ: āĻāϟāĻŋ āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ• āĻĄā§‡āϟāĻžāϕ⧇ āϛ⧋āϟ āϟ⧁āĻ•āĻ°ā§‹ā§Ÿ āϰāĻžāϖ⧇, āϤāĻžāχ āϝāĻ–āύ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϕ⧇āĻŦāϞ āĻāĻ•āϟāĻŋ āϏāĻŽā§Ÿ āωāχāĻ¨ā§āĻĄā§‹āχ āϚāĻžā§Ÿ āϤāĻ–āύ PostgreSQL āĻĒ⧁āϰ⧋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāϗ⧁āϞ⧋ āĻ¸ā§āĻ•āĻŋāĻĒ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϕ⧋āύ⧋ āϜāĻžāĻĻ⧁āĻ•āϰ⧀ āĻ—āϤāĻŋ āϏ⧁āχāϚ āύ⧟āĨ¤ āĻāϟāĻŋ "āĻ—āϤ ā§­ āĻĻāĻŋāύ" āϧāϰāύ⧇āϰ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻ…āύ⧇āĻ• āϏāĻšāĻžāϝāĻŧāĻ• āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŦāĻ‚ āϰāĻŋāĻŸā§‡āύāĻļāύāϕ⧇ āϏāĻšāϜ āĻ•āϰ⧇ (āĻĒ⧁āϰāύ⧋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĄā§āϰāĻĒ āĻ•āϰāĻž āĻĻā§āϰ⧁āϤ)āĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻŋ āύāϤ⧁āύ āϏāĻŽāĻ¸ā§āϝāĻžāĻ“ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇:

  • āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻž āĻ•āϰāϞ⧇ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϕ⧇ āĻ…āύ⧇āĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻšā§‡āĻ• āĻ•āϰāϤ⧇ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤
  • āĻŦ⧇āĻļāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻŽāĻžāύ⧇ āĻŦ⧇āĻļāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻŽā§āϝāĻžāύ⧇āϜ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āĻāĻŦāĻ‚ āĻŦ⧇āĻļāĻŋ āϭ⧁āϞ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ⧇āϰ āĻĒāĻĨ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤
  • āĻ•āĻŋāϛ⧁ āχāωāύāĻŋāĻ• āĻ•āύāĻ¸ā§āĻŸā§āϰ⧇āχāĻ¨ā§āϟ āĻāĻŦāĻ‚ āχāύāĻĄā§‡āĻ•ā§āϏ āϏāĻ•āϞ āĻĄā§‡āϟāĻžā§Ÿ āĻĒā§āϰāϝāĻŧā§‹āĻ— āĻ•āϰāĻž āĻ•āĻ āĻŋāύ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ āĻĒā§āϰāϚ⧁āϰ āϏāĻŽā§Ÿ-āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ“ āĻĒā§‚āĻ°ā§āĻŦāύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āϰāĻŋāĻŸā§‡āύāĻļāύ⧇āϰ āĻ“āĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰāĻļā§€āϞ āĻšā§Ÿ, āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϏāĻ¤ā§āϝāĻŋāχ āĻĢāϞāĻĒā§āϰāϏ⧂ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϝāĻĻāĻŋ āĻŦ⧇āĻļāĻŋ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻšā§Ÿ "āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ X-āĻāϰ āϏāĻŽāĻ¸ā§āϤ āχāϤāĻŋāĻšāĻžāϏ āϖ⧁āρāϜ⧁āύ", āϤāĻžāĻšāϞ⧇ āϝāĻ¤ā§āύāϏāĻš UI āĻāĻŦāĻ‚ āχāύāĻĄā§‡āĻ•ā§āϏ āĻĄāĻŋāϜāĻžāχāύ āύāĻž āĻ•āϰāϞ⧇ āĻāϟāĻž āĻŽāĻžāĻĨāĻžāĻŦā§āϝāĻĨāĻž āĻŦāĻžā§œāĻžāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āϞāĻ— āĻ“ āĻ…āĻĄāĻŋāĻŸā§‡āϰ āϏāĻžāϧāĻžāϰāĻŖ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ

āχāϭ⧇āĻ¨ā§āϟ āĻ“ āĻ…āĻĄāĻŋāϟ āĻŸā§‡āĻŦāĻŋāϞ āĻāĻ•āĻĻāĻŋāϕ⧇ āĻŦāĻžā§œā§‡: āωāĻĒāϰ⧇āϰ āĻĻāĻŋāϕ⧇āĨ¤ āĻāϗ⧁āϞ⧋āϤ⧇ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ• āχāύāϏāĻžāĻ°ā§āϟ āĻšā§Ÿā§‡ āĻāĻŦāĻ‚ āφāĻĒāĻĄā§‡āϟ āϖ⧁āĻŦāχ āĻ•āĻŽāĨ¤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϏāĻžāϰāĻŋ āĻāĻ•āĻŦāĻžāϰ āϞ⧇āĻ–āĻž āĻšā§Ÿ, āĻĒāϰ⧇ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻ•āĻžāϜ, āχāύāϏāĻŋāĻĄā§‡āĻ¨ā§āϟ āϰāĻŋāĻ­āĻŋāω āĻŦāĻž āĻ•āĻŽāĻĒā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϏ āĻšā§‡āϕ⧇āϰ āϏāĻŽā§Ÿ āĻĒ⧜āĻž āĻšā§ŸāĨ¤

āĻāχ "āĻ…ā§āϝāĻžāĻĒ⧇āĻ¨ā§āĻĄ-āĻ…āύāϞāĻŋ" āφāĻ•ā§ƒāϤāĻŋ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āϞ⧇āĻ–āĻžāϰ āĻ•āĻžāĻ°ā§āϝāĻ•ā§āώāĻŽāϤāĻž āϏāĻŦāϏāĻŽā§Ÿ āϚāĻŋāĻ¨ā§āϤāĻžāϰ āĻŦāĻŋāώ⧟ āĻ•āĻžāϰāĻŖ āχāύāϏāĻžāĻ°ā§āϟ āϏāĻžāϰāĻžāĻĻāĻŋāύ āϚāϞāϤ⧇ āĻĨāĻžāϕ⧇, āφāϰ āϰāĻŋāĻĄ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻŦāĻŋāϰāϤāĻŋāϰ āĻŽāϤ⧋ āϏāĻŽā§Ÿā§‡ āϜāϰ⧁āϰāĻŋ āĻšā§Ÿ (āϝāĻ–āύ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻŦāĻž āĻ…āĻĒāϏ āĻĻā§āϰ⧁āϤ āωāĻ¤ā§āϤāϰ āϚāĻžāχ)āĨ¤

āυ⤧ā¤ŋ⤕āĻžāĻ‚āĻļ āϰāĻŋāĻĄ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ•, āĻ°â€ā§āϝāĻžāĻŖā§āĻĄāĻŽ āϞ⧁āĻ•āφāĻĒ āύ⧟āĨ¤ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ⧇ āϕ⧇āω āϏāĻžāϧāĻžāϰāĻŖāϤ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤāĻ­āĻžāĻŦ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧇ (āĻ—āϤ ⧍ā§Ē āϘāĻŖā§āϟāĻž) āϤāĻžāϰāĻĒāϰ āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀, āĻāĻ•āϟāĻŋ āĻāĻ¨ā§āϟāĻŋāϟāĻŋ āĻŦāĻž āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•āĻļāύ-āĻ āϏāĻ‚āϕ⧀āĻ°ā§āĻŖ āĻšā§ŸāĨ¤

āϏāĻžāϧāĻžāϰāĻŖ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāϗ⧁āϞ⧋:

  • āĻāĻ•āϟāĻŋ āϏāĻŽā§Ÿ āĻĒāϰāĻŋāϏ⧀āĻŽāĻž
  • āĻāĻ•āϟāĻŋ āĻ…āĻ­āĻŋāύ⧇āϤāĻž (user ID, āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āĻāĻ•āĻžāωāĻ¨ā§āϟ, IP āĻ āĻŋāĻ•āĻžāύāĻž)
  • āĻāĻ•āϟāĻŋ āϞāĻ•ā§āĻˇā§āϝ (āĻāĻ¨ā§āϟāĻŋāϟāĻŋ āϟāĻžāχāĻĒ + āĻāĻ¨ā§āϟāĻŋāϟāĻŋ ID, āϝ⧇āĻŽāύ Order #1234)
  • āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ•āĻļāύ āϟāĻžāχāĻĒ (created, updated, deleted, login failed)
  • āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§‡āϟāĻžāϏ āĻŦāĻž āϏ⧇āĻ­āĻžāϰāĻŋāϟāĻŋ (success/error)

āϟāĻžāχāĻŽ āϰ⧇āĻžā§āϜ āĻĒā§āϰāĻžāĻ•ā§ƒāϤāĻŋāĻ• "āĻĒā§āϰāĻĨāĻŽ āĻ›āĻžāρāĻ•āύāĻŋ" āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ āĻĒā§āϰāĻžā§Ÿāχ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤ āĻĨāĻžāϕ⧇āĨ¤ āĻāχāϟāĻŋāχ PostgreSQL āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚-āĻāϰ āĻŽā§‚āϞ āĻ…āĻ¨ā§āϤāĻ°ā§āĻĻ⧃āĻˇā§āϟāĻŋ: āĻ…āύ⧇āĻ• āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻāĻ•āϟāĻŋ āϏāĻŽā§Ÿ āĻ¸ā§āϞāĻžāχāϏ āϚāĻžā§Ÿ, āĻāĻŦāĻ‚ āĻŦāĻžāĻ•āĻŋ āϏāĻŦāĻ•āĻŋāϛ⧁ āϏ⧇āχ āĻ¸ā§āϞāĻžāχāϏ⧇āϰ āĻ­āĻŋāϤāϰ⧇āχ āĻĻā§āĻŦāĻŋāĻ¤ā§€ā§ŸāϤ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰāĻž āĻšā§ŸāĨ¤

āϰāĻŋāĻŸā§‡āύāĻļāύ āφāϰ⧇āĻ•āϟāĻŋ āĻ…āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻ¨ā§€ā§Ÿ āĻŦāĻŋāώ⧟āĨ¤ āϞāĻ—āϗ⧁āϞ⧋ āϏāϚāϰāĻžāϚāϰ āϏāĻžāϰāĻžāĻœā§€āĻŦāύ āĻĨāĻžāϕ⧇ āύāĻžāĨ¤ āϟāĻŋāĻŽāϗ⧁āϞ⧋ āĻĒā§āϰāĻžā§ŸāĻļāχ āωāĻšā§āϚ-āĻĄāĻŋāĻŸā§‡āχāϞ āχāϭ⧇āĻ¨ā§āϟ ā§Šā§Ļ āĻŦāĻž ⧝ā§Ļ āĻĻāĻŋāύ⧇āϰ āϜāĻ¨ā§āϝ āϰāĻžāϖ⧇, āϤāĻžāϰāĻĒāϰ āĻŽā§āϛ⧇ āĻŦāĻž āφāĻ°ā§āĻ•āĻžāχāĻ­ āĻ•āϰ⧇āĨ¤ āĻ…āĻĄāĻŋāϟ āϞāϗ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻŽā§‡ā§ŸāĻžāĻĻāĻ•āĻžāϞ āĻŦ⧜ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇ (ā§Šā§Ŧā§Ģ āĻĻāĻŋāύ āĻŦāĻž āϤāĻžāϰ āĻŦ⧇āĻļāĻŋ), āĻ•āĻŋāĻ¨ā§āϤ⧁ āϤāĻž āĻšāϞ⧇āĻ“ āϏāĻžāϧāĻžāϰāĻŖāϤ āφāĻĒāύāĻŋ āĻāĻŽāύ āĻāĻ•āϟāĻž āĻĒāĻžāĻŦ⧇āύ āϝ⧇āĻ–āĻžāύ⧇ āĻĒ⧁āϰāύ⧋ āĻĄā§‡āϟāĻž āĻŦā§āϞāĻ• āύāĻž āĻ•āϰ⧇ āϏāĻšāĻœā§‡ āϏāϰāĻžāύ⧋ āϝāĻžā§ŸāĨ¤

āĻ…āĻĄāĻŋāϟ āϞāĻ—āĻŋāĻ‚ āφāϰāĻ“ āĻ•āĻŋāϛ⧁ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻž āϞāĻžā§Ÿ: āχāϤāĻŋāĻšāĻžāϏ āĻ…āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻ¨ā§€ā§Ÿ āϰāĻžāĻ–āĻž, āĻĒā§āϰāϤāĻŋāϟāĻŋ āϰ⧇āĻ•āĻ°ā§āĻĄ āĻŸā§āϰ⧇āϏāϝ⧋āĻ—ā§āϝ (āϕ⧇/āϕ⧀/āĻ•āĻ–āύ āϏāĻžāĻĨ⧇ āϰāĻŋāĻ•ā§‹ā§Ÿā§‡āĻ¸ā§āϟ āĻŦāĻž āϏ⧇āĻļāύ āĻĒā§āϰāϏāĻ™ā§āĻ—), āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āύāĻŋ⧟āĻ¨ā§āĻ¤ā§āϰāĻŋāĻ¤â€”āϏāĻŦāĻžāχ āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ-āϰāĻŋāϞ⧇āĻŸā§‡āĻĄ āχāϭ⧇āĻ¨ā§āϟ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇ āύāĻžāĨ¤

āĻāχ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύāϗ⧁āϞ⧋ āϏāϰāĻžāϏāϰāĻŋ UI āĻĄāĻŋāϜāĻžāχāύ⧇ āĻĻ⧇āĻ–āĻž āϝāĻžā§ŸāĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āϟāĻ­āĻžāĻŦ⧇ āĻŽāĻžāύ⧁āώ⧇āϰ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻŋāϤ āĻĢāĻŋāĻ˛ā§āϟāĻžāĻ°â€”āϤāĻžāϰāĻŋāĻ– āĻĒāĻŋāĻ•āĻžāϰ, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āϏāĻŋāϞ⧇āĻ•ā§āϟāϰ, āĻāĻ¨ā§āϟāĻŋāϟāĻŋ āϏāĻžāĻ°ā§āϚ, āĻ…ā§āϝāĻžāĻ•āĻļāύ āĻĄā§āϰāĻĒāĻĄāĻžāωāĻ¨â€”āĻāϗ⧁āϞāĻŋ āφāĻĒāύāĻžāϰ āĻŸā§‡āĻŦāĻŋāϞ āĻ“ āχāύāĻĄā§‡āĻ•ā§āϏāϕ⧇āĻ“ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āϚāĻžāχāϤ⧇ āĻĻā§āϰ⧁āϤ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻ…āĻ­āĻŋāĻœā§āĻžāϤāĻž āĻŦāϜāĻžā§Ÿ āĻĨāĻžāϕ⧁āĻ• āĻ­āϞāĻŋāωāĻŽ āĻŦāĻžā§œāϞ⧇āĻ“āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻŦ⧁āĻāĻŦ⧇āύ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āωāĻĒāĻ•āĻžāϰ⧀ āĻšāĻŦ⧇ āĻ•āĻŋāύāĻž

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻ…āĻĄāĻŋāϟ āϞāϗ⧇āϰ āϜāĻ¨ā§āϝ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āϏ⧇āϰāĻž āĻ…āύ⧁āĻļā§€āϞāύ āύāϝāĻŧāĨ¤ āĻāϟāĻŋ āϞāĻ­ā§āϝ āĻšā§Ÿ āϝāĻ–āύ āĻāĻ•āϟāĻŋ āĻŸā§‡āĻŦāĻŋāϞ āĻāϤ āĻŦāĻĄāĻŧ āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧ āϝ⧇ āĻĻ⧈āύāĻ¨ā§āĻĻāĻŋāύ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻ“ āϰ⧁āϟāĻŋāύ āϰāĻ•ā§āώāĻŖāĻžāĻŦ⧇āĻ•ā§āώāĻŖ āĻāϕ⧇ āĻ…āĻĒāϰ⧇āϰ āĻŦāĻŋāϰ⧁āĻĻā§āϧ⧇ āĻ•āĻžāϜ āĻ•āϰāĻž āĻļ⧁āϰ⧁ āĻ•āϰ⧇āĨ¤

āĻāĻ•āϟāĻŋ āϏāĻšāϜ āϏāĻžāχāĻœā§‡āϰ āχāĻ™ā§āĻ—āĻŋāϤ: āϝāĻ–āύ āĻāĻ•āϟāĻŋ āχāϭ⧇āĻ¨ā§āϟ āĻŸā§‡āĻŦāĻŋāϞ āĻĻāĻļāĻ• āϞāĻžāϖ⧇āϰ āϰ⧋-āϤ⧇ āĻĒ⧌āρāĻ›āĻžā§Ÿ, āϤāĻ–āύ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰāĻž āωāϚāĻŋāϤāĨ¤ āϝāĻ–āύ āĻŸā§‡āĻŦāĻŋāϞ āĻāĻŦāĻ‚ āϤāĻžāϰ āχāύāĻĄā§‡āĻ•ā§āϏ āĻĻāĻļāĻ• āĻ—āĻŋāĻ—āĻžāĻŦāĻžāχāĻŸā§‡ āϚāϞ⧇ āϝāĻžā§Ÿ, āĻāĻŽāύāĻ•āĻŋ "āϏāϰāϞ" āϤāĻžāϰāĻŋāĻ–-āϰ⧇āĻžā§āϜ āϏāĻžāĻ°ā§āϚāĻ“ āϧ⧀āϰ āĻŦāĻž āĻ…āύāĻŋāĻļā§āϚāĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āĻ•āĻžāϰāĻŖ āĻĄāĻŋāĻ¸ā§āĻ• āĻĨ⧇āϕ⧇ āĻŦ⧇āĻļāĻŋ āĻĄā§‡āϟāĻž āĻĒ⧇āϜ āĻĒāĻĄāĻŧāϤ⧇ āĻšā§Ÿ āĻāĻŦāĻ‚ āχāύāĻĄā§‡āĻ•ā§āϏ āϰāĻ•ā§āώāĻŖāĻžāĻŦ⧇āĻ•ā§āώāĻŖ āĻŦā§āϝāϝāĻŧāĻŦāĻšā§āϞ āĻšā§ŸāĨ¤

āϏ⧁āĻ¸ā§āĻĒāĻˇā§āϟ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϏāĻ‚āϕ⧇āϤ āĻšāϞ⧋ āϝāĻ–āύ āύāĻŋ⧟āĻŽāĻŋāϤāĻ­āĻžāĻŦ⧇ āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āϛ⧋āϟ āϏāĻŽā§Ÿ āĻ¸ā§āϞāĻžāχāϏ āϚāĻžāύ (āĻ—āϤ āĻĻāĻŋāύ, āĻ—āϤ āϏāĻĒā§āϤāĻžāĻš), āĻ•āĻŋāĻ¨ā§āϤ⧁ PostgreSQL āĻāĻ–āύāĻ“ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻŦ⧜ āĻ…āĻ‚āĻļ āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻ•āϰ⧇āĨ¤ āĻāϟāĻŋ āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύ āϧ⧀āϰ "āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ• āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ" āĻ¸ā§āĻ•ā§āϰ⧀āύ āĻŦāĻž āϤāĻžāϰāĻŋāĻ–+āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀, āĻ…ā§āϝāĻžāĻ•āĻļāύ āϟāĻžāχāĻĒ āĻŦāĻž āĻāĻ¨ā§āϟāĻŋāϟāĻŋ ID āĻĻā§āĻŦāĻžāϰāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰāĻž āĻ…āĻĄāĻŋāϟ āĻšāĻŋāϏ⧇āĻŦ⧇āĨ¤ āϝāĻĻāĻŋ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻĒā§āĻ˛ā§āϝāĻžāύ āĻŦ⧜ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻĻ⧇āĻ–āĻžā§Ÿ āĻŦāĻž āĻŦāĻžāĻĢāĻžāϰ āϰāĻŋāĻĄ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻŦ⧇āĻļāĻŋ āĻĨāĻžāϕ⧇, āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻŋ āĻāĻŽāύ āĻĄā§‡āϟāĻž āĻĒ⧜āϛ⧇āύ āϝāĻžāϰ āĻĻāϰāĻ•āĻžāϰ āĻ›āĻŋāϞ āύāĻžāĨ¤

āϰāĻ•ā§āώāĻŖāĻžāĻŦ⧇āĻ•ā§āώāĻŖ āϏāĻ‚āϕ⧇āϤāĻ“ āϏāĻŽāĻžāύāĻ­āĻžāĻŦ⧇ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āύ:

  • VACUUM āĻāĻŦāĻ‚ autovacuum āφāϗ⧇āϰ āϤ⧁āϞāύāĻžā§Ÿ āĻ…āύ⧇āĻ• āĻŦ⧇āĻļāĻŋ āϏāĻŽā§Ÿ āĻ¨ā§‡ā§ŸāĨ¤
  • Autovacuum āĻĒāĻŋāĻ›āĻŋā§Ÿā§‡ āĻĒā§œā§‡ āĻāĻŦāĻ‚ āĻĄā§‡āĻĄ āϟāĻžāĻĒāϞāϏ (āĻŦloat) āϜāĻŽāĻž āĻšā§ŸāĨ¤
  • āχāύāĻĄā§‡āĻ•ā§āϏāϗ⧁āϞ⧋ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻžāϰ āĻšā§‡ā§Ÿā§‡ āĻĻā§āϰ⧁āϤ āĻŦāĻžā§œā§‡, āĻŦāĻŋāĻļ⧇āώāϤ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āϕ⧋āϞāĻžāĻŽ āχāύāĻĄā§‡āĻ•ā§āϏāĨ¤
  • āϰāĻ•ā§āώāĻŖāĻžāĻŦ⧇āĻ•ā§āώāĻŖ āϚāϞāĻžāĻ•āĻžāϞ⧀āύ āϞāĻ• āĻ•āύāĻŸā§‡āύāĻļāύ āĻŦ⧇āĻļāĻŋ āϞāĻ•ā§āώāĻŖā§€ā§Ÿ āĻšā§ŸāĨ¤

āĻ…āĻĒāĻžāϰ⧇āĻļāύāĻžāϞ āĻ–āϰāϚāχ āϧ⧀āϰ⧇ āϧ⧀āϰ⧇ āϟāĻŋāĻŽāϕ⧇ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ā§Ÿā§‡ āϠ⧇āϞ⧇ āĻĻā§‡ā§ŸāĨ¤ āĻŦā§āϝāĻžāĻ•āφāĻĒ āĻāĻŦāĻ‚ āϰāĻŋāĻ¸ā§āĻŸā§‹āϰ āϧ⧀āϰ⧇ āϝāĻžā§Ÿ, āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āĻŦāĻžā§œā§‡, āĻāĻŦāĻ‚ āϰāĻŋāĻŸā§‡āύāĻļāύ āϜāĻŦāϗ⧁āϞ⧋ āĻŦā§āϝāϝāĻŧāĻŦāĻšā§āϞ āĻšā§Ÿ āĻ•āĻžāϰāĻŖ āĻŦ⧜ DELETE āϗ⧁āϞ⧋ āĻŦLOAT āĻāĻŦāĻ‚ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻ­ā§āϝāĻžāϕ⧁āϝāĻŧāĻžāĻŽ āϏ⧃āĻˇā§āϟāĻŋ āĻ•āϰ⧇āĨ¤

āφāĻĒāύāĻžāϰ āĻĒā§āϰāϧāĻžāύ āϞāĻ•ā§āĻˇā§āϝ āϝāĻĻāĻŋ āĻĨāĻžāϕ⧇ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āϰāĻŋāĻŸā§‡āύāĻļāύ āύ⧀āϤāĻŋ āĻāĻŦāĻ‚ āĻĻā§āϰ⧁āϤ "āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ• āϏāĻŽā§Ÿ" āĻ•ā§ā§Ÿā§‡āϰāĻŋ, āϤāĻžāĻšāϞ⧇ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϏāĻžāϧāĻžāϰāĻŖāϤ āϗ⧁āϰ⧁āĻ¤ā§āĻŦ āϏāĻšāĻ•āĻžāϰ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰāĻžāϰ āϝ⧋āĻ—ā§āϝāĨ¤ āϝāĻĻāĻŋ āĻŸā§‡āĻŦāĻŋāϞ āĻŽāĻžāĻāĻžāϰāĻŋ āφāĻ•āĻžāϰ⧇āϰ āĻāĻŦāĻ‚ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āχāϤ⧋āĻŽāĻ§ā§āϝ⧇āχ āĻ­āĻžāϞ āχāύāĻĄā§‡āĻ•ā§āϏāĻŋāĻ‚ āĻĻāĻŋā§Ÿā§‡ āĻĻā§āϰ⧁āϤ āĻĨāĻžāϕ⧇, āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϜāϟāĻŋāϞāϤāĻž āĻŦāĻžā§œāĻžāχāϤ⧇ āĻĒāĻžāϰ⧇ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āϞāĻžāĻ­ āĻ›āĻžā§œāĻžāĨ¤

āχāϭ⧇āĻ¨ā§āϟ āĻ“ āĻ…āĻĄāĻŋāϟ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϜāĻ¨ā§āϝ āĻŽāĻŋāϞāĻžāύ⧋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻ…āĻĒāĻļāύ

āĻ…āϧāĻŋāĻ•āĻžāĻ‚āĻļ āĻ…āĻĄāĻŋāϟ āĻ“ āχāϭ⧇āĻ¨ā§āϟ āĻĄā§‡āϟāĻžāϰ āϜāĻ¨ā§āϝ āϏāĻšāϜāϤāĻŽ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻšāϞ⧋ āϏāĻŽā§ŸāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āϰ⧇āĻžā§āϜ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚āĨ¤ āϞāĻ—āϗ⧁āϞ⧋ āϏāĻŽā§ŸāĻžāύ⧁āĻ•ā§āϰāĻŽā§‡ āφāϏ⧇, āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āĻĒā§āϰāĻžāϝāĻŧāχ "āĻ—āϤ ⧍ā§Ē āϘāĻŖā§āϟāĻž" āĻŦāĻž "āĻ—āϤ ā§Šā§Ļ āĻĻāĻŋāύ"-āĻ āĻŽāύ⧋āϝ⧋āĻ— āĻĻā§‡ā§Ÿ, āĻāĻŦāĻ‚ āϰāĻŋāĻŸā§‡āύāĻļāύ āϏāĻžāϧāĻžāϰāĻŖāϤ āϏāĻŽā§ŸāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ•āĨ¤ āϏāĻŽā§ŸāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇ āĻĒ⧁āϰāύ⧋ āĻĄā§‡āϟāĻž āĻĄā§āϰāĻĒ āĻ•āϰāĻž āĻāĻ•āϟāĻŋ āĻŦ⧜ DELETE āϚāĻžāϞāĻžāύ⧋āϰ āĻšā§‡ā§Ÿā§‡ āϏāĻšāϜ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āϟāĻžāχāĻŽ āϰ⧇āĻžā§āϜ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āχāύāĻĄā§‡āĻ•ā§āϏāϗ⧁āϞ⧋āϕ⧇ āϛ⧋āϟ āĻāĻŦāĻ‚ āĻŦ⧇āĻļāĻŋ āĻĢā§‹āĻ•āĻžāϏāĻĄ āϰāĻžāϖ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇ āϤāĻžāϰ āύāĻŋāϜāĻ¸ā§āĻŦ āχāύāĻĄā§‡āĻ•ā§āϏ āĻĨāĻžāϕ⧇, āϤāĻžāχ āĻ—āϤ āϏāĻĒā§āϤāĻžāĻšā§‡āϰ āϜāĻ¨ā§āϝ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻļāĻžāϞ āχāύāĻĄā§‡āĻ•ā§āϏ āĻĒāĻžā§Ÿā§‡ āĻšāĻžāρāϟāϤ⧇ āĻšāĻŦ⧇ āύāĻž āϝ⧇āϟāĻŋ āĻŦāĻ›āϰ⧇āϰ āχāϤāĻŋāĻšāĻžāϏ āĻ•āĻ­āĻžāϰ āĻ•āϰ⧇āĨ¤

āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻ¸ā§āϟāĻžāχāϞ āφāϛ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏ⧇āϗ⧁āϞ⧋ āĻ•āĻŽ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻĢāĻŋāϟ āĻšā§Ÿ:

  • List (āĻŸā§‡āĻ¨ā§āϝāĻžāĻ¨ā§āϟ āĻŦāĻž āĻ•āĻžāĻ¸ā§āϟāĻŽāĻžāϰ) āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻ•ā§Ÿā§‡āĻ•āϟāĻŋ āϖ⧁āĻŦ āĻŦ⧜ āĻŸā§‡āĻ¨ā§āϝāĻžāĻ¨ā§āϟ āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻ•āϟāĻŋ āĻŸā§‡āĻ¨ā§āϝāĻžāĻ¨ā§āĻŸā§‡āϰ āϭ⧇āϤāϰ⧇āχ āĻĨāĻžāϕ⧇āĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻļāϤ āĻŦāĻž āĻšāĻžāϜāĻžāϰ āĻŸā§‡āĻ¨ā§āϝāĻžāĻ¨ā§āϟ āĻāϞ⧇ āϤāĻž āĻ•āĻˇā§āϟāĻĻāĻžā§ŸāĻ• āĻšā§ŸāĨ¤
  • Hash (āϞāĻŋāĻ–āύ⧇āϰ āĻ­āĻžāϰāϏāĻžāĻŽā§āϝ) āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āϝāĻ–āύ āφāĻĒāύāĻžāϰ āϏāĻŽā§Ÿ-āωāχāĻ¨ā§āĻĄā§‹ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āύ⧇āχ āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āϞ⧇āĻ–āĻžāϗ⧁āϞ⧋ āϏāĻŽāĻ­āĻžāĻŦ⧇ āĻŦāĻŋāϤāϰāĻŖ āĻ•āϰāϤ⧇ āϚāĻžāύāĨ¤ āĻ…āĻĄāĻŋāϟ āϞāϗ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻ•āĻŽ āĻĒā§āϰāϚāϞāĻŋāϤ āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ āϰāĻŋāĻŸā§‡āύāĻļāύ āĻ“ āϏāĻŽā§ŸāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻŦā§āϰāĻžāωāϜāĻŋāĻ‚āϕ⧇ āĻ•āĻ āĻŋāύ āĻ•āϰ⧇āĨ¤
  • Subpartitioning (āϏāĻŽā§Ÿ + āĻŸā§‡āĻ¨ā§āϝāĻžāĻ¨ā§āϟ) āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀ āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϜāϟāĻŋāϞāϤāĻž āĻĻā§āϰ⧁āϤ āĻŦ⧇āĻĄāĻŧ⧇ āϝāĻžā§ŸāĨ¤ āĻāϟāĻŋ āĻŽā§‚āϞāϤ āϖ⧁āĻŦ āωāĻšā§āϚ āĻ­āϞāĻŋāωāĻŽ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϜāĻ¨ā§āϝ āϝ⧇āĻ–āĻžāύ⧇ āĻŸā§‡āĻ¨ā§āϝāĻžāĻ¨ā§āϟ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āύāϤāĻžāϰ āĻ•āĻĄāĻŧāĻž āϚāĻžāĻšāĻŋāĻĻāĻž āĻĨāĻžāϕ⧇āĨ¤

āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āϏāĻŽā§Ÿ-āϰ⧇āĻžā§āϜ āĻŦ⧇āϛ⧇ āύ⧇āύ, āĻāĻ•āϟāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϏāĻžāχāϜ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύ āϝāĻž āĻŦā§āϰāĻžāωāϜāĻŋāĻ‚ āĻ“ āϰāĻŋāĻŸā§‡āύāĻļāύ⧇āϰ āϏāĻ™ā§āϗ⧇ āĻŽā§‡āϞ⧇āĨ¤ āĻĻ⧈āύāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϖ⧁āĻŦ āωāĻšā§āϚ āĻ­āϞāĻŋāωāĻŽ āĻŦāĻž āĻ•āĻ ā§‹āϰ āϰāĻŋāĻŸā§‡āύāĻļāύ⧇āϰ āϜāĻ¨ā§āϝ āĻŽāĻžāύ⧇ āĻĻā§‡ā§ŸāĨ¤ āĻŽāĻžāĻāĻžāϰāĻŋ āĻ­āϞāĻŋāωāĻŽā§‡ āĻŽāĻžāϏāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āϏāĻšāϜāĨ¤

āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ• āωāĻĻāĻžāĻšāϰāĻŖ: āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĻāϞ āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ āϏāĻ•āĻžāϞ⧇ āĻŦā§āϝāĻ°ā§āĻĨ āϞāĻ—āχāύ āĻšā§‡āĻ• āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻļ⧇āώ ā§­ āĻĻāĻŋāύ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰ⧇, āϤāĻžāĻšāϞ⧇ āĻĻ⧈āύāĻŋāĻ• āĻŦāĻž āϏāĻžāĻĒā§āϤāĻžāĻšāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϕ⧇āĻŦāϞ āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāϗ⧁āϞ⧋āχ āϟāĻžāϚ āĻ•āϰāĻŦ⧇āĨ¤ PostgreSQL āĻŦāĻžāĻ•āĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāϗ⧁āϞ⧋ āωāĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āĨ¤

āϝ⧇ āϕ⧋āύ⧋ āĻĒāĻĻā§āϧāϤāĻŋ āύāĻŋāϞ⧇āĻ“, āϏāĻžāϧāĻžāϰāĻŖ āĻ•āĻžāϜāϗ⧁āϞ⧋ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āĻ•āϰ⧁āύ: āĻ­āĻŦāĻŋāĻˇā§āĻ¯ā§Ž āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰāĻž, āĻĻ⧇āϰāĻŋāϤ⧇ āφāϏāĻž āχāϭ⧇āĻ¨ā§āϟ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞ āĻ•āϰāĻž, āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŦāĻžāωāĻ¨ā§āĻĄāĻžāϰāĻŋāϤ⧇ (āĻĻāĻŋāύ āĻļ⧇āώ, āĻŽāĻžāϏ āĻļ⧇āώ) āĻ•āĻŋ āĻšāĻŦ⧇ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰāĻžāĨ¤ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϤāĻ–āύāχ āϞāĻžāĻ­āϜāύāĻ• āĻšāĻŦ⧇ āϝāĻ–āύ āĻāχ āϰ⧁āϟāĻŋāύāϗ⧁āϞ⧋ āϏāĻšāϜ āĻĨāĻžāϕ⧇āĨ¤

āϏāĻ āĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻŦ⧇āϛ⧇ āύ⧇āĻŦ⧇āύ

āϞāĻ— āϏāĻžāĻ°ā§āĻšā§‡ āĻ—āĻžāĻ°ā§āĻĄāϰ⧇āχāϞ āϝ⧋āĻ— āĻ•āϰ⧁āύ
āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻĻāĻŋāϝāĻŧ⧇ āϰāĻžāϖ⧁āύ: āĻļ⧇āώ ⧍ā§Ē āϘāĻŖā§āϟāĻžâ€”āϝāĻžāϤ⧇ āĻ­āϞāĻŋāωāĻŽ āĻŦāĻžāĻĄāĻŧāϞ⧇ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻĻā§āϰ⧁āϤ āĻĨāĻžāϕ⧇āĨ¤
āĻāĻ–āύ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ

āĻ­āĻžāϞ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āĻšāϞ āϏ⧇āϟāĻŋ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻŸā§‡āĻŦāĻŋāϞ āĻĒ⧜āĻž āĻšā§Ÿ āϤāĻžāϰ āϏāĻžāĻĨ⧇ āĻŽā§‡āϞ⧇, āĻĄāĻžāϟāĻžāϰ āĻĄāĻžā§ŸāĻžāĻ—ā§āϰāĻžāĻŽ āĻĻ⧇āϖ⧇ āύ⧟āĨ¤

āχāϭ⧇āĻ¨ā§āϟ āĻ“ āĻ…āĻĄāĻŋāϟ āϞāϗ⧇āϰ āϜāĻ¨ā§āϝ, āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ: āĻŽāĻžāύ⧁āώ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĒā§āϰāĻĨāĻŽā§‡ āϕ⧋āύ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇, āĻĒā§āϰāĻžā§Ÿ āϏāĻŦ āϏāĻŽā§Ÿ? āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϟāĻŋāĻŽā§‡āϰ āϜāĻ¨ā§āϝ āĻāϟāĻž āĻāĻ•āϟāĻŋ āϏāĻŽā§Ÿ āϰ⧇āĻžā§āϜ (āĻļ⧇āώ ⧍ā§Ē āϘāĻ¨ā§āϟāĻž, āĻļ⧇āώ ā§­ āĻĻāĻŋāύ, āĻ•āĻžāĻ¸ā§āϟāĻŽ āϤāĻžāϰāĻŋāĻ–)āĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āĻ“ āϤāĻžāχ āĻšā§Ÿ, āϏāĻŽā§ŸāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϏāĻžāϧāĻžāϰāĻŖāϤ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻŦ⧜ āĻ“ āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽāĻžāύāϝ⧋āĻ—ā§āϝ āϞāĻžāĻ­ āĻĻā§‡ā§Ÿ āĻ•āĻžāϰāĻŖ PostgreSQL āĻŦ⧇āϛ⧇ āĻ¨ā§‡ā§ŸāĻž āϰ⧇āĻžā§āĻœā§‡āϰ āĻŦāĻžāχāϰ⧇ āĻĨāĻžāĻ•āĻž āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāϗ⧁āϞ⧋ āĻ¸ā§āĻ•āĻŋāĻĒ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āϕ⧀-āϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻĻā§€āĻ°ā§āϘāĻŽā§‡ā§ŸāĻžāĻĻāĻŋ āĻĒā§āϰāϤāĻŋāĻļā§āϰ⧁āϤāĻŋ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύāĨ¤ āφāĻĒāύāĻŋ āϏ⧇āχ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻ…āĻĒā§āϟāĻŋāĻŽāĻžāχāϜ āĻ•āϰāϛ⧇āύ āϝ⧇āϗ⧁āϞ⧋ āφāĻĒāύ⧇ āĻŦāĻ›āϰ āϧāϰ⧇ āϚāĻžāϞāĻžāĻŦ⧇āύāĨ¤

āĻŽāĻžāύ⧁āώ āϝ⧇ "āĻĒā§āϰāĻĨāĻŽ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ" āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏ⧇āϟāĻŋ āĻĨ⧇āϕ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ

āĻ…āϧāĻŋāĻ•āĻžāĻ‚āĻļ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻ¸ā§āĻ•ā§āϰ⧀āύ āĻāĻ•āϟāĻŋ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰ⧇: āϏāĻŽā§Ÿ āϰ⧇āĻžā§āϜ āĻāĻŦāĻ‚ āϤāĻžāϰāĻĒāϰ āϐāĻšā§āĻ›āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀, āĻ…ā§āϝāĻžāĻ•āĻļāύ, āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ āĻŦāĻž āϰāĻŋāϏ⧋āĻ°ā§āϏāĨ¤ āϝ⧇āϟāĻž āĻĢāϞāĻĒā§āϰāϏ⧂āĻ­āĻžāĻŦ⧇ āĻĢāϞāĻžāύ⧋ āĻĢāϞāĻžāĻĢāϞāϕ⧇ āĻĒā§āϰāĻĨāĻŽā§‡ āϏāĻ‚āϕ⧀āĻ°ā§āĻŖ āĻ•āĻ°ā§‡â€”āĻ“āϟāĻžāχ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĻāĻŋā§Ÿā§‡ āĻ•āϰ⧁āύāĨ¤

āĻĻā§āϰ⧁āϤ āĻŦāĻžāĻ¸ā§āϤāĻŦāϤāĻž āϝāĻžāϚāĻžāχ:

  • āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻ­āĻŋāω āϝāĻĻāĻŋ "āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ• āχāϭ⧇āĻ¨ā§āϟ" āĻšā§Ÿ, āϤāĻžāĻšāϞ⧇ timestamp āĻĻāĻŋā§Ÿā§‡ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰ⧁āύāĨ¤
  • āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻ­āĻŋāω āϝāĻĻāĻŋ "āĻāĻ•āϟāĻŋ āĻŸā§‡āĻ¨ā§āϝāĻžāĻ¨ā§āϟ/āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āĻŸā§‡āϰ āχāϭ⧇āĻ¨ā§āϟ" āĻšā§Ÿ, āϤāĻžāĻšāϞ⧇ tenant_id āĻ…āĻ°ā§āĻĨāĻŦāĻš āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϕ⧇āĻŦāϞ āϝāĻĻāĻŋ āĻŸā§‡āĻ¨ā§āϝāĻžāĻ¨ā§āϟāϗ⧁āϞ⧋ āĻĒāĻ°ā§āϝāĻžāĻĒā§āϤ āĻŦāĻĄāĻŧ āĻšā§ŸāĨ¤
  • āϝāĻĻāĻŋ āĻĒā§āϰāĻĨāĻŽ āϧāĻžāĻĒ āϏāĻŦāϏāĻŽāϝāĻŧ "āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻŦ⧇āϛ⧇ āύ⧇āĻ“ā§ŸāĻž" āĻšā§Ÿ, user_id āϞ⧋āĻ­āĻ¨ā§€ā§Ÿ āĻŽāύ⧇ āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻ…āύ⧇āĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰ⧇ āϝāĻž āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āĻ āĻŋāύ āĻ•āϰ⧇ āϤ⧋āϞ⧇āĨ¤

āωāĻšā§āϚ-āĻ•āĻžāĻ°ā§āĻĄāĻŋāύāĻžāϞāĻŋāϟāĻŋ āϕ⧀ āĻā§œāĻŋā§Ÿā§‡ āϚāϞ⧁āύ

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϤāĻ–āύāχ āĻ­āĻžāϞ āĻ•āĻžāϜ āĻ•āϰ⧇ āϝāĻ–āύ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĄā§‡āϟāĻžāϰ āĻāĻ•āϟāĻŋ āĻ…āĻ°ā§āĻĨāĻŦāĻš āϟ⧁āĻ•āϰāĻžāĨ¤ user_id, session_id, request_id, device_id-āĻāϰ āĻŽāϤ⧋ āϕ⧀ āĻšāĻžāϜāĻžāϰ āĻŦāĻž āĻŽāĻŋāϞāĻŋāϝāĻŧāύ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāϟāĻŋ āĻŽā§‡āϟāĻžāĻĄā§‡āϟāĻž āĻ“āĻ­āĻžāϰāĻšā§‡āĻĄ āĻŦāĻžā§œāĻžā§Ÿ, āϰāĻ•ā§āώāĻŖāĻžāĻŦ⧇āĻ•ā§āώāĻŖ āϜāϟāĻŋāϞ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻĒā§āϰāĻžāϝāĻŧāχ āĻĒā§āĻ˛ā§āϝāĻžāύāĻŋāĻ‚ āϧ⧀āϰ āĻ•āϰ⧇āĨ¤

āϟāĻžāχāĻŽ-āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāϗ⧁āϞ⧋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ—āĻŖāύāĻž āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽāĻžāύāϝ⧋āĻ—ā§āϝ āϰāĻžāϖ⧇āĨ¤ āφāĻĒāύāĻŋ āĻĻ⧈āύāĻŋāĻ•, āϏāĻžāĻĒā§āϤāĻžāĻšāĻŋāĻ• āĻŦāĻž āĻŽāĻžāϏāĻŋāĻ• āĻŦ⧇āϛ⧇ āύ⧇āĻŦ⧇āύ āĻ­āϞāĻŋāωāĻŽ āĻ…āύ⧁āϝāĻžā§Ÿā§€āĨ¤ āϖ⧁āĻŦ āĻ•āĻŽ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ (āĻŦāĻ›āϰ⧇ āĻāĻ•) āϤ⧇āĻŽāύ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇ āύāĻžāĨ¤ āϖ⧁āĻŦ āĻŦ⧇āĻļāĻŋ (āĻĒā§āϰāϤāĻŋ āϘāĻŖā§āϟāĻž) āĻĻā§āϰ⧁āϤ āĻ“āĻ­āĻžāϰāĻšā§‡āĻĄ āĻŦāĻžā§œāĻžā§ŸāĨ¤

āϏāĻ āĻŋāĻ• āϟāĻžāχāĻŽāĻ¸ā§āĻŸā§āϝāĻžāĻŽā§āĻĒ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ: created_at āĻŦāύāĻžāĻŽ occurred_at

āϏāĻŽā§Ÿ āĻŦāϞāϤ⧇ āĻ•āĻŋ āĻŦā§‹āĻāĻžā§Ÿ āĻāϟāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟ āĻ•āϰ⧁āύ:

  • occurred_at: āϝāĻ–āύ āχāϭ⧇āĻ¨ā§āϟāϟāĻŋ āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āĻŸā§‡ āϘāĻŸā§‡āĻ›āĻŋāϞāĨ¤
  • created_at: āϝāĻ–āύ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻāϟāĻŋāϕ⧇ āϰ⧇āĻ•āĻ°ā§āĻĄ āĻ•āϰ⧇āϛ⧇āĨ¤

āĻ…āĻĄāĻŋāϟāϗ⧁āϞ⧋āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻĒā§āϰāĻļāĻžāϏāĻ•āϰāĻž āĻĒā§āϰāĻžāϝāĻŧāχ "āϘāϟāύāĻž āĻ•āĻ–āύ āϘāĻŸā§‡āĻ›āĻŋāϞ" āϏ⧇āϟāĻž āϜāĻžāύāϤ⧇ āϚāĻžāύāĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĻ⧇āϰāĻŋ āĻ•āϰ⧇ āφāϏāĻž (āĻ…āĻĢāϞāĻžāχāύ āĻŽā§‹āĻŦāĻžāχāϞ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ, āϰāĻŋāĻŸā§āϰāĻžāχ, āĻ•āĻŋāω) āĻŽāĻžāύ⧇ occurred_at āĻĻ⧇āϰāĻŋāϤ⧇ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āφāϏāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϝāĻĻāĻŋ āĻĻ⧇āϰāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻšā§Ÿ, created_at āĻĻāĻŋā§Ÿā§‡ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰāĻž āĻāĻŦāĻ‚ occurred_at-āĻ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāĻŋāĻ‚ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ āχāύāĻĄā§‡āĻ•ā§āϏ āϰāĻžāĻ–āĻž āĻ…āĻĒāĻžāϰ⧇āĻļāύāĻžāϞāĻŋ āĻŦ⧇āĻļāĻŋ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ…āĻ¨ā§āϝ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāϞ⧋ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟ āĻŦā§āϝāĻžāĻ•āĻĢāĻŋāϞ āύ⧀āϤāĻŋ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻ—ā§āϰāĻšāĻŖ āĻ•āϰāĻž āϝ⧇ āĻĒ⧁āϰāύ⧋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇ āĻŽāĻžāĻā§‡ āĻŽāĻžāĻā§‡ āĻĻ⧇āϰāĻŋāϤ⧇ āχāϭ⧇āĻ¨ā§āϟ āϝāĻžāĻŦ⧇āĨ¤

āϟāĻžāχāĻŽ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻŦ⧇āύ āϤāĻžāĻ“ āĻ āĻŋāĻ• āĻ•āϰ⧁āύāĨ¤ āĻāĻ•āϟāĻŋ āϏāĻ™ā§āĻ—āϤ āϟāĻžāχāĻĒ (āĻĒā§āϰāĻžāϝāĻŧāχ timestamptz) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ UTC āϕ⧇ āϏ⧋āĻ°ā§āϏ āĻ…āĻŦ āĻŸā§āϰ⧁āĻĨ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻĻ⧇āϖ⧁āύāĨ¤ āĻ­āĻŋāĻ‰ā§ŸāĻžāϰ⧇āϰ āϟāĻžāχāĻŽāĻœā§‹āύ UI-āĻ āĻĻ⧇āĻ–āĻžāύāĨ¤ āĻāϟāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻŦāĻžāωāĻ¨ā§āĻĄāĻžāϰāĻŋ āĻ¸ā§āĻĨāĻŋāϰ āϰāĻžāϖ⧇ āĻāĻŦāĻ‚ āĻĄā§‡-āϞāĻžāχāϟ āϏ⧇āĻ­āĻŋāĻ‚ āϏāĻŽāĻ¸ā§āϝāĻž āĻāĻĄāĻŧāĻžā§ŸāĨ¤

āϧāĻžāĻĒ⧇ āϧāĻžāĻĒ⧇: āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āĻ“ āϰ⧋āϞ āφāωāϟ

āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āϟ⧁āϞāϗ⧁āϞ⧋ āφāĻ¤ā§āĻŽāĻŦāĻŋāĻļā§āĻŦāĻžāϏ⧇āϰ āϏāĻžāĻĨ⧇ āĻ¸ā§āϕ⧇āϞ āĻ•āϰ⧁āύ
āϞāĻ—, āϜāĻŦ āĻāĻŦāĻ‚ āĻ“ā§Ÿā§‡āĻŦāĻšā§āĻ• āĻŦāĻžā§œāϞ⧇āĻ“ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āϟ⧁āϞāϗ⧁āϞ⧋ āĻĒā§āϰāϤāĻŋāĻ•ā§āϰāĻŋ⧟āĻžāĻļā§€āϞ āϰāĻžāϖ⧁āύāĨ¤
AppMaster āĻĻāĻŋā§Ÿā§‡ āύāĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āϰ⧁āύ

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚āϕ⧇ āĻāĻ•āϟāĻŋ āϛ⧋āϟ āĻŽāĻžāχāĻ—ā§āϰ⧇āĻļāύ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ āĻšāĻŋāϏ⧇āĻŦ⧇ āφāϚāϰāĻŖ āĻ•āϰāϞ⧇ āĻ•āĻžāϜ āϏāĻšāϜ āĻšā§Ÿ, āĻāĻ•āϟāĻŋ āϤāĻžā§œāĻžāĻšā§ā§œāĻž āϏāĻžāĻŽāĻžāĻ¨ā§āϝ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāĻŋāϏ⧇āĻŦ⧇ āύ⧟āĨ¤ āϞāĻ•ā§āĻˇā§āϝ āĻšāϞ⧋ āϏāϰāϞ āϞ⧇āĻ–āĻž, āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽāĻžāύāϝ⧋āĻ—ā§āϝ āĻĒ⧜āĻž, āĻāĻŦāĻ‚ āϰāĻŋāĻŸā§‡āύāĻļāύ āϝāĻž āϰ⧁āϟāĻŋāύ āĻ…āĻĒāĻžāϰ⧇āĻļāύ āĻšā§ŸāĨ¤

āĻŦāĻžāĻ¸ā§āϤāĻŦ_rollout āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž

  1. āφāĻĒāύāĻžāϰ āĻ­āϞāĻŋāωāĻŽā§‡āϰ āϏāĻžāĻĨ⧇ āĻŽāĻŋāϞ āϰ⧇āϖ⧇ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϏāĻžāχāϜ āĻŦāĻžāĻ›āĻžāχ āĻ•āϰ⧁āύāĨ¤ āĻŽāĻžāϏāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ āĻ•ā§Ÿā§‡āĻ• āϞāĻžāĻ– āϰ⧋ āĻĨāĻžāĻ•āϞ⧇ āĻ āĻŋāĻ•āĻ āĻžāĻ•āĨ¤ āϝāĻĻāĻŋ āĻĒā§āϰāϤāĻŋ āĻŽāĻžāϏ⧇ āĻ•ā§Ÿā§‡āĻ• āϕ⧋āϟāĻŋāϰ āϰ⧋ āχāύāϏāĻžāĻ°ā§āϟ āĻšā§Ÿ, āϤāĻ–āύ āϏāĻžāĻĒā§āϤāĻžāĻšāĻŋāĻ• āĻŦāĻž āĻĻ⧈āύāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āχāύāĻĄā§‡āĻ•ā§āϏ āϛ⧋āϟ āϰ⧇āϖ⧇ āĻ­ā§āϝāĻžāϕ⧁āϝāĻŧāĻžāĻŽ āĻ•āĻžāϜāϕ⧇ āϏāĻŋāĻŽāĻŋāϤ āϰāĻžāϖ⧇āĨ¤

  2. āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϜāĻ¨ā§āϝ āϕ⧀ āĻ“ āĻ•āύāĻ¸ā§āĻŸā§āϰ⧇āχāĻ¨ā§āϟ āĻĄāĻŋāϜāĻžāχāύ āĻ•āϰ⧁āύāĨ¤ PostgreSQL-āĻ āĻāĻ•āϟāĻŋ āχāωāύāĻŋāĻ• āĻ•āύāĻ¸ā§āĻŸā§āϰ⧇āχāĻ¨ā§āϟāϕ⧇ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰāϤ⧇ āĻšā§Ÿ (āĻ…āĻĨāĻŦāĻž āĻ…āĻ¨ā§āϝāĻ­āĻžāĻŦ⧇ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āϰāϤ⧇ āĻšāĻŦ⧇)āĨ¤ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ āĻšāϞ⧋ (created_at, id), āϝ⧇āĻ–āĻžāύ⧇ id āĻœā§‡āύāĻžāϰ⧇āϟ āĻ•āϰāĻž āĻšā§Ÿ āĻāĻŦāĻ‚ created_at āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀āĨ¤ āĻāϟāĻž āĻĒāϰ⧇ āĻāĻŽāύ āĻŦāĻŋāĻ¸ā§āĻŽā§Ÿ āĻā§œāĻžā§Ÿ āϝ⧇ āφāĻĒāύāĻŋ āϝ⧇ āĻ•āύāĻ¸ā§āĻŸā§āϰ⧇āχāĻ¨ā§āϟ āφāĻļāĻž āĻ•āϰāĻ›āĻŋāϞ⧇āύ āϤāĻž āĻ…āύ⧁āĻŽā§‹āĻĻāĻŋāϤ āύ⧟āĨ¤

  3. āφāϗ⧇āχ āĻ­āĻŦāĻŋāĻˇā§āĻ¯ā§Ž āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύāĨ¤ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āύāĻž āĻĨāĻžāĻ•āĻžā§Ÿ āχāύāϏāĻžāĻ°ā§āϟ āĻŦā§āϝāĻ°ā§āĻĨ āύāĻž āĻ•āϰ⧇ āĻĻ⧇āĻ“ā§ŸāĻžāϰ āϜāĻ¨ā§āϝ āĻ…āĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰāĻŦ⧇āύ āύāĻžāĨ¤ āĻ•āϤāϟāĻž āφāϗ⧇āĻ­āĻžāϗ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦ⧇āύ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āύāĻŋāύ (āωāĻĻāĻžāĻšāϰāĻŖ: ā§¨â€“ā§Š āĻŽāĻžāϏ) āĻāĻŦāĻ‚ āĻāϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āύāĻŋ⧟āĻŽāĻŋāϤ āϜāĻŦ āĻŦāĻžāύāĻžāύāĨ¤

  4. āĻĒā§āϰāϤāĻŋ-āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āχāύāĻĄā§‡āĻ•ā§āϏ āϛ⧋āϟ āĻ“ āωāĻĻā§āĻĻ⧇āĻļā§āϝāĻŽā§āĻ–ā§€ āϰāĻžāϖ⧁āύāĨ¤ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āχāύāĻĄā§‡āĻ•ā§āϏāϕ⧇ āĻĢā§āϰāĻŋ āĻ•āϰ⧇ āύāĻž āĻ•āϰ⧇āĨ¤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āχāϭ⧇āĻ¨ā§āϟ āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āĻĒā§āϞāĻžāϏ āĻāĻ• āĻŦāĻž āĻĻ⧁āχāϟāĻŋ āχāύāĻĄā§‡āĻ•ā§āϏ āϞāĻžāϗ⧇ āϝāĻž āĻŦāĻžāĻ¸ā§āϤāĻŦ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻŽā§‡āϞ⧇, āϝ⧇āĻŽāύ actor_id, entity_id, āĻŦāĻž event_typeāĨ¤ "āĻĒā§āĻ°ā§Ÿā§‹āϜāύ⧇ āύ⧟" āχāύāĻĄā§‡āĻ•ā§āϏ āĻā§œāĻŋā§Ÿā§‡ āϚāϞ⧁āύāĨ¤ āύāϤ⧁āύ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇ āϏ⧇āϗ⧁āϞ⧋ āϝ⧋āĻ— āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧇ āĻĒ⧁āϰāύ⧋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻŦā§āϝāĻžāĻ•āĻĢāĻŋāϞ āĻ•āϰ⧁āύāĨ¤

  5. āϰāĻŋāĻŸā§‡āύāĻļāύ āĻĄā§āϰāĻĒāĻŋāĻ‚ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϘāĻŋāϰ⧇ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āĻ•āϰ⧁āύ, āύāĻž āϝ⧇ āϏāĻžāϰāĻŋ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰ⧇āĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ ā§§ā§Žā§Ļ āĻĻāĻŋāύ⧇āϰ āϞāĻ— āϰāĻžāϖ⧇āύ, āϤāĻžāĻšāϞ⧇ āĻĒ⧁āϰāύ⧋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĄā§āϰāĻĒ āĻ•āϰāĻž āĻĻā§āϰ⧁āϤ āĻāĻŦāĻ‚ āĻŦ⧜ DELETE-āϰ āϤ⧁āϞāύāĻžā§Ÿ āĻŦloat āĻ•āĻŽāĻžā§ŸāĨ¤ āϰāĻŋāĻŸā§‡āύāĻļāύ āύāĻŋ⧟āĻŽ, āϕ⧇ āϚāĻžāϞāĻžā§Ÿ, āĻāĻŦāĻ‚ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āϭ⧇āϰāĻŋāĻĢāĻžāχ āĻ•āϰāĻŦ⧇āύ āϤāĻž āϞāĻŋāϖ⧇ āϰāĻžāϖ⧁āύāĨ¤

āϛ⧋āϟ āωāĻĻāĻžāĻšāϰāĻŖ

āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻ…āĻĄāĻŋāϟ āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻĒā§āϰāϤāĻŋ āϏāĻĒā§āϤāĻžāĻšā§‡ ā§Ģ āĻŽāĻŋāϞāĻŋāϝāĻŧāύ āϰ⧋ āφāϏ⧇, āϤāĻžāĻšāϞ⧇ created_at-āĻ āϏāĻžāĻĒā§āϤāĻžāĻšāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻāĻ•āϟāĻŋ āϝ⧁āĻ•ā§āϤāĻŋāϏāĻ™ā§āĻ—āϤ āĻļ⧁āϰ⧁āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇ ⧍āϟāĻŋ āχāύāĻĄā§‡āĻ•ā§āϏ āϰāĻžāϖ⧁āύ: āϏāĻžāϧāĻžāϰāĻŖāϤ actor_id āĻĻā§āĻŦāĻžāϰāĻž āϏāĻžāĻ°ā§āĻšā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ• āĻāĻŦāĻ‚ entity_id āĻĻā§āĻŦāĻžāϰāĻž āφāϰ⧇āĻ•āϟāĻŋāĨ¤ āϰāĻŋāĻŸā§‡āύāĻļāύ āωāχāĻ¨ā§āĻĄā§‹ āĻĒ⧇āϰ⧋āϞ⧇āχ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻĒ⧁āϰāĻžāύ⧋ āϏāĻžāĻĒā§āϤāĻžāĻšāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĄā§āϰāĻĒ āĻ•āϰ⧁āύ āĻŦāϰāĻ‚ āĻŽāĻŋāϞāĻŋ⧟āύāϗ⧁āϞ⧋ āϏāĻžāϰāĻŋ āĻŽā§āϛ⧁āύ āύāĻžāĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ AppMaster-āĻ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āϟ⧁āϞ āĻŦāĻžāύāĻžāύ, āϤāĻžāĻšāϞ⧇ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āĻ“ āĻ•āύāĻ¸ā§āĻŸā§āϰ⧇āχāĻ¨ā§āϟāϗ⧁āϞ⧋ āφāϗ⧇āĻ­āĻžāϗ⧇āχ āĻ āĻŋāĻ• āĻ•āϰāĻž āĻ­āĻžāϞ⧋ āϝāĻžāϤ⧇ āĻĄā§‡āϟāĻž āĻŽāĻĄā§‡āϞ āĻ“ āĻœā§‡āύāĻžāϰ⧇āϟ āĻ•āϰāĻž āϕ⧋āĻĄ āĻāĻ•āχ āĻ…āύ⧁āĻŽāĻžāύ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰ⧇ āĻļ⧁āϰ⧁ āĻĨ⧇āϕ⧇āχāĨ¤

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāϗ⧁āϞ⧋āϕ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŦāĻĻāϞ⧇ āĻĻā§‡ā§Ÿ

āĻāĻ•āĻŦāĻžāϰ āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āϞāĻ— āĻŸā§‡āĻŦāĻŋāϞ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰāϞ⧇, āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāϗ⧁āϞ⧋ āφāϰ "āĻļ⧁āϧ⧁ UI" āĻĨāĻžāϕ⧇ āύāĻžāĨ¤ āĻāϗ⧁āϞ⧋ āĻŽā§‚āϞāϤ āĻ āĻŋāĻ• āĻ•āϰ⧇ āĻĻ⧇āϝāĻŧ āϝ⧇ āĻāĻ•āϟāĻŋ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻ•āϝāĻŧāϟāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϟāĻžāϚ āĻ•āϰāĻŦ⧇ āĻŦāĻž āĻĒ⧁āϰ⧋ āϝāĻžāĻŦāĻ¤ā§€ā§Ÿ āχāϤāĻŋāĻšāĻžāϏ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ•āϰāĻŦ⧇āĨ¤

āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻŦ⧜ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻŋāĻ• āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāϞ⧋: āϏāĻŽā§Ÿ āφāϰ āĻ…āĻĒāĻļāύāĻžāϞ āĻĨāĻžāĻ•āϞ⧇ āĻ āĻŋāĻ• āĻšāĻŦ⧇ āύāĻžāĨ¤ āϝāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āĻāĻ•āϟāĻŋ āĻ…āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āϏāĻžāĻ°ā§āϚ āϚāĻžāϞāĻžāϤ⧇ āĻĒāĻžāϰ⧇ (āϕ⧋āύ⧋ āϤāĻžāϰāĻŋāĻ– āϏ⧀āĻŽāĻž āύ⧇āχ, āĻļ⧁āϧ⧁ "āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ X-āĻāϰ āϏāĻŦ āĻĻ⧇āĻ–āĻžāĻ“"), PostgreSQL āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻšā§‡āĻ• āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻšā§‡āĻ• āĻĻā§āϰ⧁āϤ āĻšāϞ⧇āĻ“ āĻ…āύ⧇āĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ–ā§‹āϞāĻž āϗ⧇āϞ⧇ āĻĒ⧇āϜ āϧ⧀āϰ āĻšāĻŦ⧇āĨ¤

āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ āύāĻŋ⧟āĻŽ: āϞāĻ— āĻāĻŦāĻ‚ āĻ…āĻĄāĻŋāϟ āϏāĻžāĻ°ā§āĻšā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻŽā§Ÿ āϰ⧇āĻžā§āϜ āĻĻāĻžāĻŦāĻŋ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āϏ⧇āϟ āĻ•āϰ⧁āύ āĻ•āĻŋāϛ⧁ āϝ⧁āĻ•ā§āϤāĻŋāϝ⧁āĻ•ā§āϤ (āϝ⧇āĻŽāύ āĻļ⧇āώ ⧍ā§Ē āϘāĻŖā§āϟāĻž)āĨ¤ āϕ⧇āω āϝāĻĻāĻŋ āϏāĻ¤ā§āϝāĻŋāχ "āϏāĻŽāĻ¸ā§āϤ āϏāĻŽā§Ÿ" āϚāĻžāύ, āϏ⧇āϟāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āϜāĻŦāĻžāĻŦāĻĻāĻŋāĻšāĻŋ āĻ…āĻĒāĻļāύ āĻŦāĻžāύāĻžāύ āĻāĻŦāĻ‚ āϜāĻžāύāĻŋā§Ÿā§‡ āĻĻāĻŋāύ āϝ⧇ āĻĢāϞāĻžāĻĢāϞ āϧ⧀āϰ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāϗ⧁āϞ⧋āϕ⧇ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĒā§āϰ⧁āύāĻŋāĻ‚ā§Ÿā§‡āϰ āϏāĻžāĻĨ⧇ āĻŽā§‡āϞāĻžāύ

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĒā§āϰ⧁āύāĻŋāĻ‚ āϤāĻ–āύāχ āϏāĻšāĻžāϝāĻŧāĻ• āϝāĻ–āύ WHERE āĻ•ā§āϞāĻœā§‡ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āĻāĻŽāύāĻ­āĻžāĻŦ⧇ āĻĨāĻžāϕ⧇ āϝāĻž PostgreSQL āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ created_at BETWEEN X AND Y-āĻāϰ āĻŽāϤ⧋ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāϗ⧁āϞ⧋ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰāĻ­āĻžāĻŦ⧇ āĻĒā§āϰ⧁āύ āĻ•āϰ⧇āĨ¤ āĻĒā§āϰ⧁āύ āϭ⧇āϙ⧇ āĻĻ⧇āĻ“ā§ŸāĻž āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύāϗ⧁āϞ⧋āϰ āĻŽāĻ§ā§āϝ⧇ āĻ°ā§Ÿā§‡āϛ⧇ āϟāĻžāχāĻŽāĻ¸ā§āĻŸā§āϝāĻžāĻŽā§āĻĒāϕ⧇ āĻĄā§‡āĻŸā§‡ āĻ•āĻžāĻ¸ā§āϟ āĻ•āϰāĻž, āĻ•āϞāĻžāĻŽāϕ⧇ āϕ⧋āύ⧋ āĻĢāĻžāĻ‚āĻļāύ⧇ āĻŽā§‹ā§œāĻž, āĻŦāĻž āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•ā§€ā§Ÿā§‡āϰ āĻŦāĻĻāϞ⧇ āĻ…āĻ¨ā§āϝ āϏāĻŽā§Ÿ āĻ•āϞāĻžāĻŽā§‡ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰāĻžāĨ¤

āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇āϰ āϭ⧇āϤāϰ⧇ āχāύāĻĄā§‡āĻ•ā§āϏāϗ⧁āϞ⧋ āĻŽāĻžāύ⧁āώ⧇āϰ āφāϏāϞ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻŽā§‡āϞāĻžāύ⧋ āωāϚāĻŋāϤāĨ¤ āĻĒā§āϰāĻžāϝāĻŧāχ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻŽā§āĻŦāĻŋāύ⧇āĻļāύāϗ⧁āϞ⧋ āĻšāϞ⧋ āϏāĻŽā§Ÿ āĻĒā§āϞāĻžāϏ āφāϰ⧇āĻ•āϟāĻŋ āĻļāĻ°ā§āϤ: āĻŸā§‡āĻ¨ā§āϝāĻžāĻ¨ā§āϟ/āĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻĒ⧇āϏ, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀, āĻ…ā§āϝāĻžāĻ•āĻļāύ/āϟāĻžāχāĻĒ, āĻāĻ¨ā§āϟāĻŋāϟāĻŋ ID, āĻŦāĻž āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏāĨ¤

āϏāĻ°ā§āϟāĻŋāĻ‚ āĻ“ āĻĒ⧇āϜāĻŋāύ⧇āĻļāύ: āĻĒāĻžāϤāϞāĻž āϰāĻžāϖ⧁āύ

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āύāĻŋāĻœā§‡ āϧ⧀āϰ āĻĒ⧇āϜāĻŋāύ⧇āĻļāύ āĻ āĻŋāĻ• āĻ•āϰ⧇ āύāĻžāĨ¤ āϝāĻĻāĻŋ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āύāϤ⧁āύ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āϏāĻžāϜāĻžā§Ÿ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻĒ⧇āϜ ā§Ģā§Ļā§Ļā§Ļ-āĻ āĻāĻžāρāĻĒāĻžā§Ÿ, āĻ—āĻ­ā§€āϰ OFFSET āĻĒ⧇āϜāĻŋāύ⧇āĻļāύ āϤāĻ–āύāĻ“ PostgreSQL āϕ⧇ āĻ…āύ⧇āĻ• āϏāĻžāϰāĻŋ āĻĒāĻžā§œ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻŦāĻžāĻ§ā§āϝ āĻ•āϰ⧇āĨ¤

āĻ•āĻžāĻ°ā§āϏāĻžāϰ-āĻ¸ā§āϟāĻžāχāϞ āĻĒ⧇āϜāĻŋāύ⧇āĻļāύ āϞāϜāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻ­āĻžāϞ āĻ•āĻžāϜ āĻ•āϰ⧇: "āĻāχ āϟāĻžāχāĻŽāĻ¸ā§āĻŸā§āϝāĻžāĻŽā§āĻĒ/ID-āĻāϰ āφāϗ⧇ āχāϭ⧇āĻ¨ā§āϟāϗ⧁āϞ⧋ āϞ⧋āĻĄ āĻ•āϰ⧁āύ"āĨ¤ āĻāϟāĻŋ āχāύāĻĄā§‡āĻ•ā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϰāĻžāϖ⧇ āĻāĻŦāĻ‚ āĻ—āĻ­ā§€āϰ āĻ…āĻĢāϏ⧇āϟ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻā§œāĻžā§ŸāĨ¤

āĻĒā§āϰāĻŋāϏ⧇āϟāϗ⧁āϞ⧋āĻ“ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇āĨ¤ āĻ•ā§Ÿā§‡āĻ•āϟāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāχ āϏāĻžāϧāĻžāϰāĻŖāϤ āϝāĻĨ⧇āĻˇā§āϟ: āĻļ⧇āώ ⧍ā§Ē āϘāĻŖā§āϟāĻž, āĻļ⧇āώ ā§­ āĻĻāĻŋāύ, āφāϜ, āĻ—āϤāĻ•āĻžāϞ, āĻ•āĻžāĻ¸ā§āϟāĻŽ āϰ⧇āĻžā§āϜāĨ¤ āĻĒā§āϰāĻŋāϏ⧇āϟāϗ⧁āϞāĻŋ āφāĻ•āĻ¸ā§āĻŽāĻŋāĻ•āĻ­āĻžāĻŦ⧇ "āϏāĻŦ āĻ•āĻŋāϛ⧁ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ•āϰāĻž" āϏāĻžāĻ°ā§āϚ āĻ•āĻŽāĻžā§Ÿ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻ…āĻ­āĻŋāĻœā§āĻžāϤāĻžāϕ⧇ āĻĒā§‚āĻ°ā§āĻŦāĻžāύ⧁āĻŽāĻžāύāϝ⧋āĻ—ā§āϝ āϰāĻžāϖ⧇āĨ¤

āϏāĻžāϧāĻžāϰāĻŖ āϭ⧁āϞ āĻ“ āĻĢāĻžāρāĻĻ

āĻĒā§āϰāϝ⧁āĻ•ā§āϤāĻŋāĻ—āϤ āĻ‹āĻŖ āĻ›āĻžāĻĄāĻŧāĻžāχ āĻĻā§āϰ⧁āϤ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻ•āϰ⧁āύ
āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻĨ⧇āϕ⧇ āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ⧇ āĻĻā§āϰ⧁āϤ āϝāĻžāύ, āϤāĻžāϰāĻĒāϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻŦāĻĻāϞāĻžāϤ⧇ āĻĒāĻžāϰ⧇āĻ¨â€”āĻĒā§āϰāϝ⧁āĻ•ā§āϤāĻŋāĻ—āϤ āĻĻ⧇āύāĻžāĻĻāĻžāϰāĻŋāĻ¤ā§āĻŦ āĻ•āĻŽ āϰ⧇āϖ⧇āĨ¤
āĻŦāĻŋāĻ˛ā§āĻĄ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύ

āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ āϏāĻšāϜ āĻ•āĻžāϰāĻŖāϗ⧁āϞ⧋āϤ⧇ āĻŦā§āϝāĻ°ā§āĻĨ āĻšā§Ÿ: āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ āĻŋāĻ• āφāϛ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻ“ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ UI āϤāĻž āĻŽā§‡āϞ⧇ āύāĻžāĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āϚāĻžāύ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻšā§‹āĻ•, āĻŦāĻžāĻ¸ā§āϤāĻŦ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ“ āĻŦāĻžāĻ¸ā§āϤāĻŦ āϰāĻŋāĻŸā§‡āύāĻļāύāϕ⧇ āϕ⧇āĻ¨ā§āĻĻā§āϰ āĻ•āϰ⧇ āĻĄāĻŋāϜāĻžāχāύ āĻ•āϰ⧁āύāĨ¤

1) āϭ⧁āϞ āϏāĻŽā§Ÿ āĻ•āϞāĻžāĻŽā§‡ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰāĻž

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĒā§āϰ⧁āύāĻŋāĻ‚ āϤāĻ–āύāχ āĻšāϝāĻŧ āϝāĻ–āύ WHERE āĻ•ā§āϞāϜ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•ā§€ā§Ÿā§‡āϰ āϏāĻžāĻĨ⧇ āĻŽāĻŋāϞ⧇āĨ¤ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āϭ⧁āϞ āĻšāϞ⧋ created_at āĻĻāĻŋā§Ÿā§‡ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰāĻž āφāϰ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ event_time āĻĻā§āĻŦāĻžāϰāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰāĻžāĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻĻāϞ āϏāĻŦāϏāĻŽāϝāĻŧ āĻŦāĻ˛ā§‡â€”"10:00 āĻĨ⧇āϕ⧇ 10:15-āĻāϰ āĻŽāĻ§ā§āϝ⧇ āϕ⧀ āϘāĻŸā§‡āĻ›āĻŋāϞ?" āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻŸā§‡āĻŦāĻŋāϞ āχāύāĻœā§‡āĻļāύ āϏāĻŽā§Ÿ āĻĻāĻŋā§Ÿā§‡ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰāĻž, āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻŋ āĻāĻ–āύāĻ“ āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻžāϰ āĻšā§‡āϝāĻŧ⧇ āĻŦ⧇āĻļāĻŋ āĻĄā§‡āϟāĻž āϟāĻžāϚ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

2) āĻ…āύ⧇āĻ• āϛ⧋āϟ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰāĻž

āϘāĻŖā§āϟāĻžāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• (āĻŦāĻž āϛ⧋āϟ) āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϟidy āϞāĻžāĻ—āϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϗ⧁āϞ⧋ āĻ“āĻ­āĻžāϰāĻšā§‡āĻĄ āĻŦāĻžāĻĄāĻŧāĻžā§Ÿ: āĻŽā§āϝāĻžāύ⧇āϜ āĻ•āϰāϤ⧇ āĻŦ⧇āĻļāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ, āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻĒā§āĻ˛ā§āϝāĻžāύāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻŦ⧇āĻļāĻŋ āĻ•āĻžāϜ, āĻāĻŦāĻ‚ āĻŦ⧇āĻļāĻŋ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āĻŽāĻŋāϏāĻŋāĻ‚ āχāύāĻĄā§‡āĻ•ā§āϏ āĻŦāĻž āĻĒāĻžāϰāĻŽāĻŋāĻļāύāĨ¤

āϚāϰāĻŽ āύāĻž āĻšāϞ⧇ āĻĻ⧈āύāĻŋāĻ• āĻŦāĻž āĻŽāĻžāϏāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āϏāĻšāϜāĨ¤

3) āϧāϰ⧇ āύ⧇āĻ“ā§ŸāĻž āϝ⧇ "āĻ—ā§āϞ⧋āĻŦāĻžāϞ āχāωāύāĻŋāĻ•āύ⧇āϏ" āĻāĻ–āύāĻ“ āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻĄ āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻ•āĻŋāϛ⧁ āχāωāύāĻŋāĻ• āĻ•āύāĻ¸ā§āĻŸā§āϰ⧇āχāĻ¨ā§āϟ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧ: āĻ•āĻŋāϛ⧁ āχāωāύāĻŋāĻ• āχāύāĻĄā§‡āĻ•ā§āϏ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āύāĻž āĻšāϞ⧇ PostgreSQL āϏāĻŦ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇ āĻœā§‹āϰ āĻ•āϰ⧇ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻžāĨ¤

āĻāϟāĻŋ āϟāĻŋāĻŽāϗ⧁āϞ⧋āϕ⧇ āϚāĻŽāĻ• āĻĻā§‡ā§Ÿ āϝāĻ–āύ āϤāĻžāϰāĻž āĻ­āĻžāĻŦāĻ›āĻŋāϞ event_id āϚāĻŋāϰāĻĻāĻŋāύ āχāωāύāĻŋāĻ• āĻĨāĻžāĻ•āĻŦ⧇āĨ¤ āϝāĻĻāĻŋ āĻ—ā§āϞ⧋āĻŦāĻžāϞāĻŋ āχāωāύāĻŋāĻ• āφāχāĻĄāĻŋ āĻĻāϰāĻ•āĻžāϰ āĻšā§Ÿ, UUID āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āχāωāύāĻŋāĻ•āύ⧇āϏ āϏāĻžāĻŦāϧāĻžāύāϤāĻžāϰ āϏāĻžāĻĨ⧇ āĻšā§āϝāĻžāĻ¨ā§āĻĄā§‡āϞ āĻ•āϰ⧁āĻ¨â€”āĻĒā§āĻ°ā§Ÿā§‹āϜāύ⧇ āĻ…ā§āϝāĻžāĻĒ-āĻ¸ā§āϤāϰ⧇ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āϰ⧁āύāĨ¤

4) āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ UI-āϕ⧇ āĻ–ā§‹āϞāĻž āϏāĻžāĻ°ā§āϚ āϚāĻžāϞāĻžāϤ⧇ āĻĻ⧇āĻ“ā§ŸāĻž

āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ āĻĒā§āϰāĻžāϝāĻŧāχ āĻāĻŽāύ āϏāĻžāĻ°ā§āϚ āĻŦāĻ•ā§āϏ āĻĻāĻŋā§Ÿā§‡ āφāϏ⧇ āϝāĻž āϕ⧋āύ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ›āĻžā§œāĻžāχ āϚāϞ⧇āĨ¤ āĻāĻ•āϟāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻĄ āϞāĻ— āĻŸā§‡āĻŦāĻŋāϞ⧇, āĻāϟāĻž āϏāĻŦ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ¸ā§āĻ•ā§āϝāĻžāύ āĻ•āϰāĻžāϰ āĻ•āĻžāϰāĻŖ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻŽā§‡āϏ⧇āϜ āĻĒ⧇āϞ⧋āĻĄ āϜ⧁āĻĄāĻŧ⧇ āĻĢā§āϰāĻŋ-āĻŸā§‡āĻ•ā§āϏāϟ āϏāĻžāĻ°ā§āϚ āĻŦāĻŋāĻļ⧇āώāĻ­āĻžāĻŦ⧇ āĻā§āρāĻ•āĻŋāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āĻ—āĻžāĻ°ā§āĻĄāϰ⧇āχāϞ āϝ⧋āĻ— āĻ•āϰ⧁āύ: āϏāĻŽā§Ÿ āϰ⧇āĻžā§āϜ āĻŦāĻžāĻ§ā§āϝāϤāĻžāĻŽā§‚āϞāĻ• āĻ•āϰ⧁āύ, āĻĄāĻŋāĻĢāĻ˛ā§āϟ āϰ⧇āĻžā§āϜ āϕ⧇āĻĒ āĻ•āϰ⧁āύ, āĻāĻŦāĻ‚ "āϏāĻŽāĻ¸ā§āϤ āϏāĻŽā§Ÿ" āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āĻŦāĻžāύāĻžāύāĨ¤

5) āϰāĻŋāĻŸā§‡āύāĻļāύ āĻĒā§āĻ˛ā§āϝāĻžāύ āύāĻž āĻĨāĻžāĻ•āĻž

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϰāĻŋāĻŸā§‡āύāĻļāύ āύāĻŋāĻœā§‡ āĻĨ⧇āϕ⧇āχ āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰ⧇ āύāĻžāĨ¤ āĻāĻ•āϟāĻŋ āύ⧀āϤāĻŋ āĻ›āĻžāĻĄāĻŧāĻž, āφāĻĒāύāĻŋ āĻĒ⧁āϰāύ⧋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇āϰ āĻ—āĻžāĻĻāĻžā§Ÿ āφāϟāϕ⧇ āϝāĻžāύ, āĻ¸ā§āĻŸā§‹āϰ⧇āϜ āĻ…āĻ—ā§‹āĻ›āĻžāϞ⧋ āĻšā§Ÿ āĻāĻŦāĻ‚ āϰāĻ•ā§āώāĻŖāĻžāĻŦ⧇āĻ•ā§āώāĻŖ āϧ⧀āϰ āĻšā§ŸāĨ¤

āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻ…āĻĒāĻžāϰ⧇āϟāĻŋāĻ‚ āύāĻŋ⧟āĻŽā§‡ āĻāϗ⧁āϞ⧋ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύ: āĻ•āĻžāρāϚāĻž āχāϭ⧇āĻ¨ā§āϟ āĻ•āϤāĻĻāĻŋāύ āĻĨāĻžāϕ⧇ āϤāĻž āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰ⧁āύ, āĻ­āĻŦāĻŋāĻˇā§āĻ¯ā§Ž āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻāĻŦāĻ‚ āĻŽā§‡āϝāĻŧāĻžāĻĻā§‹āĻ¤ā§āϤ⧀āĻ°ā§āĻŖ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĄā§āϰāĻĒ āĻ…āĻŸā§‹āĻŽā§‡āϟ āĻ•āϰ⧁āύ, āχāύāĻĄā§‡āĻ•ā§āϏ āϧāĻžāϰāĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āϰ⧁āύ, āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ—āĻŖāύāĻž āĻ“ āĻŦāĻžāωāĻ¨ā§āĻĄāĻžāϰāĻŋ āĻŽāύāĻŋāϟāϰ āĻ•āϰ⧁āύ, āĻāĻŦāĻ‚ āϧ⧀āϰāϤāĻŽ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāϗ⧁āϞ⧋ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻŋāĻ• āĻ­āϞāĻŋāωāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŸā§‡āĻ¸ā§āϟ āĻ•āϰ⧁āύāĨ¤

āĻ•_commit āĻ•āϰāĻžāϰ āφāϗ⧇ āĻĻā§āϰ⧁āϤ āĻšā§‡āĻ•āϞāĻŋāĻ¸ā§āϟ

āύāĻŋāϰāĻžāĻĒāĻĻ āĻ…āĻĄāĻŋāϟ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ
āĻ…āĻĄāĻŋāϟ āĻŸā§āϰ⧇āχāϞāϗ⧁āϞ⧋āϤ⧇ āĻ…āĻĨ āĻāĻŦāĻ‚ āϰ⧋āϞ-āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻĻāĻŋāύ, āϝāĻžāϤ⧇ āϏāĻ āĻŋāĻ• āϞ⧋āϕ⧇āϰāĻž āϏāĻ āĻŋāĻ• āĻĄā§‡āϟāĻž āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžā§ŸāĨ¤
AppMaster āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύ

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻ…āĻĄāĻŋāϟ āϞāϗ⧇āϰ āϜāĻ¨ā§āϝ āĻŦ⧜ āϜāĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻŋ āύāĻŋ⧟āĻŽāĻŋāϤ āĻ•āĻžāϜ āĻŦāĻžā§œāĻžā§ŸāĨ¤ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻŦāĻĻāϞāĻžāύ⧋āϰ āφāϗ⧇ āĻŽāĻžāύ⧁āώ⧇āϰ āĻŸā§‡āĻŦāĻŋāϞāϟāĻŋ āĻŦāĻžāĻ¸ā§āϤāĻŦ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϤāĻž āϏāϤāĨā¤¯ā¤žā¤¨ā§āĻŦ⧇āώāĻŖ āĻ•āϰ⧁āύāĨ¤

āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻĒā§āϰāϧāĻžāύ āϏāĻŽāĻ¸ā§āϝāĻž āĻšā§Ÿ āϝ⧇ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒ⧇āϜāϗ⧁āϞ⧋ āϟāĻžāχāĻŽāφāωāϟ āĻ•āϰ⧇ āϝāĻ–āύ āϕ⧇āω "āĻ—āϤ ⧍ā§Ē āϘāĻŖā§āϟāĻž" āĻŦāĻž "āĻāχ āϏāĻĒā§āϤāĻžāĻš" āϖ⧁āϞ⧇, āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚-āĻāϰ āϜāĻ¨ā§āϝ āωāĻĒāϝ⧁āĻ•ā§āϤ āĻĒā§āϰāĻžāϝāĻŧāĨ¤ āϝāĻĻāĻŋ āĻ…āϧāĻŋāĻ•āĻžāĻ‚āĻļ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻšā§Ÿ "user ID āϏāĻŦ āϏāĻŽāϝāĻŧ⧇", āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻ•āĻŽ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰāĻŦ⧇ āϝāĻĻāĻŋ āύāĻž UI-āϤ⧇ āϏāĻžāĻ°ā§āϚ āĻ—āĻžāχāĻĄ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇ āϏāĻ āĻŋāĻ• āχāύāĻĄā§‡āĻ•ā§āϏ āϝ⧋āĻ— āĻ•āϰāĻž āĻšā§ŸāĨ¤

āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻšā§‡āĻ•āϞāĻŋāĻ¸ā§āϟ:

  • āϟāĻžāχāĻŽ āϰ⧇āĻžā§āϜ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāĨ¤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϤ⧇āχ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟ āωāχāĻ¨ā§āĻĄā§‹ āĻĨāĻžāϕ⧇ (from/to)āĨ¤ āϝāĻĻāĻŋ āĻ–ā§‹āϞāĻž-āϏ⧀āĻŽāĻž āϏāĻžāĻ°ā§āϚ āĻĒā§āϰāϚāϞāĻŋāϤ āĻšā§Ÿ, āĻĒā§āϰ⧁āύāĻŋāĻ‚ āĻ•āĻŽ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤
  • āϰāĻŋāĻŸā§‡āύāĻļāύ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĄā§āϰāĻĒ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤāĨ¤ āφāĻĒāύāĻŋ āĻĒ⧁āϰ⧋āύ⧋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĄā§āϰāĻĒ āĻ•āϰāϤ⧇ āĻ¸ā§āĻŦāĻžāĻšā§āĻ›āĻ¨ā§āĻĻā§āϝāĻŦā§‹āϧ āĻ•āϰ⧇āύ āĻāĻŦāĻ‚ āĻĄā§‡āϟāĻž āĻ•āϤāĻĻāĻŋāύ āϰāĻžāĻ–āĻž āĻšāĻŦ⧇ āϤāĻž āĻ¸ā§āĻĒāĻˇā§āϟāĨ¤
  • āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϏāĻ‚āĻ–ā§āϝāĻž āϝ⧁āĻ•ā§āϤāĻŋāϏāĻ™ā§āĻ—āϤāĨ¤ āĻŦāĻ›āϰ⧇ āφāύ⧁āĻŽāĻžāύāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ (āĻĻ⧈āύāĻŋāĻ•, āϏāĻžāĻĒā§āϤāĻžāĻšāĻŋāĻ•, āĻŽāĻžāϏāĻŋāĻ•) āĻšāĻŋāϏāĻžāĻŦ āĻ•āϰ⧁āύāĨ¤ āϖ⧁āĻŦ āϛ⧋āϟ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāϗ⧁āϞ⧋ āĻ“āĻ­āĻžāϰāĻšā§‡āĻĄ āĻŦāĻžā§œāĻžā§Ÿ; āϖ⧁āĻŦ āĻŦ⧜ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāϗ⧁āϞ⧋ āϞāĻžāĻ­ āĻ•āĻŽāĻžā§ŸāĨ¤
  • āχāύāĻĄā§‡āĻ•ā§āϏāϗ⧁āϞ⧋ āϞ⧋āϕ⧇āϰāĻž āφāϏāϞ⧇āχ āϝ⧇ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏ⧇āχ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€āĨ¤ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āĻŦāĻžāĻĻ⧇, āϏāĻžāϧāĻžāϰāĻŖ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ“ āϏāĻžāϜāĻžāύ⧋āϰ āĻ•ā§āϰāĻŽ āĻŽā§‡āϞāĻžāύ⧋ āχāύāĻĄā§‡āĻ•ā§āϏ āĻĒā§āĻ°ā§Ÿā§‹āϜāύāĨ¤
  • āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāϗ⧁āϞāĻŋ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋ⧟ āϤ⧈āϰāĻŋ āĻ“ āĻŽāύāĻŋāϟāϰ āĻ•āϰāĻž āĻšā§ŸāĨ¤ āĻāĻ•āϟāĻŋ āϰ⧁āϟāĻŋāύ āϜāĻŦ āĻ­āĻŦāĻŋāĻˇā§āĻ¯ā§Ž āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻŦāĻžāύāĻžā§Ÿ, āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āϜāĻžāύ⧇āύ āĻ•āĻ–āύ āϤāĻž āĻŦā§āϝāĻ°ā§āĻĨ āĻšā§ŸāĨ¤

āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻŋāĻ• āĻĒāϰ⧀āĻ•ā§āώāĻž: āφāĻĒāύāĻžāϰ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻŦāĻž āĻ…āĻĒāϏ āĻĻāϞ⧇āϰ āϤāĻŋāύāϟāĻŋ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻŦ⧇āĻļāĻŋ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻĻ⧇āϖ⧁āύāĨ¤ āϝāĻĻāĻŋ āϤāĻžāϰ āĻŽāĻžāĻ āĻĨ⧇āϕ⧇ āĻĻ⧁āĻŸā§‹āχ āϏāĻžāϧāĻžāϰāĻŖāϤ "āϏāĻŽā§Ÿ āϰ⧇āĻžā§āϜ + āφāϰ⧇āĻ•āϟāĻŋ āĻļāĻ°ā§āϤ" āĻĻāĻŋā§Ÿā§‡ āĻŽā§‡āϟāĻžāύ⧋ āĻšā§Ÿ, āϤāĻžāĻšāϞ⧇ āχāϭ⧇āĻ¨ā§āϟ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϜāĻ¨ā§āϝ PostgreSQL āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϗ⧁āϰ⧁āĻ¤ā§āĻŦ āϏāĻšāĻ•āĻžāϰ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰāĻžāϰ āĻŽāϤ⧋āĨ¤

āĻŦāĻžāĻ¸ā§āϤāĻŦ āωāĻĻāĻžāĻšāϰāĻŖ āĻ“ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ• āϧāĻžāĻĒ

āĻāĻ•āϟāĻŋ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻĻāϞ āϏāĻžāϰāĻžāĻĻāĻŋāύ āĻĻ⧁āϟāĻŋ āĻ¸ā§āĻ•ā§āϰāĻŋāύ āĻ–ā§‹āϞ⧇: "āϞāĻ—āχāύ āχāϭ⧇āĻ¨ā§āϟ" (āϏāĻĢāϞ āĻ“ āĻŦā§āϝāĻ°ā§āĻĨ āϏāĻžāχāύ-āχāύ) āĻāĻŦāĻ‚ "āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āĻ…āĻĄāĻŋāϟ" (āĻĒāĻžāϏāĻ“ā§ŸāĻžāĻ°ā§āĻĄ āϰāĻŋāϏ⧇āϟ, āϰ⧋āϞ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ, API āϕ⧀ āφāĻĒāĻĄā§‡āϟ)āĨ¤ āĻ•āĻžāĻ¸ā§āϟāĻŽāĻžāϰ āϏāĻ¨ā§āĻĻ⧇āĻš āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰāϞ⧇ āĻĻāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻĻāĻŋā§Ÿā§‡ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰ⧇, āĻļ⧇āώ āĻ•āϝāĻŧ⧇āĻ• āϘāĻŖā§āϟāĻž āĻĻ⧇āϖ⧇, āφāϰ āĻāĻ•āϟāĻŋ āϛ⧋āϟ āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āĻāĻ•ā§āϏāĻĒā§‹āĻ°ā§āϟ āĻ•āϰ⧇āĨ¤

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰāĻžāϰ āφāϗ⧇ āϏāĻŦ āĻ•āĻŋāϛ⧁ āĻāĻ•āϟāĻŋ āĻŦ⧜ events āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻĨāĻžāϕ⧇āĨ¤ āĻāϟāĻŋ āĻĻā§āϰ⧁āϤ āĻŦāĻžā§œā§‡, āĻāĻŦāĻ‚ āϏāĻžāϧāĻžāϰāĻŖ āϏāĻžāĻ°ā§āϚāĻ“ āϧ⧀āϰ āĻšā§Ÿā§‡ āϝāĻžā§Ÿ āĻ•āĻžāϰāĻŖ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ āĻ…āύ⧇āĻ• āĻĒ⧁āϰāĻžāύ⧋ āϏāĻžāϰāĻŋ āĻĒā§œā§‡āĨ¤ āϰāĻŋāĻŸā§‡āύāĻļāύāĻ“ āĻ•āĻˇā§āϟāĻĻāĻžā§ŸāĻ•: āĻāĻ•āϟāĻŋ āϰāĻžāϤ⧇āϰ āĻ•āĻžāϜ āĻĒ⧁āϰāύ⧋ āϏāĻžāϰāĻŋ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻŦ⧜ DELETE āϧ⧀āϰ, āĻŦloat āϏ⧃āĻˇā§āϟāĻŋ āĻ•āϰ⧇, āĻāĻŦāĻ‚ āϏāĻžāϧāĻžāϰāĻŖ āĻŸā§āϰāĻžāĻĢāĻŋāϕ⧇āϰ āϏāĻ™ā§āϗ⧇ āϟāĻ•ā§āĻ•āϰ āĻ–āĻžā§ŸāĨ¤

āϏāĻŽāϝāĻŧāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻŽāĻžāϏāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰāĻžāϰ āĻĒāϰ⧇ (āχāϭ⧇āĻ¨ā§āϟ āϟāĻžāχāĻŽāĻ¸ā§āĻŸā§āϝāĻžāĻŽā§āĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇) āĻ•āĻžāĻ°ā§āϝāĻĒā§āϰāĻŦāĻžāĻš āωāĻ¨ā§āύāϤ āĻšā§ŸāĨ¤ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ āϏāĻŽā§Ÿ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻŦāĻžāĻ§ā§āϝ āĻ•āϰ⧇, āϤāĻžāχ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻ•ā§ā§Ÿā§‡āϰāĻŋ āϕ⧇āĻŦāϞ āĻāĻ• āĻŦāĻž āĻĻ⧁āϟāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϟāĻžāϚ āĻ•āϰ⧇āĨ¤ āĻĒ⧇āϜ āϞ⧋āĻĄ āĻĻā§āϰ⧁āϤ āĻšā§Ÿ āĻ•āĻžāϰāĻŖ PostgreSQL āύāĻŋāĻ°ā§āĻŦāĻžāϚāĻŋāϤ āϰ⧇āĻžā§āĻœā§‡āϰ āĻŦāĻžāχāϰ⧇ āĻĨāĻžāĻ•āĻž āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāϗ⧁āϞ⧋ āωāĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰ⧇āĨ¤ āϰāĻŋāĻŸā§‡āύāĻļāύ āύāĻŋ⧟āĻŽ āϰ⧁āϟāĻŋāύ āĻšā§Ÿ: āĻŽāĻŋāϞāĻŋ⧟āύāϗ⧁āϞ⧋ āϏāĻžāϰāĻŋ āĻĄāĻŋāϞāĻŋāĻŸā§‡āϰ āĻŦāĻĻāϞ⧇ āĻĒ⧁āϰāύ⧋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĄā§āϰāĻĒ āĻ•āϰāĻž āĻšā§ŸāĨ¤

āĻāĻ•āϟāĻŋ āĻ•āĻ āĻŋāύ āĻŦāĻŋāώ⧟ āĻĨāĻžāϕ⧇: "āϏāĻŽāĻ¸ā§āϤ āϏāĻŽā§Ÿ" āϜ⧁āĻĄāĻŧ⧇ āĻĢā§āϰāĻŋ-āĻŸā§‡āĻ•ā§āϏāϟ āϏāĻžāĻ°ā§āϚāĨ¤ āϕ⧇āω āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ IP āĻ āĻŋāĻ•āĻžāύāĻž āĻŦāĻž āĻ…āĻ¸ā§āĻĒāĻˇā§āϟ āĻŦāĻžāĻ•ā§āϝāĻžāĻ‚āĻļ āϤāĻžāϰāĻŋāĻ– āϏ⧀āĻŽāĻž āĻ›āĻžāĻĄāĻŧāĻž āϏāĻžāĻ°ā§āϚ āĻ•āϰ⧇, āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϤāĻž āϏāĻ¸ā§āϤāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻžāĨ¤ āϏāĻŽāĻžāϧāĻžāύ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āϟ āφāϚāϰāϪ⧇ āĻĨāĻžāϕ⧇: āĻĄāĻŋāĻĢāĻ˛ā§āϟ āϏāĻžāĻ°ā§āϚ āϟāĻžāχāĻŽ āωāχāĻ¨ā§āĻĄā§‹ āĻĻāĻŋāύ āĻāĻŦāĻ‚ "āĻļ⧇āώ ⧍ā§Ē āϘāĻŖā§āϟāĻž / ā§­ āĻĻāĻŋāύ / ā§Šā§Ļ āĻĻāĻŋāύ" āĻ¸ā§āĻĒāĻˇā§āϟāĻ­āĻžāĻŦ⧇ āĻĻ⧇āĻ–āĻžāύāĨ¤

āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āϧāĻžāĻĒāϗ⧁āϞ⧋ āϝāĻž āϏāĻžāϧāĻžāϰāĻŖāϤ āĻ•āĻžāϜ āĻ•āϰ⧇:

  • āĻĒā§āϰāĻĨāĻŽā§‡ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ⧇āϰ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāϗ⧁āϞ⧋ āĻŽāĻžāύāϚāĻŋāĻ¤ā§āϰ āĻ•āϰ⧁āύāĨ¤ āϕ⧋āύ āĻĢāĻŋāĻ˛ā§āĻĄāϗ⧁āϞ⧋ āĻŽāĻžāύ⧁āώ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϕ⧋āύāϗ⧁āϞ⧋ āĻŦāĻžāĻ§ā§āϝāϤāĻžāĻŽā§‚āϞāĻ• āϏ⧇āϟāĻž āϞāĻŋāϖ⧇ āϰāĻžāϖ⧁āύāĨ¤
  • āĻŦā§āϰāĻžāωāϜāĻŋāĻ‚ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻšā§Ÿ āϏ⧇āϟāĻž āĻŽā§‡āϞ⧇ āĻāĻŽāύ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻŦ⧇āϛ⧇ āύāĻŋāύāĨ¤ āĻŽāĻžāϏāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĒā§āϰāĻžāϝāĻŧāχ āĻ­āĻžāϞ āĻļ⧁āϰ⧁; āĻ­āϞāĻŋāωāĻŽ āĻŦ⧇āĻĄāĻŧ⧇ āϗ⧇āϞ⧇ āϏāĻžāĻĒā§āϤāĻžāĻšāĻŋāĻ• āĻ•āϰ⧁āύāĨ¤
  • āϏāĻŽā§Ÿ āϰ⧇āĻžā§āϜāϕ⧇ āĻĒā§āϰāĻĨāĻŽ-āĻļā§āϰ⧇āĻŖāĻŋāϰ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻŦāĻžāύāĻžāύāĨ¤ UI āϝāĻĻāĻŋ "āϕ⧋āύ⧋ āĻĻāĻŋāύ āύ⧇āχ" āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻā§‡ā§Ÿ, āϧ⧀āϰ āĻĒ⧇āϜ āφāĻļāĻž āĻ•āϰ⧁āύāĨ¤
  • āĻŦāĻžāĻ¸ā§āϤāĻŦ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāϗ⧁āϞ⧋āϰ āϏāĻžāĻĨ⧇ āχāύāĻĄā§‡āĻ•ā§āϏāϗ⧁āϞ⧋ āϏāĻŽāĻ¨ā§āĻŦ⧟ āĻ•āϰ⧁āύāĨ¤ āϏāĻŽā§Ÿ āĻĒā§āϰāĻžāϝāĻŧāχ āϏāĻ°ā§āĻŦāĻĻāĻž āωāĻĒāĻ¸ā§āĻĨāĻŋāϤ āĻšāϞ⧇, āϏāĻŽā§Ÿ-āĻĒā§āϰāĻĨāĻŽ āχāύāĻĄā§‡āĻ•ā§āϏ āĻ•ā§ŒāĻļāϞ āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ⧋ āĻŦ⧇āϏāϞāĻžāχāύāĨ¤
  • āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻŦāĻžāωāĻ¨ā§āĻĄāĻžāϰāĻŋāϰ āϏāĻžāĻĨ⧇ āĻŽā§‡āϞāĻžāύ⧋ āϰāĻŋāĻŸā§‡āύāĻļāύ āύāĻŋ⧟āĻŽ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧁āύ (āωāĻĻāĻžāĻšāϰāĻŖ: ā§§ā§Š āĻŽāĻžāϏ āϰāĻžāϖ⧁āύ āĻāĻŦāĻ‚ āϤāĻžāϰ āĻšā§‡ā§Ÿā§‡ āĻĒ⧁āϰ⧋āύ⧋ āĻĄā§āϰāĻĒ āĻ•āϰ⧁āύ)āĨ¤

āφāĻĒāύāĻŋ āϝāĻĻāĻŋ AppMaster (appmaster.io) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ āϤ⧈āϰ⧀ āĻ•āϰ⧇āύ, āϤāĻžāĻšāϞ⧇ āĻāϗ⧁āϞāĻŋ āφāϗ⧇āĻ­āĻžāϗ⧇āχ āĻŽāĻĄā§‡āϞ āĻ•āϰāĻž āĻŽā§‚āĻ˛ā§āϝāĻŦāĻžāύ: āϏāĻŽā§Ÿ-āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰāϗ⧁āϞ⧋ āĻĄā§‡āϟāĻž āĻŽāĻĄā§‡āϞ⧇āϰ āĻ…āĻ‚āĻļ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύ, āϕ⧇āĻŦāϞ UI-āĻ…āĻĒāĻļāύ āĻšāĻŋāϏ⧇āĻŦ⧇ āύ⧟āĨ¤ āϏ⧇āχ āϛ⧋āϟ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āĻĄā§‡āϟāĻž āĻ­āϞāĻŋāωāĻŽ āĻŦāĻžā§œāϞ⧇āĻ“ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏāϕ⧇ āϰāĻ•ā§āώāĻž āĻ•āϰ⧇āĨ¤

āĻĒā§āϰāĻļā§āύ⧋āĻ¤ā§āϤāϰ

āχāϭ⧇āĻ¨ā§āϟ āĻŦāĻž āĻ…āĻĄāĻŋāϟ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϜāĻ¨ā§āϝ āĻ•āĻ–āύ PostgreSQL āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻŦāĻžāĻ¸ā§āϤāĻŦāĻĒāĻ•ā§āώ⧇ āĻ•āĻžāĻœā§‡ āϞāĻžāϗ⧇?

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻŦ⧇āĻļāĻŋ āωāĻĒāĻ•āĻžāϰ āĻĻā§‡ā§Ÿ āϝāĻ–āύ āφāĻĒāύāĻžāϰ āϏāĻžāϧāĻžāϰāĻŖ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āϏāĻŽā§Ÿ-āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻĨāĻžāϕ⧇ (āωāĻĻāĻžāĻšāϰāĻŖ: "āĻļ⧇āώ ⧍ā§Ē āϘāĻŖā§āϟāĻž" āĻŦāĻž "āĻļ⧇āώ ā§­ āĻĻāĻŋāύ") āĻāĻŦāĻ‚ āĻŸā§‡āĻŦāĻŋāϞ āĻāϤ āĻŦ⧜ āϝ⧇ āχāύāĻĄā§‡āĻ•ā§āϏ āĻ“ āϰāĻ•ā§āώāĻŖāĻžāĻŦ⧇āĻ•ā§āώāĻŖ āĻ•āĻˇā§āϟāĻĻāĻžā§ŸāĻ• āĻšā§Ÿā§‡ āωāϠ⧇āϛ⧇āĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻĒā§āϰāϧāĻžāύ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻšā§Ÿ "āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ X-āĻāϰ āϏāĻŽāĻ¸ā§āϤ āχāϤāĻŋāĻšāĻžāϏ", āϤāĻžāĻšāϞ⧇ UI-āϤ⧇ āϏāĻŽā§Ÿ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻĒā§āϰāϝ⧋āĻœā§āϝ āύāĻž āĻ•āϰāϞ⧇ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āϜāϟāĻŋāϞāϤāĻž āĻŦāĻžā§œāĻžāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āϞāĻ— āĻāĻŦāĻ‚ āĻ…āĻĄāĻŋāϟ āĻĄā§‡āϟāĻžāϰ āϜāĻ¨ā§āϝ āϕ⧋āύ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻĒāĻĻā§āϧāϤāĻŋ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āωāĻĒāϝ⧁āĻ•ā§āϤ?

āϞāĻ— āĻāĻŦāĻ‚ āĻ…āĻĄāĻŋāĻŸā§‡āϰ āϜāĻ¨ā§āϝ āϏāĻžāϧāĻžāϰāύāϤ āϟāĻžāχāĻŽā§‡ āϰ⧇āĻžā§āϜ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚āχ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āωāĻĒāϝ⧋āĻ—ā§€ āĻĄāĻŋāĻĢāĻ˛ā§āϟāĨ¤ āϞ⧇āĻ–āĻžāϗ⧁āϞ⧋ āϏāĻŽā§ŸāĻ•ā§āϰāĻŽā§‡ āφāϏ⧇, āĻ•ā§ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āĻĒā§āϰāĻžā§ŸāĻļāχ āϏāĻŽā§Ÿ āωāχāĻ¨ā§āĻĄā§‹ āĻĻāĻŋā§Ÿā§‡ āĻļ⧁āϰ⧁ āĻ•āϰ⧇, āĻāĻŦāĻ‚ āϰāĻŋāĻŸā§‡āύāĻļāύāĻ“ āϏāĻŽā§ŸāĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻšā§ŸāĨ¤ āϞāĻŋāĻ¸ā§āϟ āĻŦāĻž āĻšā§āϝāĻžāĻļ āĻŦāĻŋāĻļ⧇āώ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏāĻžāϧāĻžāϰāĻŖāϤ āϰāĻŋāĻŸā§‡āύāĻļāύ āĻ“ āĻŦā§āϰāĻžāωāϜāĻŋāĻ‚āϕ⧇ āφāϰ⧋ āϜāϟāĻŋāϞ āĻ•āϰ⧇ āϤ⧋āϞ⧇āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻ…āĻĄāĻŋāϟ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻ āĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰāĻŦ?

āĻĒā§āϰāĻĨāĻŽā§‡ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧁āύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āϕ⧋āύ āĻĢāĻŋāĻ˛ā§āĻĄ āĻĻāĻŋā§Ÿā§‡āχ āφāϗ⧇ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰ⧇āύāĨ¤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ⧇ āϏ⧇āϟāĻŋāχ āĻāĻ• āϟāĻžāχāĻŽāĻ¸ā§āĻŸā§āϝāĻžāĻŽā§āĻĒ āϰ⧇āĻžā§āĻœâ€”āϤāĻžāχ āϏāĻŽā§Ÿ-āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻĒā§‚āĻ°ā§āĻŦāύāĻŋāĻ°ā§āϧāĻžāϰāĻŖāϝ⧋āĻ—ā§āϝāĨ¤ āĻŽāύ⧇ āϰāĻžāĻ–āĻŦ⧇āύ āĻāϟāĻž āĻĻā§€āĻ°ā§āϘāĻŽā§‡āϝāĻŧāĻžāĻĻāĻŋ āĻĒā§āϰāϤāĻŋāĻļā§āϰ⧁āϤāĻŋ—āĻĒāϰ⧇ āĻŦāĻĻāϞāĻžāύ⧋ āĻŦ⧜ āĻŽāĻžāχāĻ—ā§āϰ⧇āĻļāύ āĻšāĻŦ⧇āĨ¤

āϕ⧇āύ āϏāĻžāϧāĻžāϰāĻŖāϤ `user_id` āĻĻāĻŋā§Ÿā§‡ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āĻ•āϰāĻž āĻ–āĻžāϰāĻžāĻĒ āϧāĻžāϰāĻŖāĻž?

āϟāĻžāχāĻŽāĻ¸ā§āĻŸā§āϝāĻžāĻŽā§āĻĒ āĻŦāĻž āĻŸā§‡āĻ¨ā§āϝāĻžāĻ¨ā§āϟ āφāχāĻĄāĻŋāϰ āĻŽāϤ⧋ āĻāĻŽāύ āϕ⧀ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āϝāĻž āĻŽā§āϝāύ⧀āϤāĻŋāĻĒā§‚āĻ°ā§āĻŖ āϏāĻ‚āĻ–ā§āϝāĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĻā§‡ā§ŸāĨ¤ user_id-āĻāϰ āĻŽāϤ⧋ āωāĻšā§āϚ-āĻ•āĻžāĻ°ā§āĻĄāĻŋāύāĻžāϞāĻŋāϟāĻŋ āϕ⧀ āĻā§œāĻŋā§Ÿā§‡ āϚāϞ⧁āĻ¨â€”āĻāϗ⧁āϞ⧋ āĻšāĻžāϜāĻžāϰ āĻšāĻžāϜāĻžāϰ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰ⧇, āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āĻ“ āĻ…āĻĒāĻžāϰ⧇āĻļāύ āϜāϟāĻŋāϞ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžā§Ÿā§€ āϏ⧁āĻŦāĻŋāϧāĻž āĻĻā§‡ā§Ÿ āύāĻžāĨ¤

āφāĻŽāĻŋ `created_at` āύāĻžāĻ•āĻŋ `occurred_at` āĻĻāĻŋā§Ÿā§‡ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰāĻŦ?

āϝāĻĻāĻŋ āĻĻ⧇āϰāĻŋāϤ⧇ āφāϏāĻž āχāϭ⧇āĻ¨ā§āϟ (āĻ•āĻŋāω, āϰāĻŋāĻŸā§āϰāĻžāχ, āĻ…āĻĢāϞāĻžāχāύ āĻ•ā§āϞāĻžā§Ÿā§‡āĻ¨ā§āϟ) āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āĻ…āĻĒāĻžāϰ⧇āĻļāύāĻžāϞ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞāϤāĻž āϚāĻžāύ, āϤāĻžāĻšāϞ⧇ created_at āĻĻāĻŋā§Ÿā§‡ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰāĻž āĻ­āĻžāϞ⧋āĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻĒā§āϰāϧāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ āĻšā§Ÿ "āϕ⧋āύ āϏāĻŽā§Ÿ āωāχāĻ¨ā§āĻĄā§‹āϰ āĻŽāĻ§ā§āϝ⧇ āϕ⧀ āϘāĻŸā§‡āϛ⧇" āĻāĻŦāĻ‚ occurred_at āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§Ÿ, āϤāĻžāĻšāϞ⧇ āϏ⧇āϟāĻŋāχ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āĻ…āύ⧇āĻ• āĻĻāϞ created_at āĻĻāĻŋā§Ÿā§‡ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰ⧇ āĻāĻŦāĻ‚ occurred_at-āĻ āχāύāĻĄā§‡āĻ•ā§āϏ āϰāĻžāϖ⧇āĨ¤

āϕ⧀āĻ­āĻžāĻŦ⧇ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇ āϜāύāĻŋāϤ āĻŸā§‡āĻŦāĻŋāϞ āĻšāϞ⧇ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ UI-āϤ⧇ āĻ•āĻŋ āϏāĻŽā§Ÿ āϰ⧇āĻžā§āϜ āĻŦāĻžāĻ§ā§āϝāϤāĻžāĻŽā§‚āϞāĻ• āĻ•āϰāĻž āĻĻāϰāĻ•āĻžāϰ?

āĻšā§āϝāĻžāĻâ€”āĻāĻ•āĻŦāĻžāϰ āĻŸā§‡āĻŦāĻŋāϞ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ•āϰāϞ⧇ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒā§āϝāĻžāύ⧇āϞ⧇ āϏāĻŽā§Ÿ āϰ⧇āĻžā§āϜāϕ⧇ āĻŦāĻžāĻ§ā§āϝāϤāĻžāĻŽā§‚āϞāĻ• āĻ•āϰāĻž āωāϚāĻŋāϤāĨ¤ āϏāĻŽā§Ÿ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āύāĻž āĻĨāĻžāĻ•āϞ⧇ PostgreSQL āĻ…āύ⧇āĻ• āĻŦāĻž āϏāĻŦ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻšā§‡āĻ• āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇, āĻĢāϞāĻļā§āϰ⧁āϤāĻŋāϤ⧇ āĻĒ⧇āϜ āϧ⧀āϰ āĻšāĻŦ⧇āĨ¤ āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻšāϞ⧋ "āĻļ⧇āώ ⧍ā§Ē āϘāĻŖā§āϟāĻž", āφāϰ "āϏāĻŽāĻ¸ā§āϤ āϏāĻŽā§Ÿ" āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āĻšāĻŋāϏ⧇āĻŦ⧇ āϰāĻžāĻ–āĻžāĨ¤

āϕ⧋āύ āϜāĻŋāύāĻŋāϏāϗ⧁āϞ⧋ āφāĻŽāĻžāϰ āĻ•ā§ā§Ÿā§‡āϰāĻŋāϤ⧇ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĒā§āϰ⧁āύāĻŋāĻ‚ āĻ­āĻžāĻ™āϤ⧇ āĻĒāĻžāϰ⧇?

āĻ…āϧāĻŋāĻ•āĻžāĻ‚āĻļ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇, āĻšā§āϝāĻžāρāĨ¤ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀-āϕ⧇ āϕ⧋āύ⧋ āĻĢāĻžāĻ‚āĻļāύ āĻĻāĻŋā§Ÿā§‡ āĻĸāĻžāĻ•āĻž (āϝ⧇āĻŽāύ āϟāĻžāχāĻŽāĻ¸ā§āĻŸā§āϝāĻžāĻŽā§āĻĒāϕ⧇ date-āĻ āĻ•āĻžāĻ¸ā§āϟ āĻ•āϰāĻž) āĻ•āϰāϞ⧇ āĻĒā§āϰ⧁āύāĻŋāĻ‚ āĻ­āĻ™ā§āĻ— āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ…āĻ¨ā§āϝ āϏāĻžāϧāĻžāϰāĻŖ āϏāĻŽāĻ¸ā§āϝāĻž āĻšāϞ⧋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀ āĻĨ⧇āϕ⧇ āφāϞāĻžāĻĻāĻž āϏāĻŽā§Ÿ āĻ•āϞāĻžāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžâ€”āĻāϤ⧇ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻ¸ā§āĻ•ā§āϝāĻžāύ āϞāĻžāĻ—āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϏāϰāϞ āĻĢāĻ°ā§āĻŽā§‡ āϰāĻžāϖ⧁āύ, āϝ⧇āĻŽāύ created_at BETWEEN X AND Y, āϝāĻžāϤ⧇ āĻĒā§āϰ⧁āύāĻŋāĻ‚ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§ŸāĨ¤

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻ•ā§ƒāϤ āχāϭ⧇āĻ¨ā§āϟ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϜāĻ¨ā§āϝ āϏ⧇āϰāĻž āĻĒ⧇āϜāĻŋāύ⧇āĻļāύ āĻĒāĻĻā§āϧāϤāĻŋ āϕ⧋āύāϟāĻŋ?

āĻ—āĻ­ā§€āϰ OFFSET āĻĒ⧇āϜāĻŋāύ⧇āĻļāύ āĻā§œāĻŋā§Ÿā§‡ āϚāϞ⧁āĻ¨â€”āĻāϟāĻŋ āĻ…āύ⧇āĻ• āϏāĻžāϰāĻŋ āĻ¸ā§āĻ•āĻŋāĻĒ āĻ•āϰāĻžā§Ÿ āϧ⧀āϰāĨ¤ āϞāϜ āĻ­āĻŋāĻ‰ā§Ÿā§‡ āĻ•āĻžāĻ°ā§āϏāĻžāϰ-āĻ¸ā§āϟāĻžāχāϞ āĻĒ⧇āϜāĻŋāύ⧇āĻļāύ āĻ­āĻžāĻ˛ā§‹â€”āωāĻĻāĻžāĻšāϰāĻŖ: "āĻāχ (timestamp, id)-āĻāϰ āφāϗ⧇āϰ āχāϭ⧇āĻ¨ā§āϟāϗ⧁āϞ⧋ āϞ⧋āĻĄ āĻ•āϰ⧁āύ"—āĻāϟāĻŋ āχāύāĻĄā§‡āĻ•ā§āϏ-āĻŦāĻ¨ā§āϧ⧁ āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āĻ­āϞāĻŋāωāĻŽ āĻŦāĻžā§œāϞ⧇āĻ“ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āϰāĻžāϖ⧇āĨ¤

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ āχāωāύāĻŋāĻ• āĻ•āύāĻ¸ā§āĻŸā§āϰ⧇āχāĻ¨ā§āϟ āĻ“ āφāχāĻĄāĻŋāϗ⧁āϞ⧋āϕ⧇ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻĒā§āϰāĻ­āĻžāĻŦāĻŋāϤ āĻ•āϰ⧇?

PostgreSQL-āĻ āĻ•āĻŋāϛ⧁ āχāωāύāĻŋāĻ• āĻ•āύāĻ¸ā§āĻŸā§āϰ⧇āχāĻ¨ā§āϟ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀āĻ“ āϝ⧁āĻ•ā§āϤ āĻĨāĻžāĻ•āϤ⧇ āĻšāĻŦ⧇, āύāĻž āĻšāϞ⧇ āϏ⧇āϗ⧁āϞ⧋ āϏāĻŦ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇ āĻœā§‹āϰ āĻ•āϰ⧇ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āϰāĻž āϝāĻžā§Ÿ āύāĻžāĨ¤ āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ• āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ āĻšāϞ āĻ•āĻŽā§āĻĒā§‹āϜāĻŋāϟ āχāωāύāĻŋāĻ•āύ⧇āϏ, āϝ⧇āĻŽāύ (created_at, id) āϝāĻ–āύ created_at āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϕ⧀āĨ¤ āĻŦāĻžāĻšā§āϝāĻŋāĻ• āĻŦā§āϝāĻŦāĻšāĻžāϰāϜāύāĻŋāϤ āĻāĻ•āϟāĻŋ āĻ…āύāĻ¨ā§āϝ āφāχāĻĄāĻŋ āĻĻāϰāĻ•āĻžāϰ āĻšāϞ⧇ UUID āϰāĻžāϖ⧁āύ āĻāĻŦāĻ‚ āĻ—ā§āϞ⧋āĻŦāĻžāϞ āχāωāύāĻŋāĻ•āύ⧇āϏ āĻ…ā§āϝāĻžāĻĒ-āĻ¸ā§āϤāϰ⧇ āĻŽā§āϝāĻžāύ⧇āϜ āĻ•āϰ⧁āύāĨ¤

āĻāĻ•āĻŦāĻžāϰ āĻŸā§‡āĻŦāĻŋāϞ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻšāϞ⧇ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āϏāĻšāϜ āϰāĻŋāĻŸā§‡āύāĻļāύ āĻ•ā§ŒāĻļāϞ āϕ⧀?

āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĄā§āϰāĻĒ āĻ•āϰāĻž āĻĻā§āϰ⧁āϤ āĻāĻŦāĻ‚ āĻŦ⧜ DELETE-āĻ āϝ⧇ āĻŦLOAT/āĻ­ā§āϝāĻžāϕ⧁āϝāĻŧāĻžāĻŽ āĻ•āĻžāϜ āĻšā§Ÿ āϤāĻž āĻā§œāĻŋā§Ÿā§‡ āϝāĻžā§ŸāĨ¤ āĻŽā§‚āϞ āĻ•āĻĨāĻž āĻšāĻšā§āϛ⧇ āϰāĻŋāĻŸā§‡āύāĻļāύ āύ⧀āϤāĻŋ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻŦāĻžāωāĻ¨ā§āĻĄāĻžāϰāĻŋ-āϰ āϏāĻžāĻĨ⧇ āĻŽā§‡āĻ˛ā§‡â€”āĻ…āĻŸā§‹āĻŽā§‡āϟāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻ­āĻŦāĻŋāĻˇā§āĻ¯ā§Ž āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻŽā§‡āϝāĻŧāĻžāĻĻ āωāĻ¤ā§āϤ⧀āĻ°ā§āĻŖ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāϗ⧁āϞ⧋ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āϏāĻŽā§Ÿā§‡ āĻĄā§āϰāĻĒ āĻ•āϰ⧁āύāĨ¤

āĻļ⧁āϰ⧁ āĻ•āϰāĻž āϏāĻšāϜ
āĻ•āĻŋāϛ⧁ āφāĻļā§āϚāĻ°ā§āϝāϜāύāĻ•āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ

āĻŦāĻŋāύāĻžāĻŽā§‚āĻ˛ā§āϝ⧇āϰ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āϏāĻš āĻ…ā§āϝāĻžāĻĒāĻŽāĻžāĻ¸ā§āϟāĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤
āφāĻĒāύāĻŋ āϝāĻ–āύ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āĻšāĻŦ⧇āύ āϤāĻ–āύ āφāĻĒāύāĻŋ āϏāĻ āĻŋāĻ• āϏāĻĻāĻ¸ā§āϝāϤāĻž āĻŦ⧇āϛ⧇ āύāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āύ⧎

āĻāĻŦāĻžāϰ āĻļ⧁āϰ⧁ āĻ•āϰāĻž āϝāĻžāĻ•
āĻ…āĻĄāĻŋāϟ āϞ⧋āĻ—āĻŋāĻ‚-āĻ āχāϭ⧇āĻ¨ā§āϟ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϜāĻ¨ā§āϝ PostgreSQL āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāĻŋāĻ‚ | AppMaster