본문 바로가기
반응형

Database/PGSQL38

postgressql DB간 테이블 조인 PostgreSQL에서 서로 다른 데이터베이스 간의 테이블을 직접 조인하려면 외부 데이터 래퍼(Foreign Data Wrapper, FDW)나 dblink 확장 기능을 사용해야 합니다. dblink는 원격 데이터베이스에 연결하여 쿼리를 수행할 수 있게 해주며, FDW는 다른 데이터베이스를 로컬처럼 사용할 수 있도록 해줍니다. DB 링크를 통해 쿼리할 때는 성능 문제가 발생할 수 있으므로 주의해야 합니다. dblink 사용하기dblink 확장 기능 설치 및 연결: 먼저 dblink를 활성화하고 원격 데이터베이스에 연결합니다.sql-- 확장 기능 활성화CREATE EXTENSION dblink;-- 연결 생성SELECT dblink_connect('conn_remote', 'host=remote_host .. 2025. 10. 30.
PostgreSQL에서 프로시저(또는 PL/pgSQL의 함수) 리턴 처리 PostgreSQL에서 프로시저(또는 PL/pgSQL의 함수)를 사용할 때 행을 선택하는 방법은 여러 가지가 있습니다. 이는 단일 행을 반환해야 하는지, 여러 행을 반환해야 하는지, 아니면 결과 집합을 반복해야 하는지에 따라 달라집니다.1. 단일 행(또는 단일 값) 반환:SELECT ... INTO: 쿼리 결과를 SELECT변수 또는 레코드 변수에 할당합니다. 쿼리가 여러 행을 반환하는 경우 첫 번째 행만 할당됩니다( STRICT두 개 이상의 행이 반환되면 오류가 발생하므로 를 사용하지 않는 한).코드 CREATE FUNCTION get_employee_name(employee_id INT) RETURNS TEXT AS $$ DECLARE emp_name TEXT; BEGI.. 2025. 10. 27.
PostgreSQL PGroonga 2.x 이상 사용 TutorialThis document describes how to use PGroonga step by step. If you don't install PGroonga yet, install PGroonga before you read this document.You can use PGroonga as fast full text search index. You can also use PGroonga as more general index for equality condition (=) and comparison conditions ( >= and so on).PostgreSQL provides GiST and GIN as bundled indexes. You can use PGroonga as alt.. 2025. 10. 24.
PostgreSQL PGroonga 설치를 통한 Full Text Search PostgreSQL에서 PGroonga를 사용하려면 먼저 설치한 후, CREATE EXTENSION pgroonga; 명령어로 확장 기능을 활성화합니다. 이후 CREATE INDEX 명령어로 pgroonga 인덱스를 생성하고, 이를 통해 빠른 전문 검색을 수행할 수 있습니다. PGroonga는 모든 언어를 지원하며, 기존 PostgreSQL의 전문 검색보다 빠르고 강력한 기능을 제공합니다. 1. 설치 및 활성화설치: 시스템에 맞게 PGroonga를 설치합니다. 설치 방법은 PGroonga 공식 설치 가이드를 참고하세요.활성화: PostgreSQL 데이터베이스에서 CREATE EXTENSION pgroonga; 명령어를 실행하여 확장 기능을 활성화합니다. 2. PGroonga 인덱스 생성테이블 생성: .. 2025. 10. 24.
Postgresql에서 실행계획을 볼 때 알면 도움이 되는 것들 정말 오랬만에 괜찮은 글을 찾은듯 해서 공유해봅니다. 설명 잘되어 있고 그리고 쉽게 이애가 가능한 조인 부분의 설명, 그리고 항상 중요하게 생각하는 쿼리 실행계획 부분에 대한 내용들, 이야기들이 있기 때문에 참고하면 좋을것 같아서 공유해봅니다. 원문 : https://joyfulviper.tistory.com/108 최근 백오피스에서 특정 쿼리의 성능이 너무 낮아 해당 쿼리의 실행계획을 보게 됐다. 이 과정속에서 알게된 내용을 기록하고자 한다. 보통 우리는 데이터를 영구적으로 저장하기 위해서 db를 사용한다. (파일 시스템을 써도 되기는 하지만.. dbms가 제공해주는 기능들을 생각하면 파일 시스템을 쓸 생각은 하지 못할 것이다) 이 때 데이터는 컴퓨터의 디스크에 저장이 된다. 아래는 제프딘의 컴.. 2025. 4. 25.
PostgreSQL 역할 및 권한 (ROLE, USER, GROUP) 개념 및 설정 1. ROLE        1-1. ROLE 생성-- 기본CREATE ROLE jonathan LOGIN;-- 비밀번호 포함CREATE USER davide WITH PASSWORD 'jw8s0F4';-- 권한 포함CREATE ROLE admin WITH CREATEDB CREATEROLE;-- 사용 기한 포함CREATE ROLE miriam WITH LOGIN PASSWORD 'jw8s0F4' VALID UNTIL '2005-01-01';-- 삭제DELETE ROLE miriam;-- SynopsisCREATE ROLE name [ [ WITH ] option [ ... ] ]where option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCRE.. 2025. 2. 20.
PL/pgSQL - SQL Procedural Language Chapter 24. PL/pgSQL - SQL Procedural Language 목차 24.1. 개요 24.1.1. PL/pgSQL 사용의 잇점 24.1.2. PL/pgSQL 에서 개발 24.2. 세부내용 24.2.1. PL/pgSQL 구조 24.2.2. 주석문(Comment) 24.2.3. 변수와 상수 24.2.4. 표현 24.2.5. 문장 24.2.6. 제어문 24.2.7. RECORD 와 작업 24.2.8. 작업중단과 메세지 24.2.9. 예외 24.3. Trigger Procedures 24.4. 예제 24.5. Orac.. 2007. 6. 4.
How to avoid overlapping intervals with PostgreSQL Introduction When creating a pocket agenda application, it's quite useful to have a mechanism inhibiting intervals overlapping (i.e. first job starting at 10:00, lasting two hours and second job starting at 11:00, lasting two hours). This article is a possible implementation method for PostgreSQL 6.5 and maybe for PostgreSQL 7.1. ;) After two sweaty weeks worried about a trigger which did not wo.. 2007. 6. 4.
ING with DATETIME, DATE, and INTERVAL VALUES Complete docs on date/time data types may be found at : http://www.postgresql.org/idocs/index.php?datatype-datetime.html. I will not attempt to reproduce them here. Instead, I will simply try to explain to the beginner what you need to know to actually work with dates, times, and intervals. DATETIME or TIMESTAMP : Structured "real" date and time values, containing year, month, day, hour, minute,.. 2007. 6. 4.
PostgreSQL 8 : Group,User관리 PostgreSQL의 그룹/계정관리에 관한 설명입니다. 권한 부분은 다른장에서 설명합니다. PostgreSQL의 Access에 대한것이 좀 세분화되어 있습니다. pg_hba.conf에는 접속자의 접속방법(TCP/IP,UDS[Unix Domain Socket]) , IP Block,Password Encrypt Method 시스템 카탈라고 테이블의 pg_user와 pg_group등으로 처리되는 그룹,계정,권한 시스.. 2007. 6. 4.
유저생성과 DB생성 게시판 검색하다가 user와 db생성을 보고 따라하는데... # 쉘에서 psql 관리자id로 실행 $ psql -U postgres mydb2 -- 데이터베이스 만들고 mydb2=# create database mydb3; CREATE DATABASE -- 두명의 사용자를 만들고 mydb2=# create user user1; CREATE USER mydb2=# create user user2; CREATE USER -- 새로 만들었는 DB에 접속해서 mydb2=# \c mydb3 "mydb3" .. 2007. 6. 4.
시스템 카탈로그 테이블들 nonun=# dS List of relations Schema | Name | Type | Owner ------------+--------------------------+---------+---------- pg_catalog | pg_aggregate | table | postgres pg_catalog | pg_am | table | postgres pg_catalog | pg_amop | table | postgres pg_catalog | pg_amproc | table | postgres pg_catalog | pg_attrdef | table | postgres pg_catalog | pg_attribute | table | postgres pg_catalog | pg_cast | ta.. 2007. 6. 4.
Porting PostgreSQL to Windows 2000 installation procedures Install the lastest verion(1.1.5) of Cygwin 1. Click on the "Install Cygwin now" link on the http://sources.redhat.com/cygwinwebpage. This downloads setup.exe to your system. 2. Run setup and answer all of the questions. Please choose a mirror sitefor your download. Install Charles Wilson's Cygwin32 IPC package 1. Download the precompiled binary http://cygutils.netpedia.net/V1.1/cygipc/cygipc-1... 2007. 6. 4.
Postgres Admin postgresql을 1년에 한번 2년에 한번 쓰게되다보니 사용법마저 까먹고 지낸다. 이젠 메모없이는 한계를 느끼니 아무짝에도 쓸모 없는 인간이 아닌가..하고 자학도 해보았다. 이번에는 메모해두고 기억하련다. 또 좋은 일 하시는 님들의 글을 써머리해두어야지.. [kldp 주효식님의 자료를 참조.] 포스트그래.. 2007. 6. 4.
PostgreSQL을 Windows 2000에 설치하기 (2001/07/10) 김일형님께서 작성하신 글 스크랩 했슴돠 . 오늘은 저의 집에 있는 win98에 Cygwin을 이용하여 PostgreSQL 7.1.2를 설치를 하고나서 이 글을 올립니다. 기본적으로 지난번과 설치방법 자체는 동일한데 가장 크게 달라진 점은 Cygwin 1.1.8이 가지고 있던 버그가 수정되어 더이상 cygwin1.dll 의 스냅샷 버젼을 받을 필.. 2007. 6. 4.
SQL Procedural Language 메뉴얼 번역 (마지막회) 24.5.2. 함수 전환하기 Example 24/5. 간단한 함수 아래의 예는 Oracle의 함수입니다. CREATE OR REPLACE FUNCTION cs_fmt_browser_version(v_name IN varchar, v_version IN varchar) RETURN varchar IS BEGIN IF v_version IS NULL THEN RETURN v_name; END IF; RETURN v_name || '/' || v_version; END; / SHOW ERRORS; 위의 함수를 한번 살펴보고 PL/pgSQL과의 차이점을 알아보.. 2007. 6. 4.
SQL Procedural Language 메뉴얼 번역 (5) 24.3. Trigger Procedures PL/pgSQL는 trigger procedure를 정의 할 수 있다. 이를 생성하는 방법은 일반적인 것과 같이 CREATE FUNCTION를 사용하고 그 함수에 매개변수없이 리턴타입을 OPAQUE로 준다. trigger procedure로 함수를 사용하는데는 Postgres에서만의 몇가지 세부사항이 있다. 첫째는 최상위 선언부(declare section)에 자동.. 2007. 6. 4.
SQL Procedural Language 메뉴얼 번역 (4) 24.2.7. RECORD를 이용한 작업 RECORD는 간단한 데이터베이스 행의 자료형 (rowtype) 이긴 하지만 사전에 구조가 정의 되어있지 않는다. 이는 선택(selection)과 FOR 반복문에서 SELECT 작업을 통해 실제 데이터베이스의 한 행의 값을 갖는다. 24.2.7.1. 선언 RECORD 형의 변수는 다른 선택(selection)에 사용될 수 있다. 한 레.. 2007. 6. 4.
postgres 을 cron으로 자동백업 cron으로 postgresql을 자동백업하려고 하는데 권한에서 막히고 있습니다. 스크립트를 넣는데 root에서 postgres로 로그인을 자동으로 하려고 하는데 어떻게 해야 하나요? 이곳에 있는예는 아래와 같은데 su / postgres pg_dump db명 > db명.`date +%Y_%m_%d_%H_%M' 여기서 su / postgres 이부분이 맞는건가요? su postgres -c "pg_dum.. 2007. 6. 4.
PostgreSQL에서 집합 함수와 연산자 사용하기 PostgreSQL에서 집합 함수와 연산자 사용하기 Posted by 정재익 on Mon, Jul 29 2002 11:39:39 PM PostgreSQL에서 집합 함수와 연산자 사용하기 원본출처 : http://www.whiterabbitpress.com/lg/issue70/williams.html PostgreSQL에서 집합 함수와 연산자 사용하기 By Branden R Williams 한글번역 전정호 이 글은 한글번역판입니다. 원문은 여기에.. 2007. 6. 4.
반응형