PgSQL Visual Manager

แ€กแ€€แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธแ€กแ€›แ€ฌแ€€แ€ญแ€ฏ แ€กแ€™แ€พแ€แ€บแ€•แ€ฑแ€ธแ€แ€ผแ€„แ€บแ€ธ
แ€œแ€ฐแ€แ€ญแ€ฏแ€„แ€บแ€ธ
แแ€แ€+
แ€’แ€ฑแ€ซแ€„แ€บแ€ธแ€œแ€ฏแ€’แ€บแ€™แ€ปแ€ฌแ€ธ
แ€กแ€€แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธแ€กแ€›แ€ฌแ€€แ€ญแ€ฏ แ€กแ€™แ€พแ€แ€บแ€•แ€ฑแ€ธแ€แ€ผแ€„แ€บแ€ธ
แ€œแ€ฐแ€แ€ญแ€ฏแ€„แ€บแ€ธ
แ€•แ€ญแ€ฏแ€œแ€ฑแ€ทแ€œแ€ฌแ€›แ€”แ€บ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ
แ€–แ€”แ€บแ€žแ€ฌแ€ธแ€•แ€ผแ€„แ€บแ€•แ€ฏแ€ถ

แ€คแ€กแ€€แ€บแ€•แ€บแ€กแ€€แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธ

PgSQL Visual Manager แ€žแ€Šแ€บ terminal แ€™แ€‘แ€ญแ€˜แ€ฒ แŽแ€„แ€บแ€ธแ€แ€ญแ€ฏแ€ทแแ€’แ€ฑแ€แ€ฌแ€˜แ€ฑแ€ทแ€…แ€บแ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€…แ€ฎแ€™แ€ถแ€แ€”แ€ทแ€บแ€แ€ฝแ€ฒแ€›แ€”แ€บ แ€žแ€”แ€ทแ€บแ€›แ€พแ€„แ€บแ€ธแ€•แ€ผแ€ฎแ€ธ แ€™แ€ญแ€ฏแ€˜แ€ญแ€ฏแ€„แ€บแ€ธแ€–แ€ผแ€„แ€ทแ€บแ€กแ€žแ€ฏแ€ถแ€ธแ€•แ€ผแ€ฏแ€›แ€œแ€ฝแ€šแ€บแ€€แ€ฐแ€žแ€ฑแ€ฌ แ€”แ€Šแ€บแ€ธแ€œแ€™แ€บแ€ธแ€แ€…แ€บแ€แ€ฏ แ€œแ€ญแ€ฏแ€กแ€•แ€บแ€žแ€ฑแ€ฌ developer แ€™แ€ปแ€ฌแ€ธแŠ DBA แ€™แ€ปแ€ฌแ€ธแ€”แ€พแ€„แ€ทแ€บ แ€’แ€ฑแ€แ€ฌแ€กแ€„แ€บแ€‚แ€ปแ€„แ€บแ€”แ€ฎแ€šแ€ฌแ€™แ€ปแ€ฌแ€ธแ€กแ€แ€ฝแ€€แ€บ แ€แ€Šแ€บแ€†แ€ฑแ€ฌแ€€แ€บแ€‘แ€ฌแ€ธแ€žแ€ฑแ€ฌ แ€กแ€•แ€ผแ€Šแ€ทแ€บแ€กแ€แ€•แ€ซแ€แ€„แ€บแ€žแ€Šแ€ทแ€บ PostgreSQL client แ€แ€…แ€บแ€แ€ฏแ€–แ€ผแ€…แ€บแ€žแ€Šแ€บแ‹

แ€™แ€Šแ€บแ€žแ€Šแ€ทแ€บ PostgreSQL server แ€”แ€พแ€„แ€ทแ€บแ€™แ€†แ€ญแ€ฏ แ€แ€ปแ€ญแ€แ€บแ€†แ€€แ€บแ€•แ€ผแ€ฎแ€ธ แ€žแ€„แ€บแ schema แ€™แ€ปแ€ฌแ€ธแŠ แ€‡แ€šแ€ฌแ€ธแ€™แ€ปแ€ฌแ€ธแ€”แ€พแ€„แ€ทแ€บ view แ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€แ€ปแ€€แ€บแ€แ€ปแ€„แ€บแ€ธแ€…แ€ฐแ€ธแ€…แ€™แ€บแ€ธแ€œแ€ฑแ€ทแ€œแ€ฌแ€•แ€ซแ‹ smart editor แ€–แ€ผแ€„แ€ทแ€บ raw SQL query แ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€œแ€ฏแ€•แ€บแ€†แ€ฑแ€ฌแ€„แ€บแ€•แ€ซแŠ row แ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ visually browse แ€”แ€พแ€„แ€ทแ€บ edit แ€œแ€ฏแ€•แ€บแ€•แ€ผแ€ฎแ€ธ แ€›แ€œแ€’แ€บแ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€…แ€€แ€นแ€€แ€”แ€ทแ€บแ€•แ€ญแ€ฏแ€„แ€บแ€ธแ€กแ€แ€ฝแ€„แ€บแ€ธ export แ€œแ€ฏแ€•แ€บแ€•แ€ซแ‹ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ€ข แ€…แ€ญแ€แ€บแ€€แ€ผแ€ญแ€ฏแ€€แ€บแ€กแ€›แ€ฑแ€ฌแ€„แ€บแ€แ€ถแ€†แ€ญแ€•แ€บแ€™แ€ปแ€ฌแ€ธแ€–แ€ผแ€„แ€ทแ€บ แ€กแ€™แ€Šแ€บแ€•แ€ฑแ€ธแ€‘แ€ฌแ€ธแ€žแ€ฑแ€ฌ แ€แ€ปแ€ญแ€แ€บแ€†แ€€แ€บแ€™แ€พแ€ฏแ€™แ€ปแ€ฌแ€ธแ€…แ€ฝแ€ฌแ€€แ€ญแ€ฏ แ€žแ€ญแ€™แ€บแ€ธแ€†แ€Šแ€บแ€ธแ€•แ€ซ
โ€ข SSH tunnel แ€•แ€ถแ€ทแ€•แ€ญแ€ฏแ€ธแ€™แ€พแ€ฏ โ€” แ€…แ€€แ€ฌแ€ธแ€แ€พแ€€แ€บ แ€žแ€ญแ€ฏแ€ทแ€™แ€Ÿแ€ฏแ€แ€บ แ€žแ€ฎแ€ธแ€žแ€”แ€ทแ€บแ€žแ€ฑแ€ฌแ€ทแ€–แ€ผแ€„แ€ทแ€บ jump server แ€™แ€พแ€แ€…แ€บแ€†แ€„แ€ทแ€บ แ€แ€ปแ€ญแ€แ€บแ€†แ€€แ€บแ€•แ€ซ
โ€ข แ€›แ€ฝแ€ฑแ€ธแ€แ€ปแ€šแ€บแ€”แ€ญแ€ฏแ€„แ€บแ€žแ€ฑแ€ฌ client แ€œแ€€แ€บแ€™แ€พแ€แ€บแ€™แ€ปแ€ฌแ€ธ (Root CAแŠ Client CertแŠ Client Key) แ€–แ€ผแ€„แ€ทแ€บ SSL/TLS encryption
โ€ข แ€™แ€Šแ€บแ€žแ€Šแ€ทแ€บแ€แ€ปแ€ญแ€แ€บแ€†แ€€แ€บแ€™แ€พแ€ฏแ€€แ€ญแ€ฏแ€™แ€†แ€ญแ€ฏ แ€…แ€™แ€บแ€ธแ€žแ€•แ€บแ€•แ€ซ แ€žแ€ญแ€™แ€บแ€ธแ€†แ€Šแ€บแ€ธแ€แ€ผแ€„แ€บแ€ธแ€™แ€•แ€ผแ€ฏแ€™แ€ฎ
โ€ข แ€’แ€ฑแ€žแ€แ€ฝแ€„แ€บแ€ธ แ€กแ€‘แ€ฑแ€ฌแ€€แ€บแ€กแ€‘แ€ฌแ€ธแ€žแ€ญแ€ฏแ€œแ€พแ€ฑแ€ฌแ€„แ€บแ€™แ€พแ€ฏแ€€แ€ญแ€ฏ แ€œแ€ฏแ€ถแ€แ€ผแ€ฏแ€ถแ€…แ€ฝแ€ฌแ€‘แ€ฌแ€ธแ€•แ€ซ โ€” แ€žแ€„แ€ทแ€บแ€…แ€€แ€ฌแ€ธแ€แ€พแ€€แ€บแ€™แ€ปแ€ฌแ€ธแ€žแ€Šแ€บ แ€žแ€„แ€ทแ€บแ€…แ€€แ€บแ€™แ€พ แ€˜แ€šแ€บแ€แ€ฑแ€ฌแ€ทแ€™แ€พ แ€™แ€‘แ€ฝแ€€แ€บแ€แ€ฝแ€ฌแ€•แ€ซแ€”แ€พแ€„แ€ทแ€บ

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐Ÿ—‚๏ธ แ€’แ€ฑแ€แ€ฌแ€˜แ€ฑแ€ทแ€…แ€บ แ€…แ€ฐแ€ธแ€…แ€™แ€บแ€ธแ€›แ€พแ€ฌแ€–แ€ฝแ€ฑแ€žแ€ฐ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐Ÿ—‚๏ธ แ€’แ€ฑแ€แ€ฌแ€˜แ€ฑแ€ทแ€…แ€บ แ€…แ€ฐแ€ธแ€…แ€™แ€บแ€ธแ€›แ€พแ€ฌแ€–แ€ฝแ€ฑแ€žแ€ฐ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ€ข แ€žแ€•แ€บแ€›แ€•แ€บแ€žแ€ฑแ€ฌ แ€˜แ€ฑแ€ธแ€˜แ€€แ€บ แ€กแ€•แ€ผแ€„แ€บแ€กแ€†แ€„แ€บแ€แ€ฝแ€„แ€บ แ€‡แ€šแ€ฌแ€ธแ€™แ€ปแ€ฌแ€ธแŠ แ€‡แ€šแ€ฌแ€ธแ€™แ€ปแ€ฌแ€ธแ€”แ€พแ€„แ€ทแ€บ แ€™แ€ผแ€„แ€บแ€€แ€ฝแ€„แ€บแ€ธแ€™แ€ปแ€ฌแ€ธแ€กแ€ฌแ€ธแ€œแ€ฏแ€ถแ€ธแ€€แ€ญแ€ฏ แ€€แ€ผแ€Šแ€ทแ€บแ€›แ€พแ€ฏแ€•แ€ซ
โ€ข แ€•แ€ผแ€”แ€บแ€œแ€Šแ€บแ€แ€ปแ€ญแ€แ€บแ€†แ€€แ€บแ€แ€ผแ€„แ€บแ€ธแ€™แ€›แ€พแ€ญแ€˜แ€ฒ แ€’แ€ฑแ€แ€ฌแ€˜แ€ฑแ€ทแ€…แ€บแ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€แ€€แ€บแ€€แ€ผแ€ฝแ€žแ€ฑแ€ฌ แ€แ€ปแ€ญแ€แ€บแ€†แ€€แ€บแ€™แ€พแ€ฏแ€แ€ฝแ€„แ€บ แ€•แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธแ€œแ€ฒแ€•แ€ซ
โ€ข แ€‡แ€šแ€ฌแ€ธแ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€‡แ€šแ€ฌแ€ธ แ€žแ€ญแ€ฏแ€ทแ€™แ€Ÿแ€ฏแ€แ€บ แ€กแ€แ€ปแ€ญแ€”แ€บแ€”แ€พแ€„แ€ทแ€บแ€แ€•แ€ผแ€ฑแ€ธแ€Šแ€ฎ แ€กแ€™แ€Šแ€บแ€–แ€ผแ€„แ€ทแ€บ แ€›แ€พแ€ฌแ€–แ€ฝแ€ฑแ€•แ€ซ
โ€ข แ€‡แ€šแ€ฌแ€ธแ€™แ€ปแ€ฌแ€ธแ€”แ€พแ€„แ€ทแ€บ แ€™แ€ผแ€„แ€บแ€€แ€ฝแ€„แ€บแ€ธแ€™แ€ปแ€ฌแ€ธแ€กแ€€แ€ผแ€ฌแ€ธ แ€™แ€ผแ€„แ€บแ€žแ€ฌแ€žแ€ฑแ€ฌ แ€แ€ฝแ€ฒแ€แ€ผแ€ฌแ€ธแ€™แ€พแ€ฏ
โ€ข แ€–แ€ฏแ€”แ€บแ€ธแ€”แ€พแ€„แ€ทแ€บ แ€แ€€แ€บแ€˜แ€œแ€€แ€บ แ€™แ€ปแ€€แ€บแ€”แ€พแ€ฌแ€•แ€ผแ€„แ€บ แ€กแ€›แ€ฝแ€šแ€บแ€กแ€…แ€ฌแ€ธ แ€”แ€พแ€…แ€บแ€™แ€ปแ€ญแ€ฏแ€ธแ€œแ€ฏแ€ถแ€ธแ€กแ€แ€ฝแ€€แ€บ แ€กแ€€แ€ฑแ€ฌแ€„แ€บแ€ธแ€†แ€ฏแ€ถแ€ธแ€–แ€ผแ€…แ€บแ€กแ€ฑแ€ฌแ€„แ€บ แ€•แ€ผแ€ฏแ€œแ€ฏแ€•แ€บแ€‘แ€ฌแ€ธแ€žแ€Šแ€บ

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐Ÿ“Š แ€‡แ€šแ€ฌแ€ธ แ€€แ€ผแ€Šแ€ทแ€บแ€›แ€พแ€ฏแ€žแ€ฐแ€”แ€พแ€„แ€ทแ€บ แ€กแ€šแ€บแ€’แ€ฎแ€แ€ฌ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ€ข แ‚แ… / แ…แ€ / แแ€แ€ / แ‚แ€แ€ แ€•แ€ซแ€žแ€ฑแ€ฌ แ€…แ€ฌแ€™แ€ปแ€€แ€บแ€”แ€พแ€ฌแ€แ€ฝแ€ฒแ€‘แ€ฌแ€ธแ€žแ€ฑแ€ฌ แ€’แ€ฑแ€แ€ฌแ€‡แ€šแ€ฌแ€ธแ€€แ€ฝแ€€แ€บ แ€…แ€ฌแ€™แ€ปแ€€แ€บแ€”แ€พแ€ฌแ€แ€…แ€บแ€แ€ฏแ€œแ€ปแ€พแ€„แ€บ แ€กแ€แ€”แ€บแ€ธแ€™แ€ปแ€ฌแ€ธ
โ€ข แ€แ€…แ€บแ€แ€ปแ€€แ€บแ€”แ€พแ€ญแ€•แ€บแ€›แ€ฏแ€ถแ€–แ€ผแ€„แ€ทแ€บ แ€™แ€Šแ€บแ€žแ€Šแ€ทแ€บแ€€แ€ฑแ€ฌแ€บแ€œแ€ถแ€–แ€ผแ€„แ€ทแ€บแ€™แ€†แ€ญแ€ฏ แ€…แ€ฎแ€•แ€ซ
โ€ข WHERE clause bar แ€€แ€ญแ€ฏ แ€กแ€žแ€ฏแ€ถแ€ธแ€•แ€ผแ€ฏแ แ€กแ€แ€”แ€บแ€ธแ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€…แ€…แ€บแ€•แ€ซ โ€” แ€žแ€„แ€บแ€กแ€€แ€ผแ€ญแ€ฏแ€€แ€บแ€†แ€ฏแ€ถแ€ธ desktop tool แ€”แ€พแ€„แ€ทแ€บ แ€กแ€แ€ฐแ€แ€ฐแ€•แ€„แ€บ
โ€ข smart per-column controls แ€™แ€ปแ€ฌแ€ธแ€–แ€ผแ€„แ€ทแ€บ แ€กแ€แ€”แ€บแ€ธแ€กแ€žแ€…แ€บแ€™แ€ปแ€ฌแ€ธ แ€‘แ€Šแ€ทแ€บแ€žแ€ฝแ€„แ€บแ€ธแ€•แ€ซ-
โ€” แ€šแ€ฌแ€šแ€ฎแ€€แ€ฑแ€ฌแ€บแ€œแ€ถแ€™แ€ปแ€ฌแ€ธแ€กแ€แ€ฝแ€€แ€บ แ€›แ€€แ€บแ€…แ€ฝแ€ฒแŠ แ€กแ€แ€ปแ€ญแ€”แ€บแ€”แ€พแ€„แ€ทแ€บ แ€›แ€€แ€บแ€…แ€ฝแ€ฒแ€กแ€แ€ปแ€ญแ€”แ€บ แ€›แ€ฝแ€ฑแ€ธแ€แ€ปแ€šแ€บแ€€แ€ญแ€›แ€ญแ€šแ€ฌแ€™แ€ปแ€ฌแ€ธ
โ€” nullable fields แ€™แ€ปแ€ฌแ€ธแ€กแ€แ€ฝแ€€แ€บ NULL toggle
โ€” แ€‚แ€แ€”แ€บแ€ธแ€กแ€™แ€ปแ€ญแ€ฏแ€ธแ€กแ€…แ€ฌแ€ธแ€™แ€ปแ€ฌแ€ธแ€กแ€แ€ฝแ€€แ€บ แ€”แ€ถแ€•แ€ซแ€แ€บแ€€แ€ฎแ€ธแ€˜แ€ฏแ€แ€บแ€™แ€ปแ€ฌแ€ธ
โ€” แ€แ€Šแ€บแ€ธแ€–แ€ผแ€แ€บแ€™แ€ฏแ€’แ€บแ€แ€ฝแ€„แ€บ primary key fields แ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€žแ€ฑแ€ฌแ€ทแ€แ€แ€บแ€‘แ€ฌแ€ธแ€žแ€Šแ€บ
โ€ข แ€กแ€แ€Šแ€บแ€•แ€ผแ€ฏแ€แ€ปแ€€แ€บแ€–แ€ผแ€„แ€ทแ€บ แ€กแ€แ€”แ€บแ€ธแ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€แ€Šแ€บแ€ธแ€–แ€ผแ€แ€บแ€•แ€ผแ€ฎแ€ธ แ€–แ€ปแ€€แ€บแ€•แ€ซ
โ€ข แŽแ€„แ€บแ€ธแแ€แ€”แ€บแ€–แ€ญแ€ฏแ€ธแ€€แ€ญแ€ฏ clipboard แ€žแ€ญแ€ฏแ€ท แ€€แ€ฐแ€ธแ€šแ€ฐแ€›แ€”แ€บ แ€™แ€Šแ€บแ€žแ€Šแ€ทแ€บแ€†แ€ฒแ€œแ€บแ€€แ€ญแ€ฏแ€™แ€†แ€ญแ€ฏ แ€€แ€ผแ€ฌแ€›แ€พแ€Šแ€บแ€…แ€ฝแ€ฌ แ€”แ€พแ€ญแ€•แ€บแ€•แ€ซ

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โœ๏ธ QUERY แ€กแ€šแ€บแ€’แ€ฎแ€แ€ฌ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ€ข แ€œแ€ญแ€ฏแ€„แ€บแ€ธแ€”แ€ถแ€•แ€ซแ€แ€บแ€™แ€ปแ€ฌแ€ธแ€•แ€ซแ€›แ€พแ€ญแ€žแ€ฑแ€ฌ Syntax แ€™แ€ฎแ€ธแ€™แ€ฑแ€ฌแ€„แ€บแ€ธแ€‘แ€ญแ€ฏแ€ธแ€•แ€ผแ€‘แ€ฌแ€ธแ€žแ€ฑแ€ฌ SQL แ€กแ€šแ€บแ€’แ€ฎแ€แ€ฌ (Atom One Dark/Light)
โ€ข แ€™แ€ฏแ€’แ€บ แƒ แ€แ€ฏแ€แ€ฝแ€„แ€บ Context-aware autocomplete แ€›แ€พแ€ญแ€žแ€Šแ€บ-
โ€” SQL keyword แ€™แ€ปแ€ฌแ€ธแ€”แ€พแ€„แ€ทแ€บ function แ€™แ€ปแ€ฌแ€ธ (SELECTแŠ WHEREแŠ COALESCEแŠ ROW_NUMBERโ€ฆ)
โ€” FROMแŠ JOINแŠ UPDATEแŠ INTO แ€•แ€ผแ€ฎแ€ธแ€”แ€ฑแ€ฌแ€€แ€บ table แ€กแ€™แ€Šแ€บแ€™แ€ปแ€ฌแ€ธ
โ€” WHEREแŠ SETแŠ SELECT แ€•แ€ผแ€ฎแ€ธแ€”แ€ฑแ€ฌแ€€แ€บ column แ€กแ€™แ€Šแ€บแ€™แ€ปแ€ฌแ€ธ โ€” แ€žแ€„แ€ทแ€บ schema แ€™แ€พ แ€แ€ญแ€ฏแ€€แ€บแ€›แ€ญแ€ฏแ€€แ€บแ€›แ€šแ€ฐแ€‘แ€ฌแ€ธแ€žแ€Šแ€บ
โ€ข แ€™แ€ฑแ€ธแ€™แ€ผแ€”แ€บแ€ธแ€แ€ปแ€€แ€บแ€แ€ญแ€ฏแ€„แ€บแ€ธแ€•แ€ผแ€ฎแ€ธแ€”แ€ฑแ€ฌแ€€แ€บ Execution แ€กแ€แ€ปแ€ญแ€”แ€บแŠ แ€žแ€€แ€บแ€›แ€ฑแ€ฌแ€€แ€บแ€™แ€พแ€ฏแ€›แ€พแ€ญแ€žแ€ฑแ€ฌ row แ€™แ€ปแ€ฌแ€ธแ€”แ€พแ€„แ€ทแ€บ row แ€กแ€›แ€ฑแ€กแ€แ€ฝแ€€แ€บแ€€แ€ญแ€ฏ แ€•แ€ผแ€žแ€‘แ€ฌแ€ธแ€žแ€Šแ€บ
โ€ข แ€›แ€œแ€’แ€บแ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ CSV แ€žแ€ญแ€ฏแ€ทแ€™แ€Ÿแ€ฏแ€แ€บ JSON แ€žแ€ญแ€ฏแ€ท แ€แ€…แ€บแ€แ€ฏแ€–แ€ผแ€„แ€ทแ€บ แ€‘แ€ฏแ€แ€บแ€šแ€ฐแ€•แ€ซ แ€”แ€พแ€ญแ€•แ€บแ€•แ€ซ

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐Ÿ”’ แ€œแ€ฏแ€ถแ€แ€ผแ€ฏแ€ถแ€›แ€ฑแ€ธแ€ฆแ€ธแ€…แ€ฌแ€ธแ€•แ€ฑแ€ธ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ€ข Flutter Secure Storage (Keystore / Keychain) แ€–แ€ผแ€„แ€ทแ€บ แ€žแ€ญแ€™แ€บแ€ธแ€†แ€Šแ€บแ€ธแ€‘แ€ฌแ€ธแ€žแ€ฑแ€ฌ แ€กแ€‘แ€ฑแ€ฌแ€€แ€บแ€กแ€‘แ€ฌแ€ธแ€กแ€ฌแ€ธแ€œแ€ฏแ€ถแ€ธแ€€แ€ญแ€ฏ
โ€ข SSL แ€™แ€ฏแ€’แ€บแ€™แ€ปแ€ฌแ€ธ- แ€•แ€ญแ€แ€บแ€‘แ€ฌแ€ธแ€žแ€Šแ€บแŠ แ€œแ€ญแ€ฏแ€กแ€•แ€บแ€žแ€Šแ€บแŠ แ€กแ€แ€Šแ€บแ€•แ€ผแ€ฏ-แ€†แ€ฌแ€—แ€ฌ
โ€ข แ€žแ€ฎแ€ธแ€žแ€”แ€ทแ€บแ€žแ€ฑแ€ฌแ€ทแ€–แ€ญแ€ฏแ€„แ€บแ€•แ€ถแ€ทแ€•แ€ญแ€ฏแ€ธแ€™แ€พแ€ฏแ€–แ€ผแ€„แ€ทแ€บ SSH tunneling แ€กแ€•แ€ผแ€Šแ€ทแ€บแ€กแ€…แ€ฏแ€ถ
โ€ข แ€กแ€œแ€ญแ€ฏแ€กแ€œแ€ปแ€ฑแ€ฌแ€€แ€บ แ€กแ€žแ€€แ€บแ€žแ€ฝแ€„แ€บแ€ธแ€•แ€ผแ€ฎแ€ธ แ€•แ€ผแ€”แ€บแ€œแ€Šแ€บแ€แ€ปแ€ญแ€แ€บแ€†แ€€แ€บแ€•แ€ซ โ€” แ€กแ€žแ€ฏแ€ถแ€ธแ€™แ€•แ€ผแ€ฏแ€แ€ฑแ€ฌแ€ทแ€žแ€ฑแ€ฌ แ€แ€ปแ€ญแ€แ€บแ€†แ€€แ€บแ€™แ€พแ€ฏแ€™แ€ปแ€ฌแ€ธ แ€›แ€พแ€ญแ€”แ€ฑแ€žแ€Šแ€บ แ€กแ€žแ€€แ€บแ€แ€„แ€บแ€”แ€ฑแ€•แ€ซแ€žแ€Šแ€บ

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
๐ŸŽจ แ€”แ€ฑแ€ทแ€…แ€‰แ€บแ€กแ€žแ€ฏแ€ถแ€ธแ€•แ€ผแ€ฏแ€›แ€”แ€บ แ€’แ€ฎแ€‡แ€ญแ€ฏแ€„แ€บแ€ธแ€‘แ€ฏแ€แ€บแ€‘แ€ฌแ€ธแ€žแ€Šแ€บ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ€ข แ€กแ€•แ€ผแ€Šแ€ทแ€บแ€กแ€ แ€™แ€พแ€ฑแ€ฌแ€„แ€บแ€™แ€ญแ€ฏแ€€แ€บแ€•แ€ผแ€ฎแ€ธ แ€กแ€œแ€„แ€บแ€ธแ€†แ€ฑแ€ฌแ€„แ€บแ€•แ€ฏแ€’แ€บแ€€แ€ญแ€ฏ แ€•แ€ถแ€ทแ€•แ€ญแ€ฏแ€ธแ€™แ€พแ€ฏ
โ€ข แ€แ€ฏแ€ถแ€ทแ€•แ€ผแ€”แ€บแ€™แ€พแ€ฏแ€›แ€พแ€ญแ€žแ€ฑแ€ฌ แ€กแ€•แ€ผแ€„แ€บแ€กแ€†แ€„แ€บ โ€” แ€แ€€แ€บแ€˜แ€œแ€€แ€บแ€™แ€ปแ€ฌแ€ธแ€แ€ฝแ€„แ€บ แ€˜แ€ฑแ€ธแ€˜แ€€แ€บแŠ แ€–แ€ฏแ€”แ€บแ€ธแ€™แ€ปแ€ฌแ€ธแ€แ€ฝแ€„แ€บ แ€กแ€ถแ€†แ€ฝแ€ฒ
โ€ข แ€–แ€แ€บแ€›แ€พแ€ฏแ€›แ€œแ€ฝแ€šแ€บแ€€แ€ฐแ€…แ€ฑแ€›แ€”แ€บแ€กแ€แ€ฝแ€€แ€บ Monospace แ€–แ€ฑแ€ฌแ€„แ€ทแ€บแ€แ€…แ€บแ€แ€ฏแ€œแ€ฏแ€ถแ€ธ
โ€ข แ€กแ€›แ€ฑแ€ฌแ€„แ€บแ€€แ€ฏแ€’แ€บแ€แ€ปแ€ญแ€แ€บแ€†แ€€แ€บแ€™แ€พแ€ฏแ€™แ€ปแ€ฌแ€ธแ€•แ€ซแ€›แ€พแ€ญแ€žแ€ฑแ€ฌ แ€žแ€”แ€ทแ€บแ€›แ€พแ€„แ€บแ€ธแ€žแ€ฑแ€ฌ Material 3 แ€’แ€ฎแ€‡แ€ญแ€ฏแ€„แ€บแ€ธ
โ€ข แ€™แ€ญแ€แ€นแ€แ€ฐแ€€แ€ฐแ€ธแ€•แ€ซ แ€แ€…แ€บแ€แ€ปแ€€แ€บแ€”แ€พแ€ญแ€•แ€บแ€›แ€ฏแ€ถแ€–แ€ผแ€„แ€ทแ€บ แ€™แ€Šแ€บแ€žแ€Šแ€ทแ€บแ€แ€”แ€บแ€–แ€ญแ€ฏแ€ธแ€€แ€ญแ€ฏแ€™แ€†แ€ญแ€ฏ clipboard แ€žแ€ญแ€ฏแ€ท แ€›แ€ฝแ€พแ€ฑแ€ทแ€•แ€ซ

โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
แ€กแ€แ€ฝแ€€แ€บ แ€กแ€žแ€„แ€ทแ€บแ€แ€ฑแ€ฌแ€บแ€†แ€ฏแ€ถแ€ธ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โœ” Backend แ€”แ€พแ€„แ€ทแ€บ full-stack developer แ€™แ€ปแ€ฌแ€ธ
โœ” remote server แ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€…แ€ฎแ€™แ€ถแ€แ€”แ€ทแ€บแ€แ€ฝแ€ฒแ€žแ€ฑแ€ฌ database administrator แ€™แ€ปแ€ฌแ€ธ
โœ” DevOps แ€กแ€„แ€บแ€‚แ€ปแ€„แ€บแ€”แ€ฎแ€šแ€ฌแ€™แ€ปแ€ฌแ€ธ แ€กแ€™แ€ผแ€”แ€บแ€แ€„แ€บแ€›แ€ฑแ€ฌแ€€แ€บแ€แ€ฝแ€„แ€ทแ€บ แ€œแ€ญแ€ฏแ€กแ€•แ€บแ€žแ€Šแ€บ
โœ” ad-hoc query แ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€œแ€ฏแ€•แ€บแ€†แ€ฑแ€ฌแ€„แ€บแ€”แ€ฑแ€žแ€ฑแ€ฌ data analyst แ€™แ€ปแ€ฌแ€ธ
โœ” pgAdmin-level แ€€แ€ญแ€ฏ แ€œแ€ญแ€ฏแ€แ€ปแ€„แ€บแ€žแ€ฐแ€แ€ญแ€ฏแ€„แ€บแ€ธ แ€žแ€ฐแ€แ€ญแ€ฏแ€ทแ€›แ€ฒแ€ทแ€–แ€ฏแ€”แ€บแ€ธแ€€แ€”แ€ฑ แ€แ€„แ€บแ€›แ€ฑแ€ฌแ€€แ€บแ€€แ€ผแ€Šแ€ทแ€บแ€›แ€พแ€ฏแ€”แ€ญแ€ฏแ€„แ€บแ€•แ€ซแ€แ€šแ€บ

PgSQL Visual Manager แ€Ÿแ€ฌ แ€•แ€ฝแ€„แ€ทแ€บแ€œแ€„แ€บแ€ธแ€™แ€ผแ€„แ€บแ€žแ€ฌแ€•แ€ผแ€ฎแ€ธ แ€•แ€ฑแ€ซแ€ทแ€•แ€ซแ€ธแ€แ€ฒแ€ทแ€กแ€•แ€ผแ€„แ€บ Flutter แ€”แ€ฒแ€ท แ€แ€Šแ€บแ€†แ€ฑแ€ฌแ€€แ€บแ€‘แ€ฌแ€ธแ€แ€ฌแ€€แ€ผแ€ฑแ€ฌแ€„แ€ทแ€บ Android แ€™แ€พแ€ฌ bloat แ€’แ€ซแ€™แ€พแ€™แ€Ÿแ€ฏแ€แ€บ subscription แ€™แ€œแ€ญแ€ฏแ€กแ€•แ€บแ€˜แ€ฒ native experience แ€€แ€ญแ€ฏ แ€•แ€ฑแ€ธแ€…แ€ฝแ€™แ€บแ€ธแ€”แ€ญแ€ฏแ€„แ€บแ€•แ€ซแ€แ€šแ€บแ‹
PostgreSQL แ€’แ€ฑแ€แ€ฌแ€˜แ€ฑแ€ทแ€…แ€บแ€™แ€ปแ€ฌแ€ธแ€€แ€ญแ€ฏ แ€กแ€™แ€ผแ€„แ€บแ€กแ€ฌแ€›แ€ฏแ€ถแ€–แ€ผแ€„แ€ทแ€บ แ€…แ€ฎแ€™แ€ถแ€แ€”แ€ทแ€บแ€แ€ฝแ€ฒแ€•แ€ซ โ€” แ€€แ€ผแ€Šแ€ทแ€บแ€›แ€พแ€ฏแ€แ€ผแ€„แ€บแ€ธแŠ แ€แ€Šแ€บแ€ธแ€–แ€ผแ€แ€บแ€แ€ผแ€„แ€บแ€ธแŠ แ€™แ€ฑแ€ธแ€™แ€ผแ€”แ€บแ€ธแ€แ€ผแ€„แ€บแ€ธแŠ SSH แ€”แ€พแ€„แ€ทแ€บ SSL แ€•แ€ถแ€ทแ€•แ€ญแ€ฏแ€ธแ€™แ€พแ€ฏแ‹
แ€กแ€•แ€บแ€’แ€ญแ€แ€บแ€œแ€ฏแ€•แ€บแ€แ€ฒแ€ทแ€žแ€Šแ€ทแ€บแ€›แ€€แ€บ
แ‚แ€แ‚แ† แ€‡แ€ฝแ€”แ€บ แ‚แ„

แ€’แ€ฑแ€แ€ฌ แ€˜แ€ฑแ€ธแ€€แ€„แ€บแ€ธแ€œแ€ฏแ€ถแ€แ€ผแ€ฏแ€ถแ€›แ€ฑแ€ธ

แ€†แ€ฑแ€ฌแ€ทแ€–แ€บแ€แ€ฒแ€›แ€ฑแ€ธแ€žแ€ฐแ€™แ€ปแ€ฌแ€ธแ€€ แ€žแ€„แ€ทแ€บแ€’แ€ฑแ€แ€ฌแ€กแ€ฌแ€ธ แ€…แ€ฏแ€…แ€Šแ€บแ€ธแ€•แ€ฏแ€ถแ€”แ€พแ€„แ€ทแ€บ แ€™แ€ปแ€พแ€แ€ฑแ€•แ€ฏแ€ถแ€€แ€ญแ€ฏ แ€”แ€ฌแ€ธแ€œแ€Šแ€บแ€แ€ผแ€„แ€บแ€ธแ€™แ€พแ€…แ แ€œแ€ฏแ€ถแ€แ€ผแ€ฏแ€ถแ€™แ€พแ€ฏ แ€…แ€แ€„แ€บแ€žแ€Šแ€บแ‹ แ€’แ€ฑแ€แ€ฌแ€œแ€ฏแ€ถแ€แ€ผแ€ฏแ€ถแ€™แ€พแ€ฏแ€”แ€พแ€„แ€ทแ€บ แ€œแ€ฏแ€ถแ€แ€ผแ€ฏแ€ถแ€›แ€ฑแ€ธแ€œแ€ฏแ€•แ€บแ€†แ€ฑแ€ฌแ€„แ€บแ€™แ€พแ€ฏแ€™แ€ปแ€ฌแ€ธแ€žแ€Šแ€บ แ€žแ€„แ€บแแ€กแ€žแ€ฏแ€ถแ€ธแ€•แ€ผแ€ฏแ€™แ€พแ€ฏแŠ แ€’แ€ฑแ€žแ€”แ€พแ€„แ€ทแ€บ แ€กแ€žแ€€แ€บแ€กแ€•แ€ฑแ€ซแ€บแ€™แ€ฐแ€แ€Šแ€บแ แ€€แ€ฝแ€ฒแ€•แ€ผแ€ฌแ€ธแ€”แ€ญแ€ฏแ€„แ€บแ€žแ€Šแ€บแ‹ แ€†แ€ฑแ€ฌแ€ทแ€–แ€บแ€แ€ฒแ€›แ€ฑแ€ธแ€žแ€ฐแ€€ แ€คแ€กแ€แ€ปแ€€แ€บแ€กแ€œแ€€แ€บแ€€แ€ญแ€ฏ แ€•แ€ฑแ€ธแ€‘แ€ฌแ€ธแ€•แ€ผแ€ฎแ€ธ แ€กแ€แ€ปแ€ญแ€”แ€บแ€”แ€พแ€„แ€ทแ€บแ€กแ€™แ€ปแ€พ แ€•แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธแ€œแ€ฒแ€”แ€ญแ€ฏแ€„แ€บแ€žแ€Šแ€บแ‹
  • แ€™แ€Šแ€บแ€žแ€Šแ€ทแ€บแ€’แ€ฑแ€แ€ฌแ€€แ€ญแ€ฏแ€™แ€ปแ€พ แ€•แ€ผแ€„แ€บแ€•แ€กแ€–แ€ฝแ€ฒแ€ทแ€กแ€…แ€Šแ€บแ€ธแ€™แ€ปแ€ฌแ€ธแ€”แ€พแ€„แ€ทแ€บ แ€™แ€ปแ€พแ€แ€ฑแ€แ€ผแ€„แ€บแ€ธแ€™แ€›แ€พแ€ญแ€•แ€ซ
    แ€†แ€ฑแ€ฌแ€ทแ€–แ€บแ€แ€ฒแ€›แ€ฑแ€ธแ€žแ€ฐแ€™แ€ปแ€ฌแ€ธแ แ€™แ€ปแ€พแ€แ€ฑแ€™แ€พแ€ฏแ€†แ€ญแ€ฏแ€„แ€บแ€›แ€ฌ แ€–แ€ฑแ€ฌแ€บแ€•แ€ผแ€™แ€พแ€ฏแ€€แ€ญแ€ฏ แ€•แ€ญแ€ฏแ€™แ€ญแ€ฏแ€œแ€ฑแ€ทแ€œแ€ฌแ€›แ€”แ€บ
  • แ€™แ€Šแ€บแ€žแ€Šแ€ทแ€บแ€’แ€ฑแ€แ€ฌแ€€แ€ญแ€ฏแ€™แ€ปแ€พ แ€…แ€ฏแ€…แ€Šแ€บแ€ธแ€แ€ผแ€„แ€บแ€ธแ€™แ€›แ€พแ€ญแ€•แ€ซ
    แ€†แ€ฑแ€ฌแ€ทแ€–แ€บแ€แ€ฒแ€›แ€ฑแ€ธแ€žแ€ฐแ€™แ€ปแ€ฌแ€ธแ แ€…แ€ฏแ€…แ€Šแ€บแ€ธแ€™แ€พแ€ฏแ€†แ€ญแ€ฏแ€„แ€บแ€›แ€ฌ แ€–แ€ฑแ€ฌแ€บแ€•แ€ผแ€™แ€พแ€ฏแ€€แ€ญแ€ฏ แ€•แ€ญแ€ฏแ€™แ€ญแ€ฏแ€œแ€ฑแ€ทแ€œแ€ฌแ€›แ€”แ€บ

แ€กแ€žแ€…แ€บแ€™แ€ปแ€ฌแ€ธ

Added passphrase support for SSH tunnel connections.