Window환경에 PostgreSQL과 pgAdmin을 설치하고 pgAdmin 접근 까지의 예제입니다.

 

 

1. 아래 링크에 들어가 그림1-1의 버전 스펙 표를 참고하여 원하시는 버전을 선택 해주세요.

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

 

 

PostgreSQL Database Download

Please Note: EDB no longer provides Linux installers for PostgreSQL 11 and later versions, and users are encouraged to use the platform-native packages. Version 10.x and below will be supported until their end of life.

www.enterprisedb.com

 

그림 1-1

 

 

 

2. 설치 파일을 실행 시키시고 그림 2-3과 같이 패키지에 포함된 컴포넌트들을 선택 해주세요.

   저는 pgAdmin 까지 사용을 하기 위해 모두 선택 하고 진행 하겠습니다.

   그림 2-5는 비밀번호를 설정 하는 부분이고 mysql&mariadb 와는 다르게 super user가 root가 아니라

   postgres입니다.

   그림 2-6은 포트를 설정하는 부분인데 다른 DB와는 다르게 3306포트를 하용하지 않고 5432를 사용합니다.

   그림 2-7은 Locale을 설정 하는건데 서버 스펙에 따라 설정 해주세요. 저는 default를 선택 했습니다.

   

그림 2-1
그림 2-2
ㅐ킺그림 2-3
그림 2-4
그림 2-5
그림 2-6
그림 2-7

 

그림 2-8
postg그림 2-9
그림 2-10 

 

 

 

3. 설치가 완료되면 pgAdmin 4를 실행 하시거나 아래 링크로 접근 해주세요.

   로그인 화면에서 super user 계정명과 비밀번호를 입력 하시면 그림 3-2와 같이 생성된 DB를 확인 할 수 있습니다.

 

* http://127.0.0.1:50835/browser/

 

그림 3-1
그림 3-2

스프링 프로젝트와 연동을 하기 위해 MariaDB를 설치 하려고 합니다.

아래 링크에서 들어가고, 원하는 버전을 선택해주세요. 저는 Window x86_64버전을 다운 받았습니다.

https://downloads.mariadb.org/mariadb/10.3.15/

 

MariaDB 10.3.15 Stable - MariaDB

 

downloads.mariadb.org

 

 

 

설치가 완료 후 cmd창에서 설치된 MariaDB 디렉토리에 접근합니다. 그리고 'mysql --version'을 입력하시면 됩니다.

 

그러면 설치된 MariaDB 버전을 확인 하실 수 있습니다.

그 다음 'mysql -u root -p' 를 입력 하시면 password를 입력 할 수 있고, 원하시는 비밀번호를 입력하면

해당 비밀번호가 root 계정의 비밀번호로 초기화됩니다.

 

개인 프로젝트를 진행하기 위해서 DB를 구축해야 할 필요성을 느꼈습니다.

어떤 DB를 사용할지 고민을 하다가 개인 프로젝트에는 mariaDB 가 가장 적합하다 생각했습니다.

mariaDB는 Mysql 의 제작자들이 해당 DB를 기반으로 새로운 DBMS를 개발 하였습니다. 

보통 mariaDB를 Mysql의 자매품이라고 부르는데, 그만큼 호환성이 좋고 Mysql 기능들을 mariaDB에서 사용할 수 있습니다. 


설치 작업을 진행 하겠습니다. 아래 url에서 필요하신 버전을 선택 하시고 설치 파일을 다운로드 해주시기 바랍니다.


https://downloads.mariadb.org/






























우선 DB root권한 접근에 사용될 비밀번호를 입력 해주세요.

그리고 저는 개인 프로젝트를 진행할 때 DB서버를 구축해놓고 원격으로 관리를 하려고 합니다. 

그래서 'Enable access from remote machines for 'root' user' 를 체크 하였습니다.

그리고 서버에서도 default Encoding을 UTF-8로 사용할 예정이기 때문에 'Use UTF8 as default server's character set'도 체크 하였습니다.

























설치가 종료된 후 잘 완료 되었는지 확인 하기위해 mariaDB에 직접 접근 해보려고 합니다.

파일 검색에서 'MySQL Client (MariaDB 10.3(x64)) 를 실행 해주세요.









아래처럼 비밀번호 입력 하라는 콘솔을 뜨면, 설치 당시 입력 하셨던 비밀번호를 입력 해주시면 됩니다.







비밀번호를 올바르게 입력하시면 로칼 DB 서버에 접속하게 됩니다.












제가 게임 업계에서 근무하며 접하는 게임 업계 용어입니다.
혹시 다른게 있다면 알려주세요 :-)



ACL(Access Control List) :
 서버에서 트래픽을 선택하여 허용하거나 거부하는 기능을 
설정 할 수 있는 기능입니다.
게임 업계에서는 운영팀 or 플랫폼 개발팀에서 접근을 필요로 하는 사용자에게 ACL을 설정 해줍니다.


알파테스트(Alpha Test) :
 내부테스트란 뜻으로 개발사 직원들을 대상으로 실시하는 테스트 입니다(게임 퍼블리싱 이전)


API(Application Programming Interface ) :
  서비스와 서비스를 연동하기 위해 사용하는 연결 프로그램입니다.
게임 업계에서는 게임포탈과 게임 사이의 로그인, 캐쉬 충전 및 구매 등을 연결하기 위해 사용됩니다.


베타테스트(Beta Test) :
 정식 서비스 이전에 외부를 대상으로 진행. CBT 와 OBT에 해당됨(게임 퍼블리싱 이전)


CBT(Closed Beta Test) : 
게임 개발사가 테스터들을 모집하여 개발이 완료된 게임을 퍼블리싱 이전에 플레이 하게 한 뒤, 게임의 버그나 개선 및 건의사항등을 보고 받아 한 층 더 완벽해진 게임을 만들기 위해 진행합니다.


CDN(Content Delivery Network) :
 인터넷을 통해 컨텐츠를 효율적으로 전달하기 위해 여러곳에 데이터를 저장해두고 사용자들이 빠르게 컨텐츠를 다운로드 할 수 있게 해주는 서비스를 말합니다.
쉬운 예시를 보이자면,  Steam 이나 Google Player Store 라고 할 수 있습니다.


DB(Data Base) :
 다양한 데이터들을 저장하는 곳입니다.(보통 IDC에 구축되어 운영됩니다.)


FFT(Family&Friend Test) :
 친분이 있거나 테스트를 위한 전문적 지식을 가진 소규모 인원을 대상으로 실시되는
테스트입니다(게임 퍼블리싱 이전)


GMTool :
 게임 개발사에서 제공한 Tool이며 효과적으로 게임 운영을 할 수 있습니다. GM 계정으로 다양한 컨텐츠 및 이벤트를 진행 할 수 있으며, 필요한 데이터를 추출하여 게임 운영을 위한 지표분석도 할 수 있습니다. 
게임 업계에서는 운영팀에서 다양한 요구분석을 위해 많이 사용합니다.


Game Patch:
 게임 개발사가 게임의 버그 수정 및 신규 기능을 업데이트 하기 위해 정기적으로
 실시하는 패치입니다.


IDC(Internet Data Center) :
 게임 운영을 위해 다수의 서버PC 와 빠르고 안정적인 네트워크 회선을 제공하는 장소.


IP(Internet Protocol) :
 흔히 IP주소라고 말하며 인터넷에서 통신을 하기 위해서는 서버로부터 유일한 IP값을 받습니다.
게임 업계에서는 테스트 서버 및 라이브 서버등을 구축할때 IP주소를 할당해야 합니다.
 이 작업은 주로 플랫폼 개발팀에서 진행하게 되며 IP주소는 항상 미리
 할당 및 고지를 해야 합니다.


런쳐(Launcher) :
게임을 실행해주기 위한 .exe 프로그램


모니터링(Monitoring) :
 게임 서버가 정상적으로 작동하고 있는지 실시간으로 확인을 하는 작업입니다.
 꼭 서버 뿐만이 아니라 게임 내부에서 비정상적, 비매너 행위에 대한 대응을 위해 모니터링을
하기도 합니다.


OBT(Open Beta Test) : 
불특정 다수를 대상으로 진행하는 외부 테스트. CBT 보다 차후에 실시되며 게임에 대해
최종적으로 개선사항을 추가 할 수 있습니다.

OP(OPeration Team, 운영팀) :
게임 운영을 담당하는 부서입니다.

OTP(One Time Password) :
 비밀번호 재사용으로 인한 피해를 최소화 하기위해 사용자에게
일회성 비밀번호를 부여하는 방식입니다.


Port : 
서버의 통신 프로그램을 구분하기 위한 장치입니다. IP+Port 로 접속을 합니다.
 ex) 100.100.100.100:8080 


테이블에 자동 인덱스값을 주기 위해선 AUTO_INCREMENT 사용하면 됩니다.

NOT NULL에 사용 했는데 저는 안 되더라구요... 그래서 저는 PK 를 줬습니다.

혹시 왜 안되는지 아시는분은 꼭 좀 알려주세요!!


id INT PRIMARY KEY AUTO_INCREMENT


MariaDB 는 Mysql 의 제작자들이 해당 DB의 기반으로 새로운 DBMS를 개발 하였습니다.

보통 MariaDB를 Mysql 의 자매품이라고 부르는데, 그만큼 호환성이 좋고 Mysql 에서 사용할 수 있는 많은 내용들을 MariaDB 에서 사용할 수 있습니다.


 그래서 MariaDB를 사용할 때 Mysql의 JDBC를 사용할 수 있는데, 그래도 MariaDB의 JDBC가 

존재하니, 굳이 전자를 사용할 필요 없다고 생각 합니다 ㅎㅎ


필요하신 분은 아래 링크에서 JDBC 를 해주시면 됩니다.


1. MySQL JDBC 다운로드 링크

https://dev.mysql.com/downloads/connector/j/


2. MariaDB JDBC 다운로드 링크

https://downloads.mariadb.org/connector-java/

+ Recent posts