From 72daa3eb03a93cd75721cfce081046f111dde566 Mon Sep 17 00:00:00 2001 From: Min Byeong-Guk Date: Sun, 18 Feb 2024 18:12:07 +0900 Subject: [PATCH] modify post 2024-02-12 --- _posts/2024-01-22-svelte-server-pagination.md | 8 ++- _posts/2024-02-01-supabase-pgvector-day1.md | 45 ++++++++++++++++ _posts/2024-02-12-supabase-pgvector-day3.md | 48 +----------------- .../01/22-jekyll-blog-pagination-example.png | Bin 0 -> 978 bytes 4 files changed, 54 insertions(+), 47 deletions(-) create mode 100644 assets/img/2024/01/22-jekyll-blog-pagination-example.png diff --git a/_posts/2024-01-22-svelte-server-pagination.md b/_posts/2024-01-22-svelte-server-pagination.md index ad4b40e8a6..1068404cf6 100644 --- a/_posts/2024-01-22-svelte-server-pagination.md +++ b/_posts/2024-01-22-svelte-server-pagination.md @@ -654,7 +654,13 @@ export const load = async ({ params }) => { - tailwind 컴포넌트만 있지, 로직과 함께 있는 pagination 코드가 없어서 스스로 작성해 보았다. - 페이지 변경시 페이지 reload 가 발생하지 않도록 form & action 을 사용해 보자. - pagination 버튼들을 어떻게 구성할지도 고민해 볼 거리다. (UX 문제) - - page slide 를 옮기는 버튼이 다음&이전 버튼 조합보다 낫지않나 싶다. + +> jekyll blog pagination + +첫 페이지와 마지막 페이지 버튼 좌우로 이동 버튼을 놓고, 중간에 페이지 번호를 배치 (좋다!) + +jekyll-blog-pagination-example +  
 
diff --git a/_posts/2024-02-01-supabase-pgvector-day1.md b/_posts/2024-02-01-supabase-pgvector-day1.md index 81004fbca0..ab83f54fca 100644 --- a/_posts/2024-02-01-supabase-pgvector-day1.md +++ b/_posts/2024-02-01-supabase-pgvector-day1.md @@ -336,6 +336,51 @@ const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, const { data: todos, error } = await supabase.from('todos').select('*') ``` +### 참고: [dblink](https://www.postgresql.org/docs/current/dblink.html) 사용법 + +- 연결명 등록 dblink_connect + - 탐색경로(스키마) 지정시 추가 `접속정보... options=-csearch_path=` +- 연결명 조회 dblink_get_connections +- 연결명 해제 dblink_disconnect +- 원격 쿼리 dblink +- 원격 명령(insert/update/delete) dblink_exec + +```sql +CREATE EXTENSION dblink; + +-- 연결명 등록 +select dblink_connect( + 'jnewsdb', + 'hostaddr=아이피 port=포트 dbname=데이터베이스 user=사용자 password=패스워드' +); +-- OK + +-- 등록된 연결명 조회 (text[]) +SELECT dblink_get_connections() as conns; +-- {jnewsdb} + +-- 연결명 제거 +select dblink_disconnect('jnewsdb'); +-- OK + +-- 연결 테스트 (원격쿼리에 대한 레코드 정의가 꼭 필요하다) +-- 참고 : 멀티라인 작성시 $$ 부호를 사용 +select * +from dblink('jnewsdb', $$ + select domain, pub_dt, url, title, content + from jnews.article + limit 2 + $$) + as jnews( + domain text, + pub_dt timestamp, + url text, + title text, + content text + ); +``` + +  
 
diff --git a/_posts/2024-02-12-supabase-pgvector-day3.md b/_posts/2024-02-12-supabase-pgvector-day3.md index cd697aedc7..eaf61bfd5c 100644 --- a/_posts/2024-02-12-supabase-pgvector-day3.md +++ b/_posts/2024-02-12-supabase-pgvector-day3.md @@ -1,5 +1,5 @@ --- -date: 2024-02-05 00:00:00 +0900 +date: 2024-02-12 00:00:00 +0900 title: supabase pgvector - 3일차 categories: ["database", "postgres"] tags: ["supabase", "openai", "embedding", "3nd-day"] @@ -255,51 +255,7 @@ alter table airbnb_lodging add column n_tokens int; ## 3. 한글 뉴스 임베딩 -### [DBLink](https://www.postgresql.org/docs/current/dblink.html) 사용법 - -- 연결명 등록 dblink_connect - - 탐색경로(스키마) 지정시 추가 `접속정보... options=-csearch_path=` -- 연결명 조회 dblink_get_connections -- 연결명 해제 dblink_disconnect -- 원격 쿼리 dblink -- 원격 명령(insert/update/delete) dblink_exec - -```sql -CREATE EXTENSION dblink; - --- 연결명 등록 -select dblink_connect( - 'jnewsdb', - 'hostaddr=아이피 port=포트 dbname=데이터베이스 user=사용자 password=패스워드' -); --- OK - --- 등록된 연결명 조회 (text[]) -SELECT dblink_get_connections() as conns; --- {jnewsdb} - --- 연결명 제거 -select dblink_disconnect('jnewsdb'); --- OK - --- 연결 테스트 (원격쿼리에 대한 레코드 정의가 꼭 필요하다) --- 참고 : 멀티라인 작성시 $$ 부호를 사용 -select * -from dblink('jnewsdb', $$ - select domain, pub_dt, url, title, content - from jnews.article - limit 2 - $$) - as jnews( - domain text, - pub_dt timestamp, - url text, - title text, - content text - ); -``` - -#### [postgres_fdw 원격 테이블 연결](https://towardsdatascience.com/how-to-set-up-a-foreign-data-wrapper-in-postgresql-ebec152827f3) +### [postgres_fdw 원격 테이블 연결](https://towardsdatascience.com/how-to-set-up-a-foreign-data-wrapper-in-postgresql-ebec152827f3) dblink 는 세션 생성시마다 매번 패스워드를 등록해줘야 하는데 반해, `postgres_fdw` 는 로컬 스키마에 외부 테이블이 등록되어 로컬처럼 사용할 수 있어 더 편리하다. diff --git a/assets/img/2024/01/22-jekyll-blog-pagination-example.png b/assets/img/2024/01/22-jekyll-blog-pagination-example.png new file mode 100644 index 0000000000000000000000000000000000000000..fad6ab5fe62a3e574247dfc5a1029366d9f3eb96 GIT binary patch literal 978 zcmV;@11y0000yP)t-s8yg)U zAR{X*FE=5@RJU&4vDJ(88GAAf1MoCR}cX+0!sD*`xPg7Twm6v2? zXRfcX>w3DM0009~NklY9;QE|}uDsRtc3mGKiXG07(> zn$8hC;@xs@T9yykj+=VWVN)4D3vw(7JGu)N{S9%sGf5DkaZ?XEZmQ!aklJ8Pw4`^9 zZG)NQhBRvGL5EF!`~*0%+`*Aib-sf`(~;alqoy8o(A39IV2MWVF>&eMjYtC1N(Vb? z>Oluhef;|nNe`mWGkAsN^Rz4-I1ZY6&;j$o_*c=#;XLvR^zgJo1LlLE1LlMAFOx|6 zP-@la72=1<(uD`i2SJ~kW8+`J8R=tOV+OAh{!F&gLM$z|ZzcogP|)Wlj0bFZeT!h2 zBn@%tY>~WfrL#xipR?}UwuZL*o|%8lLSRBr0D^*PkG+UUIsfNC6UQe%dyj~Pu5)eM zw(_T1-%!^b%C?PZ-K~W?X;EPDGS9izbZca{WDU{971{ zUDx*f)^t~PfwH5r2}@fcYv!?|2|)n}isoA6mrxEgalEYOS?4ZoL(-6Ptw|cFN#^yk zePaf#?4X#mA810*4rI{$C_8VACXN@gUb_ayPboXV@A|E>)0Q8V?aFq9DP@=A&V=y{ zzwP(SworDHR9z$S`5NK1$fGqvb=~TWHDb{=<5_8ZWHO8#Pn5%OzG3W|i ziw(1%>w)Eh`_J|L{GmK}uG{k$`}Mib%du_S?!G_QO(vmi#AOT$=D(2Fr2!@cWlqzd z>;Gv`4MZ_>(Pkiu6VR?5(*OW~Fc9?b8VMcACwB(e=|4ZB_B}7w