Skip to content

Instantly share code, notes, and snippets.

@askdkc
Created September 30, 2022 08:48
Show Gist options
  • Select an option

  • Save askdkc/afb7e8393ba786df5c8f7d68e5bf7f39 to your computer and use it in GitHub Desktop.

Select an option

Save askdkc/afb7e8393ba786df5c8f7d68e5bf7f39 to your computer and use it in GitHub Desktop.
--
-- PostgreSQL database dump
--
-- Dumped from database version 14.5 (Homebrew)
-- Dumped by pg_dump version 14.5 (Homebrew)
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
--
-- Name: pgroonga; Type: EXTENSION; Schema: -; Owner: -
--
CREATE EXTENSION IF NOT EXISTS pgroonga WITH SCHEMA public;
--
-- Name: EXTENSION pgroonga; Type: COMMENT; Schema: -; Owner:
--
COMMENT ON EXTENSION pgroonga IS 'Super fast and all languages supported full text search index based on Groonga';
SET default_tablespace = '';
SET default_table_access_method = heap;
--
-- Name: posts; Type: TABLE; Schema: public; Owner: dkc
--
CREATE TABLE public.posts (
id bigint NOT NULL,
title character varying(255) NOT NULL,
body jsonb NOT NULL,
created_at timestamp(0) without time zone,
updated_at timestamp(0) without time zone
);
ALTER TABLE public.posts OWNER TO dkc;
--
-- Name: posts_id_seq; Type: SEQUENCE; Schema: public; Owner: dkc
--
CREATE SEQUENCE public.posts_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER TABLE public.posts_id_seq OWNER TO dkc;
--
-- Name: posts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: dkc
--
ALTER SEQUENCE public.posts_id_seq OWNED BY public.posts.id;
--
-- Name: posts id; Type: DEFAULT; Schema: public; Owner: dkc
--
ALTER TABLE ONLY public.posts ALTER COLUMN id SET DEFAULT nextval('public.posts_id_seq'::regclass);
--
-- Data for Name: posts; Type: TABLE DATA; Schema: public; Owner: dkc
--
COPY public.posts (id, title, body, created_at, updated_at) FROM stdin;
1 ใ‹ใชใ—ใฆใ‚‚ใ€้ซ˜ใๆ˜Ÿใ€‚ {"memo": "ใ—ใ‚‡ใ†ใปใ†ใ€็€ฌๆˆธ็‰ฉใ›ใจใ‚‚ใชใœใ‹ใพใฃใ™ใใซใ™ใ‚‹ใจใ“ใ‚ใฉใ“ใ˜ใ‚ƒใ•ใ‚ˆใชใ‚‰ๅƒ•ใผใใŸใกใซ้€ฒใ™ใ™ใ‚“ใงใ—ใ‚‡ใ†ใ€ใ‚„ใฃใฑใ‚ŠใŠใชใ˜ใ“ใจใชใ‚ŠใชใŒใ„ใ—ใฆใ‚ˆใ“ใฎๆฑฝ่ปŠใซใŠใ„ใŠใ†ใงใ™ใ€‚ใ€Œใ•ใ‚ใฃใŸใฎใ€ใ‚ธใƒงใƒใƒณใƒ‹ใŒ็ช“ใพใฉใ‹ใ‚‰ใฟใฆใ„ใพใ€ใ„ใฃใŸ้›ปๆฐ—ไผš็คพใฎๅ‰ใ‚’้€šใ‚Š้Žใ™ใŽใฆ่กŒใใพใ™ใชใ‚’ไธ€ใคใŒ็ณธใฎใ‚ˆใ†ใซใใ‚‚ใฎใ‚’ๅพ…ใพใฃใฆใ‚ใŸใ‚Šๅผ•ใ„ใฆใ—ใพใ—ใŸใ€‚ใ€‚", "author": "ๅฑฑๆœฌ ็ŸฅๅฎŸ", "subtitle": "ใฎใณใ‚ใŒใ‚Šใ€ๆ™‚ใ€…ใ€ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
2 ใพใ™ใ€ใซใ‚ใ‹ใ‚Šใพใ™ใ€‚ {"memo": "ใใ”ใ‚‰ใ‚“ใงใซใ™ใ‚Šใธๅ‡บใฆใ„ใพใ—ใŸใ€‚ใ€Œๅคฉใฎๅทใฎใชใ‹ใซใชใ‚‹ใชใฉใ€ใ”ใ‚ใ‚“ใพใ ใ—ใŸใ€‚ใ€ŒใผใใŸใกใฎ็“ถใณใ‚“ใฎ่ถณใ‚‚ใจใ‹ใ‚ใ‚‰ใ„ใ€‚ใŸใ ใใ†ใ‹ใ€ใพใ‚‹ใง็†Ÿใ˜ใ‚…ใ†ใใคใ‚’ใจใ‚Šใงใ™ใ€‚ไธƒๅŒ—ๅๅญ—ๆžถใ˜ใ‚…ใ†ใ˜ใ‚‡ใ†ใ€‚ใใ—ใฆใญใ€‚ใ“ใฎ้–“ๅŽŸ็จฟใ’ใ‚“ใœใ‚“ใŸใ„ใซ็™ฝใ„ๆฏ›ใ‚‚ใกใ‚ใ‚“ใใๆญฃใ—ใใชใ‚Šใ€ๅฐใ•ใช่™ซใ‚„ใชใ‚“ใ ใ‹ใ•ใ•ใŽใฎๆ–นใ‚’่ฆ‹ใฆใ„ใพใพ่ƒธใ‚€ใญใ‚’ใฒใŸใ—ใพใ—ใ€‚", "author": "็ฌน็”ฐ ้™ฝๅญ", "subtitle": "ใปใฉใ„ใ“ใจใงใ‚‚่กŒใ‘ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
3 ๅ‡บใ‚‹ใจใ€ใ‹ใ™ใ‹ใ€‚ใฉใ€‚ {"memo": "ใฃใใ‹ใ‚‰ๅ‡บใพใ—ใŸใ€‚ใ‚ธใƒงใƒใƒณใƒ‹ใฏๅ”‡ใใกใŒใฉใ“ใธ่กŒใฃใฆใ„ใพใ—ใŸใ€‚ๅฎถใธๅธฐใ‚Šใซใฏใ“ใ‚’ๆŒ‡ใ‚†ใณใ•ใ—ใ„ใฎใŸใ‚ใซใชใ‚Šใฎใ€ใ‹ใˆใฃใฆใ‚‰ใ—ใ„ใ‘ใชใŒใ„ใจใใฏใใกใ‚“ใจใ†ใซใ‚…ใ†ใฎ้’ใ‚„ๆฉ™ใ ใ„ใ€ใใฎ้ก”ใ„ใ‚ใ„ๅพฎๅ…‰ใณใ“ใ†ใ€ๅทใฎๅฒธใใ—ใฎๅคงใใใชใฃใฆใ€ใผใใฏใ‚‚ใกใ‚ใ‚“ใ‚ซใƒ ใƒ‘ใƒใƒซใƒฉใฏใ€ใ™ใฃใ‹ใ‚Š่ฆšๆ‚Ÿใ‹ใใฒใ‚‡ใ†ใ‹ใ€ใ€Œใผใใฎๆ–นใ ใ‚ใ€โ€ฆโ€ฆใ€ใใ—ใฆใ‚‚ใ€‚", "author": "ๅ‰ๆœฌ ๆ˜Ž็พŽ", "subtitle": "ใ‚‰ใ€ใ‚ธใƒงใƒใƒณใƒ‹ใฏใ€ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
4 ใ‚‚ใคใ‚‹ใคใ‚‹ใ—ใฆใ‚ถใƒใ€‚ {"memo": "ใ‚‰ใซใผใ‚“ใ‚„ใฎ้Š€ใŽใ‚“ใŒใ‚นใƒ†ใƒผใ‚ทใƒงใƒณใ€้Š€ใŽใ‚“ใŒใจใ†ใ™ใใชใฃใฆใ€‚ใฉใ†ใงใ—ใ‚‡ใ†ใ‹ใ€ใ„ใกใ‚‡ใ†ใฏๆถผใ™ใšใ—ใ„ใใ†ใ ใ„ใ˜ใ‚‡ใ†ใถใ ใจ่จ€ใ„ใŠใ†ใจใ†ใ‚‚ใ‚ใ“ใณใซใงใ†ใ”ใ‹ใชใ€ๆพใพใคใ‚„ๆฅขใชใ‚‰ใฃใกใ‚’ใจใฃใฆ่กŒใใ‚“ใ ใ€‚ไปŠๆ—ฅใฏใใฎใ™ใใซ็ซ‹ใกใพใ—ใŸใ€‚ใ™ใ‚‹ใจใใ€ใซใ‚ใ‹ใซๅ‹•ใใ ใ—ใพใ—ใŸใ€‚ใ€Œใ‹ใ‚‰ใ‚‚ใ€ใใ†ใ ใฃใŸ้’ใ„็„”ใปใฎ็™ฝใ„ๆŸ”ใ‚„ใ‚ใ‚‰ใ„ใ ใ„ใ‹ใ€ใ€‚", "author": "ๆ‘ๅฑฑ ่กๅคช้ƒŽ", "subtitle": "ใŒใ‚‹ใŸใ‚ใซใ„ใ‚‰ใชใ‚‚ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
5 ใช็ฃใ‘ใ‚‚ใฎใฎๅ‘ฝใ„ใฎใ€‚ {"memo": "ใŸใ‚Šใฏใ€ใ”ใ‚ใ‚“ใซใ‚‚่ˆนใฏๆฒˆใ—ใšใ‹ใชใ—ใฆใ‚ถใƒใƒชใ‚‚ใญใ€ใใฟใ‚‚ใฟใ‚“ใชใ‚‰ใ€ใ‚ธใƒงใƒใƒณใƒ‹ใซๆธกใ‚ใŸใ‚Šใจ็™ฝใ่ฆ‹ใˆใšๆ‚ฒใ‹ใชๅฒฉใ„ใ‚ใŒใ€ไฝ•ใ‹ใ“ใฎไบบใŸใกใฏใ“ใ‚’ใ‚‚ใจใ‚Œๆœฌๆฐ—ใซใ‚‚ใฃใจ็ตŒๆธˆใ‘ใ„ใจใ„ใฃใฆ่กŒใใพใ—ใŸใ€‚ใ™ใ‚‹ใซ่ฆใ„ใ‚‹ใ‚“ใ ใ‚ใ†ใ€‚ใ‚ใฃใŸใฎใ‚ˆใ†ใชใ€ใŠใฃใจ็™พไบŒๅไธ‡ๅนดใพใ‚“ไธญใซใฏใ™ใฃใ‹ใ‚Šใ‚’ใ—ใ‚‰ใˆใ‹ใญใˆใ€‚ใ“ใฃใกใ‚’ใ™ใผใ‚ใฆ่ฆ‹ใฆใ„ใŸใ€‚ใ€Œใ•ใ‚ใ€‚", "author": "ไฝใ€…ๆœจ ๆกƒๅญ", "subtitle": "ใใใฎๅœฐๅ›ณใซใ‚‚ใŸใ—ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
6 ใ‚Šใ‚‚ใ˜ใ—ใฆใ„ใ‚‹ใ ใ‘ใ€‚ {"memo": "ใšใฟใพใ—ใŸใ€‚ใ‚‚ใ†ใใ†ใงใ—ใŸใจใ„ใ„ใ“ใจใ‚’่ฆ‹ใชใŒใ‚Œใ‚‹ใ‚ˆใ†ใซใใ“ใซใ€ๅƒ•ใผใใ‚‚ใŸใ—ใพใ—ใŸใฎใงใ™ใ€‚ใใฎๅคงใใๆ‰‹ใ‚’ๆŒฏใตใ‚Š่ฟ”ใ‹ใˆใฃใฆใ€ๅฒฉใ„ใ‚ใซใชใ‚Šใ„ใ‚ใ„ใ‚ใ„ใ‚ใซใ‹ใ‹ใฃใฆๆฅใŸใจใใ„ใ‚ใ„ใ‚‰ใฃใŸใฎใ‚ˆใ†ใชๆฐ—ใ‚‚ใกใชใŒใ‚‰ใ€ใ€Œไฝ•ใ‹ใ‚ใฃใŸใ‚ใ€‚ใปใ‚“ใจใคใ„ใฆใ„ใ‚‹ใ€ใ€Œไฝ•ใ‹ใพใ‚ใ™ใ‚ŒใŸใฎใงใ™ใ€ใ‚ซใƒ ใƒ‘ใƒใƒซใƒฉใ ใฃใฆใ„ใพใ—ใŸใ€ใ‚ใฎ้ณฅๆ•ใจใ‚Šใฎ็œผใ€‚", "author": "ๅ‰็”ฐ ใ•ใ‚†ใ‚Š", "subtitle": "ใธๅฏ„่ดˆใใžใ†ใ•ใˆใŽใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
7 โ€ฆใ€ใ€Œ้ถดใคใ‚‹ใคใ‚‹ใŒใ€‚ {"memo": "ใ‚Œใ„ใซใใŸใ€‚ใ€Œใ„ใ„ใจๆ€ใฃใŸใ„ใ‚‰ใ—ใชใŒใ‚Œใฆใชใ‚“ใงใ—ใŸใ€‚ใ€Œใใ“ใธๆฅใŸใ‚Šใซ็™ฝใใชใฃใŸใ„ใธใ‚“ใฆใคใฉใ†ใ„ใ†ใตใใ‚ใ‚’ใ‹ใฃใŸใฎใงใ—ใŸใ€‚ๆฑฝ่ปŠใฏใใฎๅŒ—ใฎๅๅญ—ๆžถใ˜ใ‚…ใŽใ‚‡ใ†ใ€ใ€Œใ ใฃใฆใ‚ใ‚Šใพใ—ใŸใ€‚ไธญใงๆฑบๅฟƒใ‘ใฃใ—ใ‚Šใ„ใ‚ใฎใ•ใพใŒใฃใŸใ‚ใ€ใพใ‚‹ใง้‹ๅ‹•ๅ ดใ†ใ‚“ใ€183-7๏ผฝใจใ“ใฃใกใฎๆ–นใฎ็ช“ใพใฉใ‹ใ‚‰ใชใๅฃฐใ‚’ใใ‚Œใ„ใชใŒ่€ƒใˆใ‚‹ไธญใ‚’ๆตใชใŒใ‚‰ใ€‚", "author": "ๅ‰ๆœฌ ๅ……", "subtitle": "ใ‚‚ใชใ‚“ใซ่ผ‰ใฎใฃใฆใ‚‹ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
8 ใ“ใ„ใคใงใ‚‚ใ™ใใจใŠใ€‚ {"memo": "ใƒใƒชใŒใญใฎๆ–นใธๆญฉใๅ‡บใใ†ใ„ใ†ใ‚“ใ ใ‚ˆใ€ใ€Œใ„ใพใฎ็ฏใฒใ‚’ใ€่ปฝใ‹ใ‚‹ใใ‚‰่ฆ‹ใฆใใ‚‹ใ‚ˆใ†ใซใ€ใ‚ใ‹ใซใ‚ใ‹ใซใใ“ใ‚‚ใ‚นใ‚ณใƒƒใƒ—ใŒใŸใ ใใฎๆœจใŒใปใ‚“ใจใ„ใ†ใตใใ‚ใซๆฒฟใใฃใกใงใ‚ซใƒ ใƒ‘ใƒใƒซใƒฉใŒๅœฐในใŸใ‹ใฃใŸๆ–นใฏใฉใ‚“ใฉใ„ใ“ใจใ‚‚่จ€ใ„ใ„ใพใ—ใŸใ€‚ใ€Œใผใใฏใญใ‚’ใŠๆŒใ‚‚ใฃใจๅ…‰ใฃใฆ่กŒใใพใ›ใ‚“ใงใ™ใ‹ใ€‚ใ„ใพใ—ใŸใŸใใใ‚‡ใ†ใŒใ€ใฑใฃใจ็œผใ‚ใฎใ‚ˆใ†ใซ่จ€ใ„ใพใ—ใ€‚", "author": "ไธ‰ๅฎ… ่Šฑๅญ", "subtitle": "็”Ÿใฏๆ„ๅค–ใ„ใŒใ‚ˆใ่จ€ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
9 ใ‹ใŸใฅใ‘ใพใ—ใŸใ€‚ไธญใ€‚ {"memo": "ใคใฉใ†ใ‹ใ€้ญšใ˜ใ‚ƒใ‚Šใ‚“ใ”ใฏใ€ใ€Œใ‚ใ‚‰ใ‚ใ‚Œใ€็™ฝ้ณฅใ‚‚ใงใ™ใ€‚ใ“ใฎๆ–นใ€้€šใ‚Š่ถŠใ“ใˆใŸใกใฏใ‚‚ใ†ๆฑฝ่ปŠใŒใ‚ใ‚‹ใ‚ˆใ†ใช้ŸณใŒใ—ใพใ—ใŸใ€‚ใใ†ใซใ†ใกใธใ„ใŸใจ่€ƒใˆใฆใ„ใŸใ‚ใ„ใใฃใฆใ„ใ—ใ‚ƒใ‚‹ใ‚“ใ ใ‚“ใ ใ‹ใ‚‰ใ‚‚ใ†ใชใ€ๅคงใใช่‹žใปใ†ใŒใ‚‚ใ†ไธ–็•Œใ›ใ‹ใ„ใ•ใคใใกใซใใ‚‹ใจใ„ใ†ใกใซๅคขไธญใ‚€ใกใ‚…ใ†ใ€ใฟใ‚“ใชใฏใญใ€ใŠใ‚ŠใŸใ„ไฝ•ใงใ™ใ‹ใ‚‰ใ€ๅ‘ใ‚€ใ“ใ†ๅฒธใŽใ—ใฎๆ–นใŒใ„ใฃใŸใ€‚", "author": "ๅคงๅžฃ ๅ……", "subtitle": "ใธใ‚“ใคใ‹ใชใ—ใฆใ‚‚ใ€ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
10 ้‹ณใ„ใŸใ‚ธใƒงใƒใƒณใƒ‹ใŒใ€‚ {"memo": "ใ‚‹ใ‚„ใ‹ใซใใฃใจใ‚Šๅฃ็ฌ›ใใกใฐใ‚“ใฏใฃใใ‹ใ‚‰ใ€้ณฅๆ•ใจใ‚Šใจใ‚Šใจใ‚Šใงใ—ใŸใ€‚ใ€Œใพใ‚ใใณใซใชใ‚Š็ช“ใพใฉใ‹ใ‚‰ใฏใ€ใฆใ„ใพใ—ใŸใŒใ€ๆ€ใ„ใพใ—ใŸใ‚“ใงใ„ใŸใจใๆฑฝ่ปŠใซไน—ใฎใ›ใ„ใฎไธ‹ใ‚’้€šใ‚‹ใจ่€ƒใˆใจๆ€ใฃใฆใ‚‹ใ ใ‘่ฆ‹ใˆใพใ—ใŸใ€‚ใ‘ใ‚Œใฉใ‚‚ใ€ใใ—ใฆ่ปŠใฎใ™ใใจใŠใ‚‚ใ„ใพใ—ใŸใ€‚ใ‚ใ‚“ใชใ‹ใฎ็ฅžใ‹ใฟใ•ใพใ–ใพใšใ„ใถใ‚“ใ‚‚ใ€ใใ“ใ‚‰ใฏ่ฒใ‹ใ„่Š่‰ใ—ใฐใ‚‰ใใ€้ ใใธใฏใ€‚", "author": "ไฝใ€…ๆœจ ็ฟผ", "subtitle": "ใฃใฆใ€ใ€Œๆจ™ๆœฌใฒใ‚‡ใ†ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
11 ใ‚Šใพใ—ใŸใ€‚ใฉใ†ใ—ใฆใ€‚ {"memo": "่›ใปใŸใ‚‹ใ‚ˆใ†ใช้Ÿณใญใ„ใซใ‚ใฎๅง‰ใ‚ใญใฏใชใ—ใ—ใ‚ƒใใฎ้ŸณใฎใŸใใ•ใ‚“ใฎใ‚ˆใ†ใซ้‡ŽๅŽŸใฎใฏใ€ใ‚ธใƒงใƒใƒณใƒ‹ใฏใ„ใใชใจใ†ใ ใ„ใŒใ‚“ใฎๆ–นใฎใฏใ„ใฃใฆใใฆใ€ใใ‚Œใฏใชใใชใฃใฆใชใ‚“ใจใ†ใจ่จ€ใ„ใˆใšใ‹ใ‘ใพใ—ใŸใ€‚ใ€Œใ‚ธใƒงใƒใƒณใƒ‹ใฎ่ฆ‹ใˆใชใๆบถ้‰ฑ็‚‰ใ‚ˆใ†ใซใ‚ใ‹ใ‚ŒใŸใฎใ ใจๆ€ใ„ใชใŒใ‚Œใ‚‹ๆ–นใ‚’่ฆ‹ใฆใ„ใ‚‹ใ‚“ใ˜ใ‚’ใ ใ‚“ๅคงใใชใ‚ชใƒผใ‚ฑใ‚นใƒˆใƒฉใฎใŠๅ‹้”ใจใ‚‚ใ‚ใชใŒใ‚‰ใ ใชใฎใ€‚", "author": "้’ๅฑฑ ็ฟผ", "subtitle": "ใ‚“ใŒใ‚’ใ‚ˆใ่จ€ใ„ใ„ใพใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
12 ็“œใ†ใ‚Šใซใ—ใฆๅ‘ใ‚€ใ“ใ€‚ {"memo": "ใ€Œใ‚ใ‚ใ€ใ‚ใ‚‹่‘‰ใฏใฎ็މใŸใพใ‚‰ใชใใชใฃใฆใŠใใ‚Šใงใ‚‚็งใฎ็พฉๅ‹™ใŽใ‚€ใ ใ ใฃใฆใ€ใ ใพใฃใฆใ€ใใ‚Œใฏใƒœใ‚นใจใ„ใฃใŸ็ด™ใใ‚Œใ„ใชใŒใ‚‰ใ€่€ณใ‚’ใ™ใพใ—ใŸใ€‚ใใ‚Œใซ็ฅžใ‹ใฟใ•ใพใ‚’้ ใใฎ้ ใๅฐใ•ใช่™ซใ‚‚ใ„ใ‚‹ใ‚“ใ˜ใ‚‡ใซๆฑฝ่ปŠใฎใฒใจใซใ‘ใ‚€ใ‚Šใซ้’ๅนดใฏใ„ใคใพใฃใฆใ€ๅฒฉใ„ใ‚ใ„ใซใ’ใŸใ‹ใ‚‰ใ‚„ใฃใฆใ‘ใ‚€ใฃใŸใ‚ˆใ†ใŒใ“ใŸใˆใ‚‹ใ€‚ใŠใพใˆใซใƒฉใƒƒใ‚ณใฎไธŠใซใฏไธ‰ๆœฌใฎ่„šใ‚ใ—ใพใ€‚", "author": "่ฟ‘่—ค ใ•ใ‚†ใ‚Š", "subtitle": "ไธ‡ใ„ใใ‚‰ใ„ๅฃฐใ‚‚ใฏๅคฑใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
13 ใฎไธญใงใจ่ƒธใ‚€ใญใฏๅ‰ใ€‚ {"memo": "ใฃใใ‚‰ใ‚ใใ€ใ€Œใ‚ใ‚Œใ€ใ€Œใ„ใพใ—ใŸใ‚‰ใ„ใ‚‰ใฃใจใปใ‚“ใจใ‚‚ใฉใ“ใพใ‚Œใฆใ€ใพใ ็†ฑใ‚ใคใ„ใฆใใพใ‚Šใพใ—ใŸใ‚‰ใ€็งใฏๅคงใใชไธ€ใคใฎไธ‰่ง’ๆจ™ใ•ใ‚“ใŒใฏใ‚Œใ‹ใ‚‰ใฟใ ใŒใ†ใคใๆฝฎๆฐดใ—ใŠใพใˆใฎๅˆ‡็ฌฆใใฃใทใฎไธญใงใชใ„ใ‚“ใจใปใ†ใ•ใชๅบƒๅ ดใซๅ‡บใฆๆฅใฆ็ซ‹ใฃใฆใ€ใใฎไธ€ใจใ“ใซๅฐใ•ใชๆฐดๆ™ถใ™ใ„ใ‚„ใ€ใ‚ณใƒณใƒใ‚ฏใƒ†ใ‚ซใƒƒใƒˆใซๅ…ฅใ‚Œใพใ—ใŸใ€‚ใ‚ธใƒงใƒใƒณใƒ‹ใฏใพใ‚‹ใง้ผ ใญใšใฟใ„ใ‚ใฎใ€‚", "author": "ไบ•ไธŠ ไธƒๅค", "subtitle": "ใ‹ในใซใฏใชใ‚Œใฆๅด–ใŒใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
14 ใ ใ‚“ใ ใ€‚ใใฎๅทใฎใฒใ€‚ {"memo": "ๅญใŒ่จ€ใ„ใ„ใญใ„ใฃใฑใ„ใซ่จ€ใ„ใ„ใˆใšใ‹ใชใ—ใ‹ใซใใฃใกใซใชใ‚“ใซใ—ใฐใ‚‰ใใ€ๅ”‡ใใกใถใˆใ‚’ไบบใซ่จ€ใ„ใ„ใ“ใจใ‚’่€ƒใˆใฆใ›ใ„ใงใ€‚ใŠใพใˆใŸใ€ใ‚ซใƒ ใƒ‘ใƒใƒซใƒฉใŒใใใ‚‰ใ„ใฏใ‹ใ›ใฎๅ‰ใซ็ซ‹ใฃใฆใ“ใชใ‚“ใ ใ‚Šใ—ใชใ‹ใ‚‰ใผใ†ใฎ็ฅžใ‹ใฟใ•ใพใฃใŸใฎใงใฏใ‚ใถใ‚‰ใฎใ„ใกใฐใ—ใ‚’ไธกๆ‰‹ใ‚Šใ‚‡ใ†ใ–ใ‚“ใงใ™ใ€‚ใจใ“ใชใ‚‰ใ€ใ‚‚ใ†่ปŠใฎไธญใ‚’ใ€่‚ฉใ‹ใŸใชใ‘ใ‚Œใฉใ‚‚ใŒๆฐดใ‹ใ‚‰ใ ใŒใ“ใ‚‰ใฎใ€‚", "author": "็ฌน็”ฐ ่ˆž", "subtitle": "ใ‚ซใƒƒใƒˆใซใงใ‚‚ใชใ่ชฐใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
15 ในใฃใฆใ„ใพใ—ใŸใ€‚้Š€ใ€‚ {"memo": "ใƒˆใƒ‘ใƒผใ‚บใ‚„ใ€ใ“ใฎๆ–นใธๆŠผใŠใ—ใพใ—ใŸใ€‚ใ€ŒใŠๆฏใ•ใ‚“ใŒใใใ‚‰ใ„ใพ็ฌ›ใตใˆใŒใ„ใฆใ€ใจ่จ€ใ„ใ„ใชใ‚„ใ•ใ—ใพใ„ใพใ—ใŸใ€‚ใ€Œใใ†ใงใงใ‚‚็งใฎ่€ƒใˆใฆใ€ใ“ใ‚“ใชใฎใ„ใกใ‚ใ‚“ใฎ่ฑ†้›ป็‡ˆใงใ‚“ใจใฒใ‚‰ใŸใ„ใพใ—ใŸใ€‚ใ‚ธใƒงใƒใƒณใƒ‹ใŒใใฃใจใ“ใฃใกใ‚„็”บใฎ็ฏใ‚ใ‹ใ‚Šใพใ—ใŸใ‚‰็œผใ‚ใ‚’็ดฐใปใใใ‚Šๅกฉๆฐดใ—ใŠใผใˆใฎใฏใ‚‰ใ‹ใ‚‰ใตใ‚Šใ‹ใˆใ—ใฆๆฐดใฎใชใ‹ใซใใ‚ŒใŒไฝ•ใ‚’ๆณฃใชใ„ใ‚“ใ ใ‹่‹นใ€‚", "author": "ๆกๅฑฑ ้‡Œไฝณ", "subtitle": "ๆ‰‹ใ‚Šใ‚‡ใ†ใงใ€ใ‚ใฎใญใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
16 ใ€Œใปใ‚“ใจใ„ใ‚ใฎไธญใซใ€‚ {"memo": "ใคใซใ‚‚ใ“ใฎไธญใ‹ใ‚‰ใ€้ณฅใŒไธ€็–‹ใดใใฐใ“ใซใ“ใ‚“ใชใใฎๅ…‰ใ‚‹้ทบใ•ใŽใฎๆ–นใงใฏใ„ใฆ่กŒใใฎ็”ทใฎๅญไพ›ใ“ใฉใ‚‚ใŒใ€ไฝ•ใ‹ใ”ๆ‰ฟ็Ÿฅใ—ใ‚‡ใซ้€ฒใ™ใ™ใใจใŠใฃใ‹ใ‚Šใพใ™ใ€‚ใ“ใ“ใ ใญใˆใ€ใ€Œใใฟใฏใ€ๅคœใฎใใ‚‰ใ—ใ„็‡ๅ…‰ใ‚Šใชใ•ใ„ใจใ“ใ‚’ๆŒ‡ใ‚†ใณใ‚’ใŸในใ‚‹ใ‚‚ใฎใงใ™ใ‚ˆใ€‚็ด€ๅ…ƒๅ‰ใใ’ใ‚“ใจใ—ใพใ—ใŸใ€‚ไบŒไบบใฎไบบใŸใกใฎใŠ็ฅญใพใคใ‚Šใงใซๅฃ็ฌ›ใใกใฐใ‚“ใฏไธ€ๅˆ—ใ‚ŒใคใซๆŠ˜ใŠใฃใฆใ‚„ใ‚ใ€‚", "author": "ๅฑฑๅฒธ ่Šฑๅญ", "subtitle": "ใ‚“ใ”ใ‚’ใ—ใŸ่ปขใฆใ‚“ใฎใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
17 ใƒ ใ‚ˆใ‚Šใ‚‚่ƒธใ‚€ใญใซ้›†ใ€‚ {"memo": "ๆžœใ‚Šใ‚“ใ”ใ‚’่ฝใŠใกใ€ใ‚‚ใ†ใ˜ใ‹ใ‚‰ใ€ใ‚„ใ•ใ—ใพใ—ใŸใ€‚ใใ—ใฆใ‚‚ใ„ใŸใ„ใ‚‰ใฃใฆใ‚ใ‚Šใพใ—ใŸใ€‚ใใ—ใฆใ‚ธใƒงใƒใƒณใƒ‹ใฏใพใŸ่ตฐใ‚Šใพใ—ใŸใจใ„ใฃใ—ใ‚‡ใซ่‹นๆžœใ‚Šใ‚“ใฉใ‚“ใฉใฏใผใใ‚‚ใ€ใกใ‚‡ใ†ใ€‚ใใ“ใฎ่พบใธใ‚“ใฆใ‚“ใงใ—ใŸใ€‚ใ€Œใใ‚Œใฏใ‚‚ใ†ใ„ใกใ‚ใ‚“ใซใฎใžใ‘ใŸใฎใงใ—ใ‚‡ใ†ใ‚‚ใ€้›ป่ฉฑใงๆ•…้šœใ“ใ—ใฎๆ–นใธ่กŒใฃใฆๆฅใŸใ€ใ€Œใปใ‚“ใจใ„ใ†ใฎใ‚ˆใ€‚ไธ€ๆ˜จๅนดใ•ใ้ ใใฎไบบ้ฆฌใŒใ‚†ใฃใใ€‚", "author": "ๅ–œๅถ‹ ็›ดไบบ", "subtitle": "ใ„ใพใ—ใŸใ€‚็”บใ‹ไฝ•ใ‹ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
18 ใ‹ใ ใญใˆใŠๆฏใ•ใ‚“ใ€‚ใ€‚ {"memo": "ใ‚„ใ—ใใใฃใทใ ใ€‚ใ•ใ‚ใ€ใใฎใพใ‚“ใญใ‚“ใพใงใ‚ซใƒ ใƒ‘ใƒใƒซใƒฉใฏใ€ๅฐ‘ใ—ๆฑฝ่ปŠใฎไธญใ‹ใ‚‰ใญใˆใ€ไบŒไบบใตใŸใ”ใฎใŠใ˜ใŽใ‚’ๆ•ใจใ‚ŠใฎไธŠใ‹ใ‚‰็กซ้ป„ใ„ใ‚่ญฐ่ซ–ใŽใ‚ใ‚“ใ—ใคใ‚Œใ‚‰ใ‚Œใ‚‹ใจใปใ‚“ใจใ†ใซใฝใ‹ใฃใŸใ‚ใ†ใ€‚ใฟใ‚“ใชใ“ใจใ‚’่€ƒใˆใจๆ€ใฃใŸใ„ไฝ•ใงใ—ใŸใ€‚ใ€Œใ„ใ‚„ใ ใ„ใ ใ‚ใ†ใ€ใ‚ธใƒงใƒใƒณใƒ‹ใฏใ€ใŠ็ˆถใ•ใ‚“ใจใ—ใŸใ‚‰ใ„ใกใฐใ—ใ‚‡ใซ่กŒใฃใฆใ„ๆœฌๅฝ“ใปใ‚“ใจใ†ใซใชใ‚Œใใ€็ ‚ใ™ใชใ€‚", "author": "็”ฐ่พบ ็ฏคๅธ", "subtitle": "ใ‚€ใใ‚‚ใกใ‚ใ‚“ใ—ใ‚…ใ†ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
19 ใฏใ—ใšใ‹ใซใชใฃใฆใ‚‹ใ€‚ {"memo": "ใจๆ€ใ†ใจใ†ใซ่ฆ‹ใˆใ‚‹ใฎใงใ‚ซใƒ ใƒ‘ใƒใƒซใƒฉใฏใ€ๆ€ใ„ใพใ—ใŸใ€‚ใใ“ใซใ€ๅƒ•ใผใใ€็„ก็†ใ‚€ใ‚Šใฎใ‚ˆใ†ใซๆ€ฅใ„ใใ‚ˆใ‚Šใ‚‚ใฃใจๆŠผใŠใ•ใˆใŸใฎใ ใจใ„ใ†ใ‚ˆใ†ใซใ€ใตใ—ใŽใชใŒใ‚‰่จ€ใ„ใŠใ„ใŒใŠใ„ใŒใ„ใพใ—ใŸใ€‚่ฆ‹ใŸใฎใงใ—ใŸใ€‚ใ€Œใใ„้‰„ใฆใคใฉใ†ใฎๅทใฎ็ ‚ใ™ใชใŠใ‚Šใคใ‹ใ‚ขใƒซใƒ“ใƒฌใ‚ชใฎ่ฆณๆธฌๆ‰€ใ‹ใ‚“ใใ†ใ ใ€‚ไปŠๅคœใ‚ฑใƒณใ‚ฟใ‚ฆใƒซ็ฅญใ•ใ„ใ€ใ‚ธใƒงใƒใƒณใƒ‹ใฏ้ฆ–ใใณใ‚’ใพใฃใ™ใๅŒ—ใ‚’ใ€‚", "author": "็”ฐ่พบ ่ฃ•็พŽๅญ", "subtitle": "ๆ–นใฎ็ช“ใพใฉใฎๅค–ใ‚’่ฆ‹ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
20 ใ ใ‚ใซ็งใฎใ‹ใŸใ‚’ใŠใ€‚ {"memo": "ใคใฎใฒใจใฎใŸใ‚ใซ็ฅˆใ„ใฎใ™ใ™ใฟใ€ๆŽŒใฆใฎใฒใจใ“ใ‚ใ‚‰ใฎใ™ใ‚ใฃใฆๅคงใใชๅธฝๅญใผใ†ใ—ใ‚‚ใ“ใฃใŸใ‹ใ‚‰ใฟใ ใŒใ€‚่ˆนใตใญใฎใ‚ˆใ†ใชๅฐๅฑ‹ใ“ใ‚„ใฎใ‚‚ใฎใฏๅฐใ•ใ„ใฆใ€ใ‚ตใƒ•ใ‚กใ‚คใ‚ขใƒขใƒณใƒ‰ไผš็คพใฎๅ‰ใซๅฅณใŸใกใ“ใ“ใ‚ใŒใ‚Šใพใ›ใ‚“ใ‚Šใ‚‡ใ†ใฉใ•ใใ‚Šใ„ใ‚‹ใใฃใกใฏใ€ใกใ‚‰ใกใ‚‰ใฎๆฐดใŽใ‚ใซใฏใŸใ„ใ—ใ‚ƒใ‚’่ฆ‹ใ‚‹ใปใฉ็จผใ‹ใ›ใฏๅ …ใ‹ใŸใซใใ‚Œใ‚‚ใ„ใชใ„ใปใฉใฎใ‚ใ‹ใ—ใฏใ„ใ„ใ‹ใ€ใ‚ธใ€‚", "author": "ๅทฅ่—ค ๅคช้ƒŽ", "subtitle": "ใ„ใฎใใ‚Œใ„ใช็šฎใ‹ใ‚ใ€‚"} 2022-09-30 08:36:28 2022-09-30 08:36:28
\.
--
-- Name: posts_id_seq; Type: SEQUENCE SET; Schema: public; Owner: dkc
--
SELECT pg_catalog.setval('public.posts_id_seq', 20, true);
--
-- Name: posts posts_pkey; Type: CONSTRAINT; Schema: public; Owner: dkc
--
ALTER TABLE ONLY public.posts
ADD CONSTRAINT posts_pkey PRIMARY KEY (id);
--
-- Name: pgroonga_index_jsonb_body; Type: INDEX; Schema: public; Owner: dkc
--
CREATE INDEX pgroonga_index_jsonb_body ON public.posts USING pgroonga (body);
--
-- Name: pgroonga_index_title; Type: INDEX; Schema: public; Owner: dkc
--
CREATE INDEX pgroonga_index_title ON public.posts USING pgroonga (title public.pgroonga_varchar_full_text_search_ops_v2);
--
-- PostgreSQL database dump complete
--
@kou
Copy link

kou commented Oct 1, 2022

ใ€Œ่ฆ‹ใˆใ‚‹ OR ใŠ็ˆถใ•ใ‚“ใ€ใงๆคœ็ดขใ™ใ‚‹ใ‚„ใคใŒใ“ใ‚Œใชใ‚“ใงใ™ใ‘ใฉใ€็งไปฅๅค–ใซไฝฟใˆใใ†ใชไบบใฏใ„ใพใ›ใ‚“ใญใ€‚ใ€‚ใ€‚

select *
  from posts
  where ctid in (
    select concat('(',
                  (packed_ctid_jsonb::bigint >> 16) & x'FFFFFFFF'::bigint,
                  ',',
                  (packed_ctid_jsonb::bigint) & x'FFFF'::bigint,
                  ')')::tid as ctid
      from (
        select
          jsonb_path_query(
            pgroonga_command(
              'select',
              ARRAY['table', pgroonga_table_name('pgroonga_index_jsonb_body'),
                    'output_columns', '_key',
                    'filter',
                      concat(
                        'sub_filter(body, ',
                        pgroonga_escape(
                          concat(
                            'paths @ ',
                            pgroonga_escape('memo'),
                            ' && ',
                            'query("string", ',
                              pgroonga_escape('่ฆ‹ใˆใ‚‹ OR ใŠ็ˆถใ•ใ‚“'),
                            ')'
                          )
                        ),
                        ')',
                        ' && ',
                        'pgroonga_tuple_is_alive(_key)'
                      ),
                    'command_version', '3'])::jsonb,
            '$.body.records[*][0]') as packed_ctid_jsonb
      ) as ctids
  );

ไธ€ๅฟœใ€โ†‘ใ‚’ๅฐ‘ใ—ใƒ–ใƒฌใ‚คใ‚ฏใƒ€ใ‚ฆใƒณใ—ใŸใ‚„ใคใŒโ†“ใงใ™ใ€‚

โ†“ใงPostgreSQLใฎใƒฌใ‚ณใƒผใƒ‰๏ผˆใ‚ฟใƒ—ใƒซ๏ผ‰ใ‚’็‰นๅฎšใ™ใ‚‹ใŸใ‚ใฎID๏ผˆctid๏ผ‰ใ‚’ใƒ‘ใƒƒใ‚ฏใ—ใŸใ‚‚ใฎ๏ผˆctidใฏใƒ–ใƒญใƒƒใ‚ฏIDใจใใฎใƒ–ใƒญใƒƒใ‚ฏๅ†…ใงใฎใ‚ฟใƒ—ใƒซใ‚คใƒณใƒ‡ใƒƒใ‚ฏใ‚นใฎใƒšใ‚ขใชใ‚“ใงใ™ใŒใ€ใใ‚Œใ‚’ใƒ“ใƒƒใƒˆใ‚ทใƒ•ใƒˆใ—ใฆ1ใคใฎ64bitๆ•ดๆ•ฐใจใ—ใฆ่กจ็พใ—ใŸใ‚‚ใฎ๏ผ‰ใ‚’ๅ–ๅพ—ใ€‚

select
  jsonb_pretty(
    pgroonga_command(
      'select',
      ARRAY['table', pgroonga_table_name('pgroonga_index_jsonb_body'),
            'output_columns', '_key',
            'filter',
              concat(
                'sub_filter(body, ',
                pgroonga_escape(
                  concat(
                    'paths @ ', pgroonga_escape('memo'),
                    ' && ',
                    'query("string", ',
                      pgroonga_escape('่ฆ‹ใˆใ‚‹ OR ใŠ็ˆถใ•ใ‚“'),
                    ')'
                  )
                ),
                ')',
                ' && ',
                'pgroonga_tuple_is_alive(_key)'
              ),
            'command_version', '3']
    )::jsonb
  );

โ†‘ใ‹ใ‚‰ใƒ‘ใƒƒใ‚ฏใ—ใŸctidใ ใ‘ใ‚’ๅ–ใ‚Šๅ‡บใ—ใŸใ‚‚ใฎใ€‚

select
  jsonb_pretty(
    jsonb_path_query(
      pgroonga_command(
        'select',
        ARRAY['table', pgroonga_table_name('pgroonga_index_jsonb_body'),
              'output_columns', '_key',
              'filter',
                concat(
                  'sub_filter(body, ',
                  pgroonga_escape(
                    concat(
                      'paths @ ', pgroonga_escape('memo'),
                      ' && ',
                      'query("string", ',
                        pgroonga_escape('่ฆ‹ใˆใ‚‹ OR ใŠ็ˆถใ•ใ‚“'),
                      ')'
                    )
                  ),
                  ')',
                  ' && ',
                  'pgroonga_tuple_is_alive(_key)'
                ),
            'command_version', '3']
      )::jsonb,
      '$.body.records[*][0]'
    )
  );

ใงใ€ไธ€็•ชโ†‘ใฎSQLใŒใƒ‘ใƒƒใ‚ฏใ—ใŸctidใ‹ใ‚‰ใ‚‚ใจใฎctidใ‚’ๅ†ๆง‹ๆˆใ—ใฆctid inใง่ฉฒๅฝ“ใฎPostgreSQLใ‚’ๅ–ใ‚Šๅ‡บใ—ใฆใ„ใ‚‹ใ‚„ใคใ€‚

PostgreSQLใฎใƒฌใ‚ณใƒผใƒ‰ใจ็ชใๅˆใ‚ใ›ใ‚‹ใจใ“ใ‚ใง้…ใใชใ‚‹ใฃใกใ‚ƒ้…ใใชใ‚‹ใ‚“ใงใ™ใŒใ€pgroonga_command('select')ใงๅฏพ่ฑกใƒฌใ‚ณใƒผใƒ‰ๆ•ฐใ‚’็ตžใ‚Š่พผใ‚ใ‚‹๏ผˆGroongaใฎselectใซoffsetใจlimitใ‚’ๆŒ‡ๅฎš๏ผ‰ใฎใงใ€ใƒ’ใƒƒใƒˆๆ•ฐใŒๅคšใใชใ‚‹ใปใฉ้…ใใชใ‚‹ใฟใŸใ„ใซใฏใชใ‚‰ใชใ„ใฏใšใ€‚

@askdkc
Copy link
Author

askdkc commented Oct 1, 2022

ใ“ใ‚Œใฏใ€‚ใ€‚ใ€‚๐Ÿ˜จ็„ก็†ใงใ™ใญ

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment