PostgreSQL 12버전에 대해서 소스 컴파일로 설치합니다. 또한 OS는 가장 많이 범용으로 사용되는 CentOS에 설치합니다.소스 컴파일로 하게 되면 불필요한 코드가 제거되고 현재 시스템에 맞게 필요한 바이너리만 생성되기 때문에 속도면에서 약간 유리할 수 있습니다.또한 추가 기능 설치 및 특정 설정에 대해 변경이 가능하기 때문에 많은 기능을 이용하고 싶다면 컴파일 방식으로 설치를 할것을 추천드립니다.물론 RPM으로도 설치가 가능합니다. RPM설치는 다음 포스팅에서 알아보도록 하겠습니다. ■ 사전 설치 패키지PostgreSQL을 설치하기 전에 시스템에 설치해 주어야 하는 필수 패키지입니다.shell> yum install readline readline-develshell> yum install zl..
MySQL에서 Function과 Procedure를 합쳐서 Routine이라고 부릅니다.이 Routine들은 MySQL내에서 좀 특별히 취급됩니다. 아래 내용에서 좀더 자세하게 확인해 봅니다. 1. DefinerRoutine은 생성될 때 Definer라는 특별한 내용이 추가가 됩니다. 예제를 통해 확인해 봅니다.[예제]보통 아래와 같이 프로시저를 만듭니다.CREATE PROCEDURE `sbtest`.`proc1`()BEGIN select * from sbtest.sbtest1; select * from sbtest.sbtest2;END그리고 그 소스를 확인해 보면 다음과 같이 Definer라는 내용이 추가됩니다.CREATE DEFINER=`jhlee`@`%` PROCEDURE `sbtest..
auto_increment_increment 및 auto_increment_offset은 소스와 소스간(Source to Source) 복제와 함께 사용하기위한 것이며 AUTO_INCREMENT 컬럼의 작업을 제어하는데 사용할 수 있습니다. 두 변수 모두 전역 및 세션 값이 있으며 각각 1에서 65,535 사이의 정수 값을 가정할 수 있습니다. 이 두 변수 중 하나의 값을 0으로 설정하면 값이 대신 1로 설정됩니다. 이 두 변수중 하나의 값을 65,535보다 크거나 0보다 작은 정수로 설정하려고 하면 값이 대신 65,535로 설정됩니다. auto_increment_increment 또는 auto_increment_offset의 값을 정수가 아닌 값으로 설정하려고하면 오류가 발생하고 변수의 실제 값은 변경..
RDS는 AWS에 제공하는 Database 서비스입니다. Oracle, MS-SQL, MySQL, MariaDB, PostgreSQL Database가 제공됩니다.다양한 스펙의 인스턴스가 제공되며 엔진도 일반적으로 가장 많이 사용되는 DBMS가 제공됩니다.원하는 사양의 스펙으로 생성하여 사용하면 됩니다. ■ RDS 생성방법RDS를 생성하는 순서는 Subnet Group 생성, Parameter Group 생성 후 RDS를 생성하는 것입니다.Subnet Group, Parameter Group의 생성 순서는 상관없습니다.먼저 AWS Console에 로그인 후 RDS를 클릭합니다. 파라미터 그룹을 생성합니다. 아래 파라미터 그룹을 클릭합니다. 파라미터 그룹을에 사용될 엔진을 선택합니다. 여기서는 MySQL ..
EC2는 AWS에서 제공하는 Computing 자원입니다. 윈도우, 리눅스OS가 제공이 됩니다.리눅스는 RHEL, SUSE등 엔터프라이즈 리눅스와 Amazon Linux, CentOS등 다양한 배포판을 지원합니다. 또한 다양한 인스턴스 스펙을 제공하기 때문에 자신에게 맞는 스펙을 선택하여 인프라 구성이 가능합니다. ■ EC2 사용방법AWS Console에 로그인 후 EC2를 선택합니다. 인스펀스 대쉬보드입니다. 왼쪽 Instances의 Instance를 선택합니다. 리스턴스 리스트들이 나옵니다. 오른쪽에 Launch Instances(인스턴스 시작)을 클릭합니다. 다양한 리눅스 배포판이 처음에 보입니다. 여기에서는 Linux EC2를 설치할 예정이므로 Amazon Linux를 선택합니다. 인스턴스 클래..
■ Gateway 설정VPC에 GateWay를 설정합니다. AWS에서 외부로 인터넷을 하기 위해서는 Subnet의 자동 IP할당 기능도 필요하지만 이것도 같이 설정해야 비로소 외부 인터넷이 가능하게 됩니다. 오른쪽 위에 인터넷 게이트웨이 생성을 클릭합니다. 게이트웨이 이름을 입력합니다. 게이트웨이가 생성되었다는 메세지가 나옵니다. 오른쪽 위에 작업을 누르고 VPC에 연결을 클릭합니다. Gateway에 연결할 VPC를 선택합니다. 위에서 만든 VPC를 선택합니다. 오른쪽 아래 인터넷 게이트웨이 연결을 클릭합니다. Gateway가 VPC에 연결되었다는 것을 확인합니다. ■ Routing Table 설정왼쪽 라우팅 테이블을 선택하면 오른쪽에 라우팅 테이블이 나옵니다. 이름이 없기 때문에 먼저 이름을 설정해 줍..
AWS 인프라를 사용하기 위해서 가장 기본이 되는 네트워크 설정을 해봅니다. 물론 기본으로 제공되는 VPC기본 생성을 이용해서 바로 사용이 가능하지만 보통은 자기가 원하는 네트워크 환경을 구성해서 사용하는 것이 일반적입니다.여기서는 수동으로 VPC, Subnet, Route Table, Internet Gateway등등을 수동으로 설정하고 연결하여 인터넷까지 되는 환경을 구성합니다. 특히 서브넷은 Private Network, Public Network를 구성하여 망을 분리해서 사용하는 방법까지 한꺼번에 알아봅니다. ■ VPC 생성AWS 콘솔에 로그인 후 VPC를 클릭합니다. 최근 방문한적이 없다면 오른쪽에 네트워킹 및 콘텐츠 전송의 VPC를 클릭하셔도 됩니다.오른쪽 위의 VPC생성을 클릭합니다. VPC..
iPhone같은 경우 PC에서 테더링을 이용하고자 할 경우 반드시 iTunes를 깔아야 합니다. 그러나 iTunes 설치 프로그램이 꽤 크고 iTunes의 모든 프로그램을 이용하지 않는 회사 PC나 업무용 PC에는 잘 설치하지 않을 수 있습니다. 그러나 특정이유로 테더링을 이용하고자 할때 iTunes의 모든 설치 프로그램을 설치하기에는 부담스러운 면도 있습니다. 이럴때 이 팁을 이용하시면 좋을듯 합니다. itunes를 모두 깔지 않고도 tethering를 이용할 수 있는 방법이 있습니다. 준비사항 7zip : http://www.7-zip.org/ iTunes : https://www.apple.com/kr/itunes/download/ 7zip을 이용해서 iTunes64Setup.exe(32bit인경우..
■ Procedure 및 Function에서 User와 Execute의 관계 ▶︎ Execute 권한관련보통 Function과 Procedure를 생성하면 세션에 접속되어 있는 User에 IP를 이용해서 Definer라는 정보를 생성하게 됩니다.그런데 이때 조심해야 할 것이 있습니다.Definer가 EXECUTE권한이 없으면 Procedure나 Function 생성권한이 있더라도 수행이 되지 않습니다. 즉 Create권한만 있으면 자신이 생성했다 하더라도 Procedure나 Function을 수행할 수 없는 것입니다. ▶︎ Definer 및 생성 User 존재 여부Function이나 Procedure를 만든 User가 반드시 존재해야 합니다.예를 들어 user1@IP를 가지는 User가 특정 Proc1프..
MySQL에서 대소문자 구별 파라미터입니다.관련 옵션들은 다음과 같습니다.lower_case_table_names = 0테이블 생성 및 조회 시 대·소문자 구분한다. 유닉스 혹은 리눅스에서 사용. lower_case_table_names = 1입력 값이 대·소문자든 소문자로 인식 소문자 인식 파일 생성. 모든시스템에서 사용하려면 이것으로 사용. lower_case_table_names = 2윈도우에서 대·소문자를 구분해서 테이블생성 테이블 및 데이터베이스 이름은 CREATE TABLE 또는 CREATE DATABASE 문에 지정된 문자 대소 문자를 사용하여 디스크에 저장되지만 MySQL은 조회시이를 소문자로 변환합니다. 이름 비교는 대소 문자를 구분하지 않습니다. 이것은 대소 문자를 구분하지 않는 파일..
■ 컬럼의 문자 연결MySQL에서 컬럼의 문자를 연결하는 대표적인 함수는 다음과 같습니다. ▶︎ concat :컬럼 데이터와 컬럼 데이터를 연결합하여 하나의 스트링 문자열로 표시합니다. ▶︎ group_concat :특정컬럼의 각 결과값을 하나의 가로열(ROW)로 표시합니다. ■ 예제▶︎ concat :mysql> select * from concat_test;+------+------+-------+| c1 | c2 | c3 |+------+------+-------+| 1 | A | COMMA || 2 | B | DESK |+------+------+-------+2 rows in set (0.00 sec) mysql> select concat(c1,c2,c3) ..
▶︎ sysdate와 now의 차이 MySQL에서 날짜 관련된 처리 함수는 대표적으로 sysdate와 now가 있습니다. 두가지 모두 시간을 표시한다는 점에서는 차이가 없습니다. mysql> select sysdate(); +---------------------+ | sysdate() | +---------------------+ | 2021-03-28 23:41:04 | +---------------------+ 1 row in set (0.00 sec) mysql> select now(); +---------------------+ | now() | +---------------------+ | 2021-03-28 23:41:10 | +---------------------+ 1 row in set..