PostgeSQL
[2014.05.23] Convert Format Type
SELECT MAX(TO_NUMBER(myTextColumn, '99999')) From Your_Table_NameManuals : http://www.postgresql.org/docs/8.2/static/functions-formatting.html C언어 에서의 Casting 이라 보면되겠다.
[PostgreSQL] WITH 문의(Query)
WITH는, 보다 큰 SELECT 쿼리에 사용되는 서브쿼리를 작성하는 방법을 제공합니다. 서브 질의는 종종 공통 테이블 식 즉 CTE라고 합니다만, 그 질문에만 존재하는 임시 테이블을 정의하는 것입니다. 이 특성 중 1 개의 사용법은 복잡한 질문을 단순한 부품으로 분해하는 것입니다. 예입니다.WITH regional_sales AS ( SELECT region, SUM(amount) AS total_sales FROM orders GROUP BY region ), top_regions AS ( SELECT region FROM regional_sales WHERE total_sales > (SELECT SUM(total_sales)/10 FROM regional_sales) ) SELECT region,..
[PostgreSQL] Create/Drop/Restore 시 batch-file 만들기(환경변수설정포함)
위 파일을 메모장으로 열어보면 알 수 있다. 1. CREATE DATABASE 시에는 CREATE DATABASE createtest WITH OWNER postgres TEMPLATE template0 ENCODING 'UTF8' TABLESPACE pg_default LC_COLLATE 'Korean_Korea.949' LC_CTYPE 'Korean_Korea.949' CONNECTION LIMIT -1" 속성들을 설정 해 줄수있다. 2. DROP DATABASE 는 간단함. 3. pg_restore 은 pg_restore -U postgres -d My_DB_Name < My_Backup_FileName.dump 위의 My_~ 는 DB이름 , Backup 해둔 DB 파일이름 을 집어 넣으면 된다. ..
[PostgreSQL] CTID 단편화하기(?)
postgres=# select *, ctid from t; index | ctid ------+------- 1 | (0,1) 2 | (0,2) 3 | (0,3) 4 | (0,4) (4 rows) 1번 레코드를 5번 으로 업데이트하면 postgres=# update t set index=10 where index=1; UPDATE 1 postgres=# select *, ctid from t; index | ctid ------+------- 2 | (0,2) 3 | (0,3) 4 | (0,4) 5 | (0,5) (4 rows) 이것을 다시 순서대로 해주려면 VACUUM FULL ! 하면 됩니다. postgres=# VACUUM FULL t; VACUUM postgres=# select *, ctid ..
[MFC] 라이브러리 libpq를 이용한 C프로그래밍 (DB연동)
1. libpq 라이브러리 사용하기 - 애플리케이션에서 libpq를 사용하기 위해서는 libpq에서 제공하는 함수를 정의하기 위해 적절한 헤더파일을 포함해야 하고 이러한 함수들에 대한 코드를 가지고 있는 적절한 라이브러리를 연결해 주어야 한다. - Linux 기준 - 헤더: 기본값으로 /usr/local/pgsql/include/ 디렉토리의 libpq-fe.h 파일이다. - 라이브러리 : 기본값으로 /usr/local/pgsql/lib/ 디렉토리에 있다. -Window 기준 - 헤더 : 기본값으로 C:\Program Files\PostgreSQL\9.2\include 디렉토리의 libpq-fe.h 파일 - 라이브러리 : 기본값으로 C:\Program Files\PostgreSQL\9.2\lib 디렉토리의..
[PostgreSQL] 제약조건, Constraint(NOT NULL, UNIQUE, PRIMARY KEY(기본키), FOREIGN KEY(외래키))
테이블 작성시에 Constraint를 사용해서 입력하는 자료에 대해서 제약, 즉 규칙을 정해줄 수 있는데요. 이때 정해진 제약에 따라서 데이터가 입력이 됩니다. 제약에 배반된다면 자료 입력이 거부되면서 오류가 납니다. 즉, 데이터 무결성(Data Integrity)을 지키기 위한 데이터 무결성 제약조건(Integrity Constraint)에 대해서 알아볼까 합니다. 참고로, 네이버 지식백과에서는 데이터 무결성에 대해서 다음과 같이 밝히고 있는데요. "데이터를 인가되지 않은 방법으로 변경할 수 없도록 보호하는 성질" 쉽게 말하면, 권한이 부여된 계정이나 사람만이 접근 가능하고, 정확하고 완전한 데이터들이 저장되어 있는 상태라고 생각하시면 되겠습니다. 여기서 제약조건은 이러한 데이터 무결성을 보장함으로써 ..