PostgreSQL AntipatternsแŸ– แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž‘แžทแž“แŸ’แž“แž“แŸแž™แžŠแŸ„แž™แž†แŸ’แž›แž„แž€แžถแžแŸ‹แž‚แž“แŸ’แž›แžนแŸ‡

แž˜แžทแž“แž™แžผแžšแž˜แžทแž“แž†แžถแž”แŸ‹ แž˜แž“แžปแžŸแŸ’แžŸแž‡แžถแž…แŸ’แžšแžพแž“แžแŸ’แžšแžผแžœแž”แŸ’แžšแžˆแž˜แž˜แžปแžแž“แžนแž„แžแž˜แŸ’แžšแžผแžœแž€แžถแžšแžŠแžพแž˜แŸ’แž”แžธแž€แŸ‚แžแž˜แŸ’แžšแžผแžœแžขแŸ’แžœแžธแž˜แžฝแž™แž“แŸ…แž€แŸ’แž“แžปแž„แž€แŸ†แžŽแžแŸ‹แžแŸ’แžšแžถแžแžถแžšแžถแž„แŸ” แžแŸ’แž‰แžปแŸ†โ€‹แž˜แžถแž“โ€‹แžšแžฝแž…แž แžพแž™ แž”แŸ’แžšแžถแž”แŸ‹แžแŸ’แž‰แžปแŸ†แž–แžธแžšแž”แŸ€แž”แž’แŸ’แžœแžพแžœแžถแžฑแŸ’แž™แž€แžถแž“แŸ‹แžแŸ‚แž”แŸ’แžšแžŸแžพแžšแž“แžทแž„แžšแž”แŸ€แž” - แžœแžถแž‡แžถแž€แžถแžšแž”แŸ’แžšแžŸแžพแžšแž‡แžถแž„แž€แžปแŸ†แž’แŸ’แžœแžพแžœแžถแŸ” แžแŸ’แž„แŸƒแž“แŸแŸ‡แžแŸ’แž‰แžปแŸ†แž“แžนแž„แž“แžทแž™แžถแž™แžขแŸ†แž–แžธแž‘แžทแžŠแŸ’แž‹แž—แžถแž–แž‘แžธแž–แžธแžšแž“แŸƒแž€แžถแžšแž’แŸ’แžœแžพแž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž—แžถแž–แžŠแŸแž’แŸ† - แžขแŸ†แž–แžธแž€แŸแŸ‡.

แž‡แžถแžงแž‘แžถแž แžšแžŽแŸ แž“แŸ…แž›แžพแžแžปแžŠแŸ‚แž›แžขแŸ’แž“แž€แžแŸ’แžšแžผแžœแž€แžถแžšแž€แŸ‚แžแž˜แŸ’แžšแžผแžœแžขแŸ’แžœแžธแž˜แžฝแž™ แž˜แžถแž“แž€แŸแŸ‡แžขแžถแž€แŸ’แžšแž€แŸ‹ ON UPDATEแž•แŸ’แž‘แŸแžšแž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแž‘แžถแŸ†แž„แžขแžŸแŸ‹แž‘แŸ…แž€แžถแžšแž”แŸ’แžšแž˜แžผแž›แž•แŸ’แžแžปแŸ†แž˜แžฝแž™แž…แŸ†แž“แžฝแž“แŸ” แž แžพแž™แžขแŸ’แž“แž€แžแŸ’แžšแžผแžœแž’แŸ’แžœแžพแž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แž—แžถแž–แžขแŸ’แžœแžธแŸ—แž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„ (แžงแž‘แžถแž แžšแžŽแŸแž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แžœแžถแž›แžแŸ’แž˜แžธ) แžŠแžผแž…แŸ’แž“แŸแŸ‡แžŠแŸ„แž™แž”แŸ’แžšแžปแž„แž”แŸ’แžšแž™แŸแžแŸ’แž“แžแžถแž‚แŸ’แžšแžฟแž„แž‘แžถแŸ†แž„แž“แŸแŸ‡แž˜แžทแž“แžแŸ’แžšแžผแžœแž”แžถแž“แž”แŸ‰แŸ‡แž–แžถแž›แŸ‹แž‘แŸแŸ”

แžแŸ„แŸ‡แž”แžทแž‘แž‚แž“แŸ’แž›แžนแŸ‡!

BEGIN;
  ALTER TABLE ... DISABLE TRIGGER ...;
  UPDATE ...; -- ั‚ัƒั‚ ะดะพะปะณะพ-ะดะพะปะณะพ
  ALTER TABLE ... ENABLE TRIGGER ...;
COMMIT;

แžแžถแž˜แž–แžทแžแž“แŸ„แŸ‡แž แžพแž™แž‡แžถแžขแŸ’แžœแžธแž‘แžถแŸ†แž„แžขแžŸแŸ‹ - แžขแŸ’แžœแžธแž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž–แŸ’แž™แžฝแžšแžšแžฝแž…แž แžพแž™.

แž–แžธแž–แŸ’แžšแŸ„แŸ‡ ALTER TABLE แž€แŸ†แžŽแžแŸ‹ แž…แžผแž›แž”แŸ’แžšแžพแž•แŸ’แžแžถแž…แŸ‹แž˜แžปแž- แžŸแŸ„แžšแžŠแŸ‚แž›แž‚แŸ’แž˜แžถแž“แž“แžšแžŽแžถแž˜แŸ’แž“แžถแž€แŸ‹แž€แŸ†แž–แžปแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŸแŸ’แžšแž”แž‚แŸ’แž“แžถ แžŸแžผแž˜แŸ’แž”แžธแžแŸ‚แž˜แžฝแž™แžŸแžถแž˜แž‰แŸ’แž‰แž€แŸแžŠแŸ„แž™แŸ” SELECTแž“แžนแž„แž˜แžทแž“แžขแžถแž…แžขแžถแž“แžขแŸ’แžœแžธแž–แžธแžแžถแžšแžถแž„แž”แžถแž“แž‘แŸแŸ” แž“แŸ„แŸ‡แž‚แžบแžšแž แžผแžแžŠแž›แŸ‹แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž“แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž‰แŸ’แž…แž”แŸ‹ แžขแŸ’แž“แž€แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แž“แžถแžŠแŸ‚แž›แž…แž„แŸ‹ "แž‚แŸ’แžšแžถแž“แŸ‹แžแŸ‚แžขแžถแž“" แž“แžนแž„แžšแž„แŸ‹แž…แžถแŸ†แŸ” แž แžพแž™แž™แžพแž„แž…แž„แž…แžถแŸ†แžšแžฟแž„แž“แŸ„แŸ‡แŸ” UPDATE แž™แžพแž„แž˜แžถแž“แžšแž™แŸˆแž–แŸแž›แž™แžผแžš ...

แžแŸ„แŸ‡โ€‹แž”แžทแž‘โ€‹แžœแžถโ€‹แžฒแŸ’แž™โ€‹แž›แžฟแž“โ€‹แžŸแžทแž“โ€‹แž…แžถแŸ†โ€‹แž”แžพแž€!

BEGIN;
  ALTER TABLE ... DISABLE TRIGGER ...;
COMMIT;

UPDATE ...;

BEGIN;
  ALTER TABLE ... ENABLE TRIGGER ...;
COMMIT;

แž“แŸ…แž‘แžธแž“แŸแŸ‡แžŸแŸ’แžแžถแž“แž—แžถแž–แž‚แžบแž”แŸ’แžšแžŸแžพแžšแž‡แžถแž„แž˜แžปแž“ แž–แŸแž›แžœแŸแž›แžถแžšแž„แŸ‹แž…แžถแŸ†แž‚แžบแžแžทแž…แž‡แžถแž„แž‚แžฝแžšแžฑแŸ’แž™แž€แžแŸ‹แžŸแž˜แŸ’แž‚แžถแž›แŸ‹แŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚โ€‹แž˜แžถแž“โ€‹แžแŸ‚โ€‹แž”แž‰แŸ’แž แžถโ€‹แž–แžธแžšโ€‹แž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡โ€‹แžŠแŸ‚แž›โ€‹แž”แŸ†แž•แŸ’แž›แžถแž‰โ€‹แžŸแž˜แŸ’แžšแžŸแŸ‹โ€‹แž‘แžถแŸ†แž„โ€‹แžขแžŸแŸ‹แŸ–

  • ALTER TABLE แžแŸ’แž›แžฝแž“แžœแžถแž€แŸ†แž–แžปแž„แžšแž„แŸ‹แž…แžถแŸ†แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž•แŸ’แžŸแŸแž„แž‘แŸ€แžแž‘แžถแŸ†แž„แžขแžŸแŸ‹แž“แŸ…แž›แžพแžแžป แžšแžฝแž˜แž‘แžถแŸ†แž„แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแžŠแŸแž™แžผแžšแž•แž„แžŠแŸ‚แžšแŸ” SELECT
  • แžแžŽแŸˆแž–แŸแž›แžŠแŸ‚แž›แž‚แž“แŸ’แž›แžนแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžทแž‘, แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžšแžŽแžถแž˜แžฝแž™แž“แžนแž„ "แž แŸ„แŸ‡แž แžพแžšแžŠแŸ„แž™" แž“แŸ…แž€แŸ’แž“แžปแž„แžแžป แž˜แžทแž“แž˜แŸ‚แž“แžšแž”แžŸแŸ‹แž™แžพแž„แž‘แŸแŸ” แž แžพแž™แžœแžถแž“แžนแž„แž˜แžทแž“แž…แžผแž›แž‘แŸ…แž€แŸ’แž“แžปแž„แž‚แŸ’แžšแžฟแž„แž‘แŸ แž‘แŸ„แŸ‡แž”แžธแž‡แžถแžœแžถแž‚แžฝแžšแž€แŸแžŠแŸ„แž™แŸ” แž”แž‰แŸ’แž แžถ!

แž€แžถแžšแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžขแžแŸแžšแžŸแž˜แŸแž™

แžŠแžผแž…แŸ’แž“แŸแŸ‡แž“แŸ…แž€แŸ’แž“แžปแž„แž€แŸ†แžŽแŸ‚แž˜แžปแž“ แž™แžพแž„แž”แžถแž“แž†แŸ’แž›แž„แž€แžถแžแŸ‹แž…แŸ†แžŽแžปแž…แž‡แžถแž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž˜แžฝแž™ - แž™แžพแž„แžแŸ’แžšแžผแžœแž”แž„แŸ’แžšแŸ€แž“แž‚แž“แŸ’แž›แžนแŸ‡แžŠแžพแž˜แŸ’แž”แžธแžŸแž˜แŸ’แž‚แžถแž›แŸ‹แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžš "แžšแž”แžŸแŸ‹แž™แžพแž„" แž“แŸ…แž€แŸ’แž“แžปแž„แžแžถแžšแžถแž„แž–แžธ "แž˜แžทแž“แž˜แŸ‚แž“แžšแž”แžŸแŸ‹แž™แžพแž„" แŸ” "แžšแž”แžŸแŸ‹แž™แžพแž„" แžแŸ’แžšแžผแžœแž”แžถแž“แžšแŸ†แž›แž„แžŠแžผแž…แž–แžธแž˜แžปแž“ แž แžพแž™ "แž˜แžทแž“แž˜แŸ‚แž“แž‡แžถแžšแž”แžŸแŸ‹แž™แžพแž„" แžแŸ’แžšแžผแžœแž”แžถแž“แž”แž„แŸ’แž€แžกแžพแž„แŸ” แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž“แŸแŸ‡แžขแŸ’แž“แž€แžขแžถแž…แž”แŸ’แžšแžพ แžขแžแŸแžšแžŸแž˜แŸแž™.

session_replication_role

แžขแžถแž“ แž แžแŸ’แžแž€แž˜แŸ’แž˜:

แž™แž“แŸ’แžแž€แžถแžšแž€แŸแŸ‡แž€แŸแžšแž„แž•แž›แž”แŸ‰แŸ‡แž–แžถแž›แŸ‹แžŠแŸ„แž™แžขแžแŸแžšแž€แŸ†แžŽแžแŸ‹แžšแž…แž“แžถแžŸแž˜แŸ’แž–แŸแž“แŸ’แž’แž•แž„แžŠแŸ‚แžšแŸ” session_replication_role. แž“แŸ…แž–แŸแž›แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ„แž™แž‚แŸ’แž˜แžถแž“แž€แžถแžšแžŽแŸ‚แž“แžถแŸ†แž”แž“แŸ’แžแŸ‚แž˜ (แž›แŸ†แž“แžถแŸ†แžŠแžพแž˜) แž€แŸแŸ‡แž“แžนแž„แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แžแžฝแž“แžถแž‘แžธแž…แž˜แŸ’แž›แž„แž‚แžบ "แž”แŸ’แžšแž—แž–แžŠแžพแž˜" (แž›แŸ†แž“แžถแŸ†แžŠแžพแž˜) แžฌ "แž˜แžผแž›แžŠแŸ’แž‹แžถแž“" แŸ” แž€แŸแŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž”แžพแž€แžŠแŸ„แž™แž€แžถแžšแžŽแŸ‚แž“แžถแŸ† ENABLE REPLICA, แž“แžนแž„แž’แŸ’แžœแžพแž€แžถแžšแžแŸ‚แž”แŸ’แžšแžŸแžทแž“แž”แžพ แžšแž”แŸ€แž”แžŸแž˜แŸแž™แž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“ - "แž…แž˜แŸ’แž›แž„" แž“แžทแž„แž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ„แž™แž”แž‰แŸ’แž‡แžถแž€แŸ‹ ENABLE ALWAYSแž“แžนแž„แžแŸ’แžšแžผแžœแž”แžถแž“แž€แŸแŸ‡แžŠแŸ„แž™แž˜แžทแž“แž‚แžทแžแž–แžธแžšแž”แŸ€แž”แž…แž˜แŸ’แž›แž„แž”แž…แŸ’แž…แžปแž”แŸ’แž”แž“แŸ’แž“แŸ”

แžแŸ’แž‰แžปแŸ†แž…แž„แŸ‹แž”แž‰แŸ’แž‡แžถแž€แŸ‹แž‡แžถแž–แžทแžŸแŸแžŸแžแžถแž€แžถแžšแž€แŸ†แžŽแžแŸ‹แž˜แžทแž“แžขแž“แžปแžœแžแŸ’แžแž…แŸ†แž–แŸ„แŸ‡แž˜แž“แžปแžŸแŸ’แžŸแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แž“แžถแž€แŸ’แž“แžปแž„แž–แŸแž›แžแŸ‚แž˜แžฝแž™แžŠแžผแž…แž‡แžถ ALTER TABLEแž”แŸ‰แžปแž“แŸ’แžแŸ‚แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžแŸ‚แž€แžถแžšแžแž—แŸ’แž‡แžถแž”แŸ‹แž–แžทแžŸแŸแžŸแžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แžšแž”แžŸแŸ‹แž™แžพแž„แŸ” แžŸแžšแžปแž”แž˜แž€ แžŠแžผแž…แŸ’แž“แŸแŸ‡แž‚แŸ’แž˜แžถแž“แž€แžถแžšแž€แŸแŸ‡แž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŽแžถแž˜แžฝแž™แžแŸ’แžšแžผแžœแž”แžถแž“แž€แŸแŸ‡แž‘แŸแŸ–

SET session_replication_role = replica; -- ะฒั‹ะบะปัŽั‡ะธะปะธ ั‚ั€ะธะณะณะตั€ั‹
UPDATE ...;
SET session_replication_role = DEFAULT; -- ะฒะตั€ะฝัƒะปะธ ะฒ ะธัั…ะพะดะฝะพะต ัะพัั‚ะพัะฝะธะต

แžŸแŸ’แžแžถแž“แž—แžถแž–แž“แŸ…แžแžถแž„แž€แŸ’แž“แžปแž„แž€แŸแŸ‡

แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž‡แž˜แŸ’แžšแžพแžŸแžแžถแž„แž›แžพแžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แŸแŸ‡แž‘แžถแŸ†แž„แžขแžŸแŸ‹แž€แŸ’แž“แžปแž„แž–แŸแž›แžแŸ‚แž˜แžฝแž™ (แžฌแžขแŸ’แž“แž€แžแŸ’แžšแžผแžœ "แž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžš" แž‡แžถแž˜แžปแž“แž“แžผแžœแž‚แž“แŸ’แž›แžนแŸ‡แžŠแŸ‚แž›แžขแŸ’แž“แž€แž˜แžทแž“แž…แž„แŸ‹แž”แžทแž‘) แŸ” แž แžพแž™แž”แŸ’แžšแžŸแžทแž“แž”แžพแž™แžพแž„แžแŸ’แžšแžผแžœแž€แžถแžš "แž”แžทแž‘" แž‚แž“แŸ’แž›แžนแŸ‡แž‡แžถแž€แŸ‹แž›แžถแž€แŸ‹แž˜แžฝแž™แŸ”?

แž“แŸแŸ‡แž“แžนแž„แž‡แžฝแž™แž™แžพแž„ แžขแžแŸแžšแžŸแž˜แŸแž™ "แžขแŸ’แž“แž€แž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹":

แžˆแŸ’แž˜แŸ„แŸ‡แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแž•แŸ’แž“แŸ‚แž€แž”แž“แŸ’แžแŸ‚แž˜แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžšแžŸแŸแžšแžŠแžผแž…แžแžถแž„แž€แŸ’แžšแŸ„แž˜แŸ– แžˆแŸ’แž˜แŸ„แŸ‡แž•แŸ’แž“แŸ‚แž€แž”แž“แŸ’แžแŸ‚แž˜ แž…แŸ†แžŽแžปแž… แž แžพแž™แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แžˆแŸ’แž˜แŸ„แŸ‡แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแžแŸ’แž›แžฝแž“แžœแžถ แžŸแŸ’แžšแžŠแŸ€แž„แž‘แŸ…แž“แžนแž„แžˆแŸ’แž˜แŸ„แŸ‡แžœแžแŸ’แžแžปแžŠแŸ‚แž›แž˜แžถแž“แž›แž€แŸ’แžแžŽแŸˆแžŸแž˜แŸ’แž”แžแŸ’แžแžทแž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแžถแž“แŸ‹แž–แŸแž‰แž›แŸแž‰แž“แŸ…แž€แŸ’แž“แžปแž„ SQL แŸ” แžงแž‘แžถแž แžšแžŽแŸแŸ– plpgsql.variable_conflictแŸ”
แžŠแŸ„แž™แžŸแžถแžšแž‡แž˜แŸ’แžšแžพแžŸแžŠแŸ‚แž›แž˜แžทแž“แž˜แŸ‚แž“แž‡แžถแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž€แŸ†แžŽแžแŸ‹แž€แŸ’แž“แžปแž„แžŠแŸ†แžŽแžพแžšแž€แžถแžšแžŠแŸ‚แž›แž˜แžทแž“แž•แŸ’แž‘แžปแž€แž˜แŸ‰แžผแžŒแžปแž›แž•แŸ’แž“แŸ‚แž€แž”แž“แŸ’แžแŸ‚แž˜แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž‚แŸ’แž“แžถ PostgreSQL แž‘แž‘แžฝแž›แž™แž€ แžแž˜แŸ’แž›แŸƒแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžˆแŸ’แž˜แŸ„แŸ‡แžŽแžถแž˜แžฝแž™แžŠแŸ‚แž›แž˜แžถแž“แžŸแž˜แžถแžŸแž—แžถแž‚แž–แžธแžš.

แžŠแŸ†แž”แžผแž„โ€‹แž™แžพแž„โ€‹แž€แŸ‚แž”แŸ’แžšแŸ‚โ€‹แž‚แž“แŸ’แž›แžนแŸ‡โ€‹แžขแŸ’แžœแžธโ€‹แž˜แžฝแž™โ€‹แžŠแžผแž…โ€‹แž“แŸแŸ‡แŸ–

BEGIN
    -- ะฟั€ะพั†ะตัััƒ ะบะพะฝะฒะตั€ั‚ะฐั†ะธะธ ะผะพะถะฝะพ ะดะตะปะฐั‚ัŒ ะฒัะต
    IF current_setting('mycfg.my_table_convert_process') = 'TRUE' THEN
        IF TG_OP IN ('INSERT', 'UPDATE') THEN
            RETURN NEW;
        ELSE
            RETURN OLD;
        END IF;
    END IF;
...

แžŠแŸ„แž™แžœแžทแž’แžธแž“แŸแŸ‡ แž“แŸแŸ‡แžขแžถแž…แžแŸ’แžšแžผแžœแž”แžถแž“แž’แŸ’แžœแžพ "แž”แž“แŸ’แžแž•แŸ’แž‘แžถแž›แŸ‹" แžŠแŸ„แž™แž˜แžทแž“แž˜แžถแž“แž€แžถแžšแž‘แž”แŸ‹แžŸแŸ’แž€แžถแžแŸ‹ CREATE OR REPLACE แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž˜แžปแžแž„แžถแžšแž€แŸแŸ‡แŸ” แž แžพแž™แž”แž“แŸ’แž‘แžถแž”แŸ‹แž˜แž€แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแžแž—แŸ’แž‡แžถแž”แŸ‹แž–แžทแžŸแŸแžŸ แž™แžพแž„แžšแŸ€แž”แž…แŸ†แžขแžแŸแžš "แžšแž”แžŸแŸ‹แž™แžพแž„"แŸ–


SET mycfg.my_table_convert_process = 'TRUE';
UPDATE ...;
SET mycfg.my_table_convert_process = ''; -- ะฒะตั€ะฝัƒะปะธ ะฒ ะธัั…ะพะดะฝะพะต ัะพัั‚ะพัะฝะธะต

แžแžพแžขแŸ’แž“แž€แžŠแžนแž„แž–แžธแžœแžทแž’แžธแž•แŸ’แžŸแŸแž„แž‘แŸ€แžแž‘แŸ? แž…แŸ‚แž€แžšแŸ†แž›แŸ‚แž€แž“แŸ…แž€แŸ’แž“แžปแž„แž˜แžแžทแž™แŸ„แž”แž›แŸ‹แŸ”

แž”แŸ’แžšแž—แž–: www.habr.com

แž‘แžทแž‰แž€แžถแžšแž”แž„แŸ’แž แŸ„แŸ‡แžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แž˜แžถแž“แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS, แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS ๐Ÿ”ฅ แž‘แžทแž‰แžŸแŸแžœแžถแž”แž„แŸ’แž แŸ„แŸ‡แž‚แŸแž แž‘แŸ†แž–แŸแžšแžŠแŸ‚แž›แžขแžถแž…แž‘แžปแž€แž…แžทแžแŸ’แžแž”แžถแž“แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž€แžถแžšแž–แžถแžš DDoS แž“แžทแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แž˜แŸ VPS VDS | ProHoster