๋ฒ๊ทธ ์ค๋ช
๋ฐฑ์๋ ์ ์ฅ์์ ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ(postgres๋ก ํ
์คํธ) ์๋ฒ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ ๋ฌธ์ ๋ฅผ ์ ์์ ์ผ๋ก ๋ณด๊ณ ํ๋ ๋์ ๊ณ์ ์ถฉ๋ํฉ๋๋ค.
์ฌํํ๊ธฐ ์ํด
๋์์ ์ฌํํ๋ ๋จ๊ณ:
/admin/plugins
๋ณผ ๋๋ ํจ๋๊ฐ ํธ๋ฆฌ๊ฑฐ๋์ด์ผ ํฉ๋๋ค.์์๋๋ ํ๋
์ผ๋ถ ํ๋ก ํธ์๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ํ์ํ๋ ๋จ๊ณ์ ํด๋ฐฑ์ด์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ด ๋ถ์กฑํ๋๋ผ๋ ๊ณ์ ์คํ๋ฉ๋๋ค.
์ค์ ํ๋
[2020-11-12 22:13:05.858] [ERROR] console - error: column "value" is of type jsonb but expression is of type text
at Parser.parseErrorMessage (/home/etherpad/etherpad-lite/src/node_modules/pg-protocol/dist/parser.js:278:15)
at Parser.handlePacket (/home/etherpad/etherpad-lite/src/node_modules/pg-protocol/dist/parser.js:126:29)
at Parser.parse (/home/etherpad/etherpad-lite/src/node_modules/pg-protocol/dist/parser.js:39:38)
at Socket.stream.on (/home/etherpad/etherpad-lite/src/node_modules/pg-protocol/dist/index.js:8:42)
at Socket.emit (events.js:198:13)
at Socket.EventEmitter.emit (domain.js:448:20)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
[2020-11-12 22:13:05.858] [INFO] console - Stopping Etherpad...
[2020-11-12 22:13:05.876] [ERROR] console - TypeError: Cannot read property 'name' of null
at Client._handleParseComplete (/home/etherpad/etherpad-lite/src/node_modules/pg/lib/client.js:358:26)
at Connection.emit (events.js:198:13)
at Connection.EventEmitter.emit (domain.js:448:20)
at parse (/home/etherpad/etherpad-lite/src/node_modules/pg/lib/connection.js:109:12)
at Parser.parse (/home/etherpad/etherpad-lite/src/node_modules/pg-protocol/dist/parser.js:40:17)
at Socket.stream.on (/home/etherpad/etherpad-lite/src/node_modules/pg-protocol/dist/index.js:8:42)
at Socket.emit (events.js:198:13)
at Socket.EventEmitter.emit (domain.js:448:20)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
์ถ๊ฐ ์ปจํ ์คํธ
Etherpad version
Version number: 1.8.6
Latest available version: 1.8.6
Git sha: 6a8563e
+1 ์ด๊ฒ.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ถ์ํ btw์ ๋ํ https://github.com/ether/ueberDB . ์ด๊ฒ์ PG๋ง์ ๋ฌธ์ ๊ฐ ์๋๋ผ ๋ชจ๋ DB์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
PR์ ์๋ฝํ๊ณ ์ด๋์์ ์์ ํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. db๊ฐ ์์ค๋ ๋ ueberdb๊ฐ ๋ฐฉ์ถ๋๋๋ก ํด์ผ ํ ๊ฒ ๊ฐ์ต๋๋ค.
๋น์ ์ ์๋ง๋ ํด๋ผ์ด์ธํธ์๊ฒ ๋ฉ์์ง๋ฅผ ๋ฒ๋ธ๋งํ๊ณ ์ถ์ง ์์ ๊ฒ์ด๋ฏ๋ก ํด๋ผ์ด์ธํธ์ ๋ํ ์ผ๋ฐ ์ค๋ฅ, ๋ฐฑ์๋ ๋ก๊ทธ์ ์ค๋ฅ ์ง์ฐ๊ธฐ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ณต์๋ ๋๊น์ง ๋ฉ๋ชจ๋ฆฌ์ ์บ์ํฉ๋๋ค. ๋ฌธ์ ๋ ๋ณต์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ก์ด ๋ ผ๋ฆฌ๊ฐ ํ์ํ ๋๊น์ง ๋ฉ๋ชจ๋ฆฌ์ ์บ์ํ๋ค๋ ๊ฒ์ ๋๋ค. ์๊ฐ๋ณด๋ค ๋ ํฐ ์์ ์ผ ์ ์๋ ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ปค๋ฅํฐ์ ๋ํด..
Etherpad๋ ์ค๋ฅ๋ก ์ธํด ์ฃฝ๋๋ก ์ค๊ณ๋์๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค. Etherpad๋ฅผ ์์ ์ ์ผ๋ก ๋ง๋ค๋๋ก ๊ฐ์ํ ์ด๊ธฐ ์ค๊ณ ๊ฒฐ์ ์ด์์ต๋๋ค. Etherpad์ ์์ ์คํฌ๋ฆฝํธ๋ Etherpad๋ฅผ ๋ค์ ์์ํ๊ณ db ์ฐ๊ฒฐ์ ๋ค์ ์ค์ ํ๋ ค๊ณ ์๋ํฉ๋๋ค. ์ ๋ ์ฐ๋ฆฌ๊ฐ ์ผ์ ํ๋ ๋ฐฉ์์ ๋ฐ๋ํ์ง ์์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฌ๋ผ์ง๋ค๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ด์ก๊ธฐ ๋๋ฌธ์ Etherpad๊ฐ ์คํจํ๊ณ ์๋ค๋ ๊ฒ์ด ๋งค์ฐ ๋ถ๋ช ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด๊ฒ์ ์ฐ๊ฒฐ ๋ฌธ์ ๊ฐ ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค. column <name> is of type jsonb but expression is of type text
๋ ๋ฏธ๋ค์จ์ด๊ฐ ์์์น ๋ชปํ ๋ฐฉ์์ผ๋ก ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ ๋ ๋ฐ์ํ๋ ๋ค์ ํํ ์ผ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์ด์ JSONB๋ก ์์ฑ๋์ง๋ง ์ฟผ๋ฆฌ ์์ฑ๊ธฐ๊ฐ JSON.encode์ ๊ฐ์ ๊ฒ์ ์ฌ์ฉํ ๋ ์ ํ์ ๋ฌธ์์ด๋ก ์ ์ถ๋๊ณ ๋งค๊ฐ๋ณ์๋ ์ ํ TEXT ๋๋ VARCHAR(์ค๋ฅ ๋ฉ์์ง์ "๋ฌธ์ ๊ฐ๋ณ")๋ก ๋ฐ์ธ๋ฉ๋ฉ๋๋ค.
๋ถ๋ช
ํ ๊ทธ๊ฒ์ ๋ฌธ์์ด์ด๋ ๋ฐฐ์ด์ ํฌํจํ๋ ๊ฐ์ฒด ๋์ ์ ๋ฌธ์์ด์ด๋ ๋ฐฐ์ด์ ์ ์ฅํ ๋๋ ๋ฌธ์ ๊ฐ ๋ ์ ์์ต๋๊น?
์ด ํ๋ก์ ํธ์ ๊ด๋ จ์ด ์๋ Google์ ํตํด ๋ฐ๊ฒฌ๋ ์์์ ์: https://github.com/jeremydaly/data-api-client/issues/27#issuecomment -584701957
์, ๋๋๋ฆฐ ์ปค๋ฐ์ ํ์ธํ์ญ์์ค. ์ผ๋ง ์ ์ ๊ด๋ จ๋ ๋์ p ์ปค๋ฐ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฐฉ๊ธ ์์์ฐจ๋ ธ์ต๋๋ค. jsonb๊ฐ ํฌํจ๋ CREATE TABLE์ด ์๋ ๊ฒ ๊ฐ์ผ๋ฉฐ node_modules์ ๋ฒ์ ์ ์ด๋ฏธ text
์
๋๋ค. FWIW์๋ ํ
์คํธ ์ธ์๊ฐ ์๋ ueberdb_insert_or_update()
๋ ์์ต๋๋ค. ์ค๋ฒ๋ก๋๋ ํญ๋ชฉ์ด ๋จ์ ์์ง ์์ต๋๋ค...
๋ณํํ๊ธฐ ์ ์ ํ ์คํธ๊ฐ (ํ์ฌ๋ก์๋) ๊ทธ๋๋ก ์์ด์ผ ํฉ๋๊น?
ํ ์คํธ๋ก ๋ณํํ ํ ๋ชจ๋ ๊ฒ์ด ์๋ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
ALTER TABLE storage ALTER COLUMN value TYPE text USING value::text;
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์, ๋๋๋ฆฐ ์ปค๋ฐ์ ํ์ธํ์ญ์์ค. ์ผ๋ง ์ ์ ๊ด๋ จ๋ ๋์ p ์ปค๋ฐ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค.