스키마 관련 명령어에 대해 알아본다. 사용방법은 간단하다.

--1-1.스키마 생성
CREATE SCHEMA SchmaName AUTHORIZATION UserName;

--1-2.스키마 삭제
DROP SCHEMA SchmaName CASCADE;

--1-3.스키마명 변경
ALTER SCHEMA SchmaName RENAME TO New_SchmaName;


--2.스키마 소유자 변경
ALTER SCHEMA UserName OWNER TO New_UserName;

 

PostgreSQL DB의 자동증가형식 Data Type을 알아보자. 통상적으로 사용되는 타입들의 자세한 설명은 Pass 하도록 하겠다.

 

: 자동증가형식(smallserial, serial, bigserial)

  * 해당 데이터 형식 지정시 별도로 데이터를 입력하지 않아도 자동으로 데이터가 증가한다.

    단, 수치값은 지금까지 사용된 값보다 큰값을 저장 할 뿐이지 현재 데이터의 max값 기준으로 설정되지는 않는다.

    MS-SQL에서 IDENTITY 타입과 동일,유사하다고 보면 된다.

형식 크기 범위 별칭
smallserial 2 바이트 1~32767 serial2
serial 4 바이트 1~2147483647 serial4
bigserial 8 바이트 1~9223372036854775807 serial8

  [체크포인트]

  보통 MS-SQL에서는 id열은 별도의 값을 지정해서 넣을수 없지만 PostgreSQL에서는 기본적으로 가능함.

  (MS-SQL등에서도 옵션지정을 통해가능. 방법은 추후 블로그에 기재)

  ★중요

    위에서 id = 4 값을 입력하며, 해당 자동증가값을 사용했다고 생각했고, 다시 id값을 별도로 지정하지 않았으니

    다음값을 자동채번->5 될지 알았지만 해당 채번은 사용되지 않음이 확인 되었다. (중복 발생)

  ※ 기존 사용됐던 id값을 삭제했을경우 재사용하는 용도로는 사용해도 되겠지만,

      이렇게 아직 미사용한 채번(자동증가) 값을 사용 할 경우 중복이 발생하니 이점에 유념하여 작업하기 바란다.

 

PostgreSQL DB의 숫자형식 Data Type을 알아보자. 통상적으로 사용되는 타입들의 자세한 설명은 Pass 하도록 하겠다.

 

: 정수형식(smallint, integer, bigint)

형식 크기 범위 별칭
smallint 2 바이트 -32768에서 +32767 int2
integer 4 바이트 -2147483648에서 +2147483647 int, int4
bigint 8 바이트 -9223372036854775808에서 +9223372036854775807 int8

 

: 정밀숫자형(numeric, decimal)

타입 크기 특징 범위 별칭
numeric 가변 사용자 지정, 정확 소수점 131072 자리까지 소수점 아래는 16,383 자리까지 decimal

   ▶ numeric(precision, scale)

      - precision(전체자리수) : scale(소수부) 포함 전체 숫자의 길이.

        * 지정된 길이보다 정수부(+소수점) 길이가 크면 Error.   

      - scale(소수부) : 소수부의 최대 길이.

        * 지정된 길이보다 소수점이 크면 반올림.       

   ▶ numeric(precision)

       - scale(소수부)를 지정하지 않고 사용가능하다. 단, 이 경우 소수점 존재데이터를 Insert할 경우 반올림처리된다.

         예) numeric(4) - 1000.9 insert

               = 결과 : 1001

       - 성능측면에서 굳이 소수점을 사용할께 아니라면 정수형식 type을 사용.

       

: 부동소수점(numeric, decimal)

형식 크기 특징 범위 별칭
real 4 바이트 가변 정밀도, 부정확 최소 6 자리의 정밀도 (적어도 1E-37에서 1E + 37) float4
double precision 8 바이트 가변 정밀도, 부정확 최소 15 자리의 정밀도 ( 1E-307에서 1E + 308) float8

 * 정해진 타입의 길이내에서 소수점이 사용가능하며, 자리수 초과시 반올림 처리된다.

 

1. Azure PostgreSQL 생성하기

   : MS Azure에서 PostgreSQL DB를 만들기는 매우 간편하다. 

     사용편의 및 비용의 압박으로 "단일 서버" 옵션을 선택하였고, 서버의 컴퓨팅 + 스토리지도 낮은걸 선택하였다.

 

( 그림 1 )

  이렇게 진행을 하면, 아주 손쉽게 PostgreSQL DB를 생성할 수 있다.

 

[생성완료]

( 그림 2 )

2. Azure PostgreSQL 접속하기

   : 다양한 접속 방식이 있겠지만 보편적인 pgAdmin Tool을 이용해 접속해보도록 하겠다.

      ( 프로그램 설치방법은 인터넷 검색 ^^ )

 

  2-1. Server Group 등록

     - 우선 사용 할 DB에 대한 정보를 입력하고 등록해줘야 한다. 

 

(step 1-1)
(step 1-2)

 

  2-2. Server Register (서버등록)

      - 실제 생성된 DB접속정보를 이용한 DB등록을 하는 단계이다.      

(step 2-1)
(step 2-2)
( STEP 2-3 )

> 설치 후 (그림2번) 정보에서 서버이름, 관리자 사용자 이름 을 이용하여, 접속정보 등록.

( 접속완료 )

이렇게 하면 손쉽게 PostgreSQL DB에 접속이 된다. 이로서 실사용에 필요한 준비 작업은 끝.

PostgreSQL(포스트그레스큐엘) 에 대해 알아보고자 한다.

우선 PostgreSQL의 시장 위치는 어떨까 하고? 확인해보니... 4위!!

출처 : DB-Engines Ranking - popularity ranking of database management systems

그 중에 현재 재직하고 있는곳이 Azure 기반의 Cloud팀이기에 Azure Database for PostgreSQL 서비스 기반으로 Study를 진행해 볼 예정이다. 

 

1. Azure Database for PostgreSQL 배포 옵션.

  •  Azure 에서는 유연한서버, 단일서버, Azure Arc 지원서버(미리 보기) 세가지의 타입으로 PostgreSQL DB를 사용할 수 있다. 각 배포 타입마다 옵션은 다르나, 현재 기준 실제 Azure 화면에서 간단히 설명하는 바는 아래 캡쳐 화면을 참고하길 바란다. 

그 외 세부적인 내용은 변화의 소지도 있고, MS 문서에 더 자세히 기술되어 있는바, 아래 출처 링크를 참고하기 바란다.

 

※ 이번 Azure PostgreSQL Study의 목표는 서버관점보다는 PostgreSQL의 기술적인 SQL(DML, DDL등), 스키마, 계정관리등에 목표를 두고 접근해 볼 예정이다.

 

#출처 : Azure Database for PostgreSQL이란? | Microsoft Learn

클라우드 환경에서 작업을 하다보니 예전에는 특정 FTP, TELNET등 포트정도 알고 넘어갔었는데 인프라 지식도 필요함에  따라 포트 정보도 인지하고 있어야 되는걸 깨달았다.

 

인터넷 검색을 통해 확인한 포트 정보 내용을 정리해본다.

 

WIKI에서는 아래와 같이 설명하고 있다.

인터넷 프로토콜 스위트에서 포트(port)는 운영 체제 통신의 종단점이다. 이 용어는 하드웨어 장치에도 사용되지만, 소프트웨어에서는 네트워크 서비스나 특정 프로세스를 식별하는 논리 단위이다. 주로 포트를 사용하는 프로토콜은 전송 계층 프로토콜이라 하며, 예를 들어 전송 제어 프로토콜(TCP)와 사용자 데이터그램 프로토콜(UDP)가 있다. 각 포트는 번호로 구별되며 이 번호를 포트 번호라고 한다. 포트 번호는 IP 주소와 함께 쓰여 해당하는 프로토콜에 의해 사용된다.

출처 : 포트 (컴퓨터 네트워킹) - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

1  tcpmux  TCP 포트 서비스 다중화 장치 

5  rje  원격 작업 입력 (Remote Job Entry:RJE) 

7  echo  Echo 서비스 

9  discard  접속 테스팅을 위한 Null 서비스 

11  systat  연결된 포트를 열거하는 시스템 상태 서비스 

13  daytime  요청하는 호스트에게 날짜와 시간 정보를 보냅니다 

17  qotd  오늘의 한마디를 연결된 호스트에게 보냅니다 

18  msp  메시지 전송 프로토콜 (Message Send Protocol: MSP) 

19  chargen  자막 생성 서비스 (Character Generation service); 끊임없이 문자 스트림을 보냅니다 

20  ftp-data  FTP 데이터 포트 

21  ftp  파일 전송 프로토콜 (FTP) 포트; 가끔씩 파일 서비스 프로토콜 (FSP)에 의해 사용됩니다 

22  ssh  보안 쉘 (Secure Shell: SSH) 서비스 

23  telnet  Telnet 서비스 

25  smtp  단순 메일 전송 프로토콜 (Simple Mail Transfer Protocol: SMTP) 

37  time  시간 프로토콜 

39  rlp  자원 위치 프로토콜 (Resource Location Protocol) 

42  nameserver  인터넷 이름 서비스 (Internet Name Service) 

43  nicname  WHOIS 디렉토리 서비스 

49  tacacs  TCP/IP 기반 인증과 사용을 위해 사용되는 TACACS (TerminalAccess Controller Access Control System) 

50  re-mail-ck  원격 메일 확인 프로토콜 (Remote Mail Checking Protocol) 

53  domain  도메인 이름 서비스 (예, BIND) 

63  whois++  WHOIS++, 확장된 WHOIS 서비스 

67  bootps  부트스트랩 프로토콜 (Bootstrap Protocol: BOOTP) 서비스; 동적 호스트 설정 프로토콜 (Dynamic Host Configuration Protocol: DHCP) 서비스에 의해서도 사용됩니다 

68  bootpc  부트스트랩 (BOOTP) 클라이언트; 동적 호스트 제어 프로토콜 (DHCP) 클라이언트에 의해서도 사용됩니다 

69  tftp  Trivial File Transfer Protocol (TFTP) 

70  gopher  Gopher 인터넷 문서 검색 

71  netrjs-1  원격 작업 서비스 

72  netrjs-2  원격 작업 서비스 

73  netrjs-3  원격 작업 서비스 

73  netrjs-4  원격 작업 서비스 

79  finger  사용자 연락 정보를 알아보는 핑거(Finger) 서비스 

80  http  WWW (World Wide Web) 서비스에 사용되는 HTTP (HyperText Transfer Protocol) 

88  kerberos  Kerberos 네트워크 인증 시스템 

95  supdup  Telnet 프로토콜 확장 

101  hostname  SRI-NIC 기계의 호스트명 서비스 

102/tcp  iso-tsap  ISO 개발 환경 (ISODE) 네트워크 응용 프로그램 

105  csnet-ns  Mailbox 이름 서버; CSO 이름서버에 의해서도 사용됩니다 

107  rtelnet  원격 Telnet 

109  pop2  Post Office Protocol 버전 2 

110  pop3  Post Office Protocol 버전 3 

111  sunrpc  NFS (네트워크 파일 시스템)에 의해 원격 명령 실행에 사용되는 RPC (Remote Procedure Call) 

113  auth  인증과 식별 프로토콜 

115  sftp  보안 파일 전송 프로토콜 (SFTP) 서비스 

117  uucp-path  UUCP (Unix-to-Unix Copy Protocol) 경로 서비스 

119  nntp  네트워크 넷 전송 프로토콜 (NNTP); USENET로도 불리움 

123  ntp  네트워크 시간 프로토콜 (NTP) 

137  netbios-ns  Red Hat Enterprise Linux에서 Samba가 사용하는 NETBIOS 이름 서비스 

138  netbios-dgm  Red Hat Enterprise Linux에서 Samba가 사용하는 NETBIOS 데이터그램 서비스 

139  netbios-ssn  Red Hat Enterprise Linux에서 Samba가 사용하는 NETBIOS 세션 서비스 

143  imap  인터넷 메시지 액세스 프로토콜 (IMAP) 

161  snmp  단순 네트워크 관리 프로토콜 (SNMP) 

162  snmptrap  SNMP 트랩 

163  cmip-man  일반 관리자 정보 프로토콜 (CMIP) 

164  cmip-agent  일반 관리자 정보 프로토콜 (CMIP) 

174  mailq  MAILQ 이메일 전송 대기열 

177  xdmcp  X 화면 표시 관리자 제어 프로토콜 (XDMCP) 

178  nextstep  NeXTStep 윈도우 서버 

179  bgp  Border Gateway Protocol 

191  prospero  Prospero 분산형 파일 시스템 서비스 

194  irc  인터넷 릴레이 챗 (IRC) 

199  smux  SNMP UNIX 다중화 장치 

201  at-rtmp  AppleT‎alk 라우팅 

202  at-nbp  AppleT‎alk 네임 바인딩 

204  at-echo  AppleT‎alk echo 

206  at-zis  AppleT‎alk 영역 정보 

209  qmtp  빠른 메일 전송 프로토콜 (QMTP) 

210  z39.50  NISO Z39.50 데이터베이스 

213  ipx  IPX (Internetwork Packet Exchange)는 Novell Netware 환경에서 흔히 사용되는 데이터그램 프로토콜입니다 

220  imap3  인터넷 메시지 액세스 프로토콜 버전 3 

245  link  LINK / 3-DNS iQuery 서비스 

347  fatserv  FATMEN 파일 및 테이프 관리 서버 

363  rsvp_tunnel  RSVP 터널 

369  rpc2portmap  Coda 파일 시스템 portmapper 

370  codaauth2  Coda 파일 시스템 인증 서비스 

372  ulistproc  UNIX LISTSERV 

389  ldap  경량 디렉토리 접속 프로토콜 (LDAP) 

427  svrloc  서비스 위치 프로토콜 (SLP) 

434  mobileip-agent  이동 인터넷 프로토콜 (IP) 에이전트 

435  mobilip-mn  이동 인터넷 프로토콜 (IP) 관리자 

443  https  보안 하이퍼텍스트 전송 프로토콜 (HTTP) 

444  snpp  간이 망 호출 프로토콜 (Simple Network Paging Protocol) 

445  microsoft-ds  TCP/IP 상 서비스 메시지 블록 (SMB) 

464  kpasswd  Kerberos 암호화 키 변환 서비스 

468  photuris  Photuris 세션키 관리 프로토콜 

487  saft  단순 비동기 파일 전송 (SAFT) 프로토콜 

488  gss-http  HTTP 용 GSS (Generic Security Services) 

496  pim-rp-disc  PIM (Protocol Independent Multicast) 서비스 용 RP-DISC (Rendezvous Point Discovery) 

500  isakmp  인터넷 환경에서 안전하게 SA 및 세션 키를 관리할 수 있는 프로토콜 (Internet Security Association and Key Management Protocol: ISAKMP) 

535  iiop  IIOP (Internet Inter-Orb Protocol) 

538  gdomap  GDOMAP (GNUstep Distributed Objects Mapper) 

546  dhcpv6-client  동적 호스트 설정 프토로콜 (DHCP) 버전 6 클라이언트 

547  dhcpv6-server  동적 호스트 설정 프로토콜 (DHCP) 버전 6 서비스 

554  rtsp  실시간 스트림 제어 프로토콜 (RTSP) 

563  nntps  SSL를 통한 네트워크 뉴스 전송 프로토콜 (NNTPS) 

565  whoami  whoami 사용자 ID 목록 보여주기 

587  submission  메일 메시지 전송 에이전트 (MSA) 

610  npmp-local  네트워크 주변 기기 관리 프로토콜 (NPMP) 지역/ 분산 대기 시스템 (DQS) 

611  npmp-gui  네트워크 주변 기기 관리 프로토콜 (NPMP) GUI/ 분산 대기 시스템 (DQS) 

612  hmmp-ind  HMMP (HyperMedia Management Protocol) 지시/ DQS 

631  ipp  인터넷 인쇄 프로토콜 (IPP) 

636  ldaps  SSL을 통한 경량 디렉토리 접속 프로토콜 (LDAPS) 

674  acap  응용 프로그램 설정 접속 프로토콜 (ACAP) 

694  ha-cluster  고가용성 클러스터에 사용되는 Heartbeat 서비스 

749  kerberos-adm  Kerberos 버전 5 (v5) 'kadmin' 데이터베이스 관리 

750  kerberos-iv  Kerberos 버전 4 (v4) 서비스 

765  webster  네트워크 사전 

767  phonebook  네트워크 전화번호부 

873  rsync  rsync 파일 전송 서비스 

992  telnets  SSL을 이용한 Telnet (TelnetS) 

993  imaps  SSL을 사용하여 인터넷 메시지 접속 프로토콜 (IMAPS) 

994  ircs  SSL을 이용한 인터넷 릴레이 챗 (IRCS) 

995  pop3s  SSL을 이용한 Post Office Protocol 버전 3 (POP3S) 

 

 

512/tcp  exec  원격 프로세스 실행을 위한 인증 

512/udp  biff [comsat]  비동기 메일 클라이언트 (biff)와 서비스 (comsat) 

513/tcp  login  원격 로그인 (rlogin) 

513/udp  who [whod]  whod 사용자 기록 데몬 

514/tcp  shell [cmd]  기록 기능이 없는 원격 쉘 (rshell) 및 원격 복사 (rcp) 

514/udp  syslog  UNIX 시스템 로깅 서비스 

515  printer [spooler]  라인 프린터 (lpr) 스풀러 

517/udp  talk  Talk 원격 호출 서비스와 클라이언트 

518/udp  ntalk  네트워크 talk (ntalk) 원격 호출 서비스와 클라이언트 

519  utime [unixtime]  UNIX 시간 (utime) 프로토콜 

520/tcp  efs  확장 파일명 서버 (EFS) 

520/udp  router [route, routed]  라우팅 정보 프로토콜 (RIP) 

521  ripng  인터넷 프로토콜 버전 6 (IPv6) 용 라우팅 정보 프로토콜 

525  timed [timeserver]  시간 데몬 (timed) 

526/tcp  tempo [newdate]  Tempo 

530/tcp  courier [rpc]  Courier 원격 절차 호출 (RPC) 프로토콜 

531/tcp  conference [chat]  IRC (Internet Relay Chat) 

532  netnews  Netnews 뉴스그룹 서비스 

533/udp  netwall  비상시 브로드캐스트에 사용되는 Netwall 

540/tcp  uucp [uucpd]  UNIX 간 복사 서비스 

543/tcp  klogin  Kerberos 버전 5 (v5) 원격 로그인 

544/tcp  kshell  Kerberos 버전 5 (v5) 원격 쉘 

548  afpovertcp  TCP (Transmission Control Protocol)를 사용하는 AFP (Applet‎alk Filing Protocol) 

556  remotefs [rfs_server, rfs]  Brunhoff의 원격 파일 시스템 (RFS) 

 

1080  socks  SOCKS 네트워크 응용 프로그램 프록시 서비스 

1236  bvcontrol [rmtcfg]  Garcilis Packeten 네트워크 스위치 원격 설정 서버[a] 

1300  h323hostcallsc  H.323 telecommunication Host Call Secure 

1433  ms-sql-s  Microsoft SQL 서버 

1434  ms-sql-m  Microsoft SQL 모니터 

1494  ica  Citrix ICA 클라이언트 

1512  wins  Microsoft Windows 인터넷 이름 서버 

1524  ingreslock  Ingres 데이터베이스 관리 시스템 (DBMS) 잠금 서비스 

1525  prospero-np  비특권 Prospero 

1645  datametrics [old-radius]  Datametrics / 이전 반경 항목 

1646  sa-msg-port [oldradacct]  sa-msg-port / 이전 radacct 항목 

1649  kermit  Kermit 파일 전송과 관리 서비스 

1701  l2tp [l2f]  계층 2 터널링 프로토콜 (LT2P) / 계층 2 전송 (L2F) 

1718  h323gatedisc  H.323 telecommunication Gatekeeper Discovery 

1719  h323gatestat  H.323 telecommunication Gatekeeper Status 

1720  h323hostcall  H.323 telecommunication Host Call setup 

1758  tftp-mcast  단순 FTP 멀티캐스트 

1759/udp  mtftp  멀티캐스트 단순 FTP (MTFTP) 

1789  hello  Hello 라우터 통신 프로토콜 

1812  radius  Radius 다이얼업 인증과 회계 서비스 

1813  radius-acct  Radius Accounting 

1911  mtp  Starlight 네트워크 멀티미디어 전송 프로토콜 (MTP) 

1985  hsrp  Cisco HSRP (Hot Standby Router Protocol) 

1986  licensedaemon  Cisco 라이센스 관리 데몬 

1997  gdp-port  Cisco 게이트웨이 탐색 프로토콜 (GDP) 

2049  nfs [nfsd]  네트워크 파일 시스템 (NFS) 

2102  zephyr-srv  Zephyr 분산형 메시징 서버 

2103  zephyr-clt  zephyr 클라이언트 

2104  zephyr-hm  Zephyr 호스트 관리자 

2401  cvspserver  CVS (Concurrent Versions System) 클라이언트/서버 작업 

2430/tcp  venus  Coda 파일 시스템에 사용되는 Venus 캐시 관리자 (codacon 포트) 

2430/udp  venus  Coda 파일 시스템에 사용되는 Venus 캐시 관리자 (callback/wbc 인터페이스) 

2431/tcp  venus-se  Venus 전송 제어 프로토콜 (TCP) 부작용 

2431/udp  venus-se  Venus 사용자 데이터그램 프로토콜 (UDP) 보안 FTP (SFTP) 부작용 

2432/udp  codasrv  Coda 파일 시스템 서버 포트 

2433/tcp  codasrv-se  Coda 파일 시스템 TCP 부작용 

2433/udp  codasrv-se  Coda 파일 시스템 UDP SFTP 부작용 

2600  hpstgmgr [zebrasrv]  Zebra 라우팅[b] 

2601  discp-client [zebra]  discp 클라이언트; Zebra 통합 쉘 

2602  discp-server [ripd]  discp 서버; 라우팅 정보 프로토콜 데몬 (ripd) 

2603  servicemeter [ripngd]  서비스 미터; IPv6에 사용되는 RIP 데몬 

2604  nsc-ccs [ospfd]  NSC CCS; OSPFD (Open Shortest Path First daemon) 

2605  nsc-posa  NSC POSA; BGPD (Border Gateway Protocol daemon) 

2606  netmon [ospf6d]  Dell Netmon; IPv6에 사용되는 OSPF (ospf6d) 

2809  corbaloc  CORBA (Common Object Request Broker Architecture ) 이름 지정 서비스 

3130  icpv2  인터넷 캐시 프로토콜 버전 2 (v2); Squid 프록시 캐싱 서버에 의해 사용됩니다 

3306  mysql  MySQL 데이터베이스 서비스 

3346  trnsprntproxy  투명 프록시 (Transparent Proxy) 

4011  pxe  PXE (Pre-execution Environment) 서비스 

4321  rwhois  원격 Whois (rwhois) 서비스 

4444  krb524  Kerberos 버전 5 (v5)에서 버전 4 (v4)으로 티켓 번역기 

5002  rfe  RFE (Radio Free Ethernet) 오디오 브로드캐스팅 시스템 

5308  cfengine  설정 엔진 (Cfengine) 

5999  cvsup [CVSup]  CVSup 파일 전송과 업데이트 도구 

6000/tcp  x11 [X]  X 윈도우 시스템 서비스 

7000  afs3-fileserver  Andrew 파일 시스템 (AFS) 파일 서버 

7001  afs3-callback  캐시 관리자로 콜백(callback)하는데 사용되는 AFS 포트 

7002  afs3-prserver  AFS 사용자와 그룹 데이터베이스 

7003  afs3-vlserver  AFS 볼륨 위치 데이터베이스 

7004  afs3-kaserver  AFS Kerberos 인증 서비스 

7005  afs3-volser  AFS 볼륨 관리 서버 

7006  afs3-errors  AFS 오류 해석 서비스 

7007  afs3-bos  AFS BOS (basic overseer) 프로세스 

7008  afs3-update  AFS 서버 간 업데이트 장치 

7009  afs3-rmtsys  AFS 원격 캐시 관리자 서비스 

9876  sd  IP 멀티캐스트 회의에 사용되는 세션 관리자 

10080  amanda  Amanda (Advanced Maryland Automatic Network Disk Archiver) 백업 서비스 

11371  pgpkeyserver  PGP (Pretty Good Privacy) / GPG (GNU Privacy Guard) 공개 키서버 

11720  h323callsigalt  H.323 Call Signal Alternate 

13720  bprd  BPRD (Veritas NetBackup Request Daemon) 

13721  bpdbm  BPDBM (Veritas NetBackup Database Manager) 

13722  bpjava-msvc  Veritas NetBackup Java / Microsoft 비주얼 C++ (MSVC) 프로토콜 

13724  vnetd  Veritas 네트워크 유틸리티 

13782  bpcd  Vertias NetBackup 

13783  vopied  Veritas VOPIE 인증 데몬 

22273  wnn6 [wnn4]  카나/칸지 변환 시스템[c] 

26000  quake  Quake (그리고 관련) 다인용 게임 서버 

26208  wnn6-ds  Wnn6 Kana/Kanji 서버 

33434  traceroute  Traceroute 네트워크 추적 도구 

 

1/ddp  rtmp  경로표 관리 도구 (Routing Table Management Protocol) 

2/ddp  nbp  네임 바인딩 프로토콜 (Name Binding Protocol) 

4/ddp  echo  AppleT‎alk 에코 프로토콜 

6/ddp  zip  영역 정보 프로토콜 (Zone Information Protocol) 

 

751  kerberos_master  Kerberos 인증 

752  passwd_server  Kerberos 암호 (kpasswd) 서버 

754  krb5_prop  Kerberos v5 종속 전파 (slave propagation) 

760  krbupdate [kreg]  Kerberos 등록 

1109  kpop  Kerberos 우체국 프로토콜 (Kerberos Post Office Protocol: KPOP) 

2053  knetd  Kerberos 역다중화기 

2105  eklogin  Kerberos v5 암호화된 원격 로그인 (rlogin) 

 

15/tcp  netstat  네트워크 상태 (netstat) 

98/tcp  linuxconf  Linuxconf 리눅스 관리 도구 

106  poppassd  우체국 프로토콜 암호 변경 데몬 (POPPASSD) 

465/tcp  smtps  SSL을 사용하는 단순형 메일 전송 프로토콜 (SMTPS) 

616/tcp  gii  게이트 (라우팅 데몬) 대화식 인터페이스 

808  omirr [omirrd]  온라인 미러 (Omirr) 파일 미러링 서비스 

871/tcp  supfileserv  소프트웨어 업그레이드 프로토콜 (SUP) 서버 

901/tcp  swat  Samba 웹 관리 도구 (SWAT) 

953  rndc  Berkeley 인터넷 네임 도메인 버전 9 (BIND 9) 원격 설정 도구 

1127/tcp  supfiledbg  소프트웨어 업그레이드 프로토콜 (SUP) 디버깅 

1178/tcp  skkserv  단순 카나에서 칸지로 (Simple Kana to Kanji: SKK) 일본어 입력 서버 

1313/tcp  xtel  French Minitel 텍스트 정보 시스템 

1529/tcp  support [prmsd, gnatsd]  GNATS 버그 추적 시스템 

2003/tcp  cfinger  GNU finger 

2150  ninstall  네트워크 설치 정보 

2988  afbackup  afbackup 클라이언트-서버 백업 시스템 

3128/tcp  squid  Squid 웹 프록시 캐시 

3455  prsvp  RSVP 포트 

5432  postgres  PostgreSQL 데이터베이스 

4557/tcp  fax  FAX 전송 서비스 (구식 서비스) 

4559/tcp  hylafax  HylaFAX 클라이언트-서버 프로토콜 (최신 서비스) 

5232  sgi-dgl  SGI 분산 그래픽 라이브러리 

5354  noclog  NOCOL 네트워크 작업 센터 로깅 데몬 (noclogd) 

5355  hostmon  NOCOL 네트워크 작업 센터 호스트 모니터링 

5680/tcp  canna  Canna 일본어 문자 입력 인터페이스 

6010/tcp  x11-ssh-offset  보안 쉘 (SSH) X11 전송 오프셋 

6667  ircd  IRC 데몬 (ircd) 

7100/tcp  xfs  X 글꼴 서버 (XFS) 

7666/tcp  tircproxy  Tircproxy IRC 프록시 서비스 

8008  http-alt  HTTP (Hypertext Tranfer Protocol) 대안 

8080  webcache  WWW (World Wide Web) 캐싱 서비스 

8081  tproxy  투명 프록시 (Transparent Proxy) 

9100/tcp  jetdirect [laserjet, hplj]  Hewlett-Packard (HP) JetDirect 네트워크 인쇄 서비스 

9359  mandelspawn [mandelbrot]  X 윈도우 시스템 용 병렬 mandelbrot spawning 프로그램 

10081  kamanda  Kerberos를 이용한 Amanda 백업 서비스 

10082/tcp  amandaidx  Amanda 인덱스 서버 

10083/tcp  amidxtape  Amanda 테이프 서버 

20011  isdnlog  ISDN (Integrated Services Digital Network) 기록 시스템 

20012  vboxd  ISDN 음성 사서함 데몬 (vboxd) 

22305/tcp  wnn4_Kr  kWnn 한국어 입력 시스템 

22289/tcp  wnn4_Cn  cWnn 중국어 입력 시스템 

22321/tcp  wnn4_Tw  tWnn 중국어 입력 시스템 (대만) 

24554  binkp  Binkley TCP/IP Fidonet 메일러 데몬 

27374  asp  주소 검색 프로토콜 

60177  tfido  Ifmail FidoNet 호환 가능 메일러 서비스 

60179  fido  FidoNet 전자 메일과 뉴스 네트워크

 

출처: https://cafe.daum.net/Sniffer/495m/518

'IT Log' 카테고리의 다른 글

[Notion] AI 비공개 테스트 사용기 - 1  (0) 2023.02.08
[excel] 열,행 복사 붙여넣기 TIP  (0) 2023.01.16
테이블 타입 정의를 위해 DB(AZURE SQL, MSSQL, AZURE SYNAPSE SQL) 데이터 TYPE정의 중
원천 데이터의 정보만을 가지고 정수부+소수부 길이를 추출하여, 테이블 정의를 해야되는 일이 생겼다. (파일형태)

그러나 MS-SQL쪽 DB에서 사용하기 편한 추출함수 or 인터넷 자료에서도 최적의 구문은 확인 되지 않았고, 
있더라도 일부 소수/정수부 길이가 잘못 도출되는 구문이 대부분 이었다. 

이에 따라 아래와 같이 최적의 길이를 도출해낼 수 있는 구문을 만들어 보았다. 
SELECT /*정수부MAX값+소수부MAX값=전체MAX값*/
       /*정수부MAX값*/ CASE WHEN MAX(CHARINDEX ('.',123.12345 )) = 0 THEN MAX(LEN(123.12345))
                            ELSE  MAX(CHARINDEX ('.',123.12345))-1 END    
         + /*소수부MAX값*/ MAX(LEN (SUBSTRING(CAST(FORMAT (123.12345, '0.####################') AS VARCHAR)
                                             ,CHARINDEX ('.',123.12345 ) + 1,
                         CASE WHEN CHARINDEX ('.', 123.12345) = 0 THEN 0
                              ELSE LEN (123.12345) END)))                AS 전체MAX값
     , /*정수부MAX값*/ CASE WHEN MAX(CHARINDEX ('.',123.12345 )) = 0 THEN MAX(LEN(123.12345))
                            ELSE  MAX(CHARINDEX ('.',123.12345))-1 END   AS 정수부MAX값
     , /*소수부MAX값*/ MAX(LEN (SUBSTRING(CAST(FORMAT (123.12345, '0.####################') AS VARCHAR)
                                         ,CHARINDEX ('.',123.12345 ) + 1,
                       CASE WHEN CHARINDEX ('.', 123.12345) = 0 THEN 0
                            ELSE LEN (123.12345) END)))                  AS 소수부MAX값

( ※123.12345 <- 컬럼명으로 치환 후 추가 사용필요 )

'DATA Log' 카테고리의 다른 글

SAS 변수 메타정보 DATABASE 변환을 위한정보  (0) 2022.12.29
SQL 쿼리 시각화 분석  (0) 2022.12.22
10의 승 명칭 확인  (0) 2022.09.07

SAS -> DW 구축(Azure Synapse SQL Pool) 프로젝트 진행간 TABLE을 정의하며 있었던 내용에 대해 정리를 해본다.

SAS는 메타정보가 존재하며, 이를 이용하여 일반 DB의 테이블 LayOut을 지정하는데 사용 할 수 있다.

 

이때 전달받은 메타정보에서 유념해야 될 부분은 TYPE(변수유형) 인데 이 부분이 아래표에도 표시는 해놨지만,

문자형,숫자형이라고 데이터 자체가 문자,숫자만 들어오는건 아니다. (날짜등 다양한 타입정보 존재...)

 

FORMAT(변수의 출력형식) 에 따라 컬럼 타입은 얼마든지 변할 수 있다. 이 정보를 유념하여 컬럼 타입을 설정해야 한다.

포맷(변경전) 포맷(변환후) 비고
IS8601DA DATE $ - 문자형으로 처리
BEST -
문자형으로 처리

*TYPE = '1'
DECIMAL(30,10)

*TYPE = '2'
NVARCHAR(LENGTH)

FORMAT정보가 존재 할 시 FORMATL, FORMATD정보 기반으로
  길이 설정
   -> FORMATL, FORMATD는 필수설정 항목 아님. 
        정확한 길이 설정을 위해서는 원천 SAS에서 FORMATL,D 설정필수!
E8601DA DATE
YYMMDD DATE
E8601DT DATETIME
TIME TIME
IS8601DT DATETIME
   

 

[ EXAMPLE_META 포함된 메타 정보 항목 ]

OBS NAME LABEL
1 CHARSET 호스트 문자 집합
2 COLLATE 순서 맞추기
3 COMPRESS 압축 루틴
4 CRDATE 생성일
5 DELOBS 데이터셋에서 삭제된 관측값
6 ENCRYPT 암호 루틴
7 ENGINE 엔진
8 FLAGS 플래그 업데이트(보호 기여 추가)
9 FORMAT 변수의 출력형식
10 FORMATD 출력형식의 소수점 이하 자릿수
11 FORMATL 출력형식 길이
12 GENMAX 최대 생성 개수
13 GENNEXT 다음 생성 번호
14 GENNUM 생성 번호
15 IDXCOUNT 데이터셋에 대한 인덱스 개수
16 IDXUSAGE 인덱스에서 변수 사용
17 INFORMAT 변수의 입력형식
18 INFORMD 입력형식의 소수점 이하 자릿수
19 INFORML 입력형식 길이
20 JUST 정렬
21 LABEL 변수 레이블
22 LENGTH 변수 길이
23 LIBNAME 라이브러리 이름
24 MEMLABEL 데이터셋 레이블
25 MEMNAME 라이브러리 멤버 이름
26 MEMTYPE 라이브러리 멤버 유형
27 MODATE 마지막 수정일
28 NAME 변수 이름
29 NOBS 데이터셋의 관측값
30 NODUPKEY 정렬 옵션: 중복 키 없음
31 NODUPREC 정렬 옵션: 중복 레코드 없음
32 NPOS 버퍼 위치
33 POINTOBS 관측값 지점
34 PROTECT 암호 보호(읽기 쓰기 변경)
35 REUSE 공백 재사용
36 SORTED 정렬됨 및/또는 검증됨
37 SORTEDBY Sortedby 절의 변수 위치
38 TRANSCOD 전치된 문자 변수
39 TYPE 변수 유형
40 TYPEMEM 특수 데이터셋 유형 (From TYPE=)
41 VARNUM 변수 번호

[ 문자형과 숫자형 변수 ]

no 유형
(type)
약어
(abbrevation)
설명
1 숫자형(numeric) N 숫자로 이뤄진 변수
2 문자형(character) C 문자로 이뤄진 변수
3 이항형(binary) B 값이 0 또는 1, Y 또는 N만 가질 수 있는 변수
(Target 변수의 유형 구분이 필요한 경우 사용)

 

'DATA Log' 카테고리의 다른 글

MSSQL DATA 정수,소수 길이 구하기(SQL)  (1) 2022.12.29
SQL 쿼리 시각화 분석  (0) 2022.12.22
10의 승 명칭 확인  (0) 2022.09.07

복잡한 쿼리가 있어 해당 쿼리문의 JOIN 등 컬럼간의 연관도를 알고 싶어서 찾던중 혹시나 검색하니

Visual하게 확인 할 수 있는 사이트를 찾았다. 추후 업무 진행에 쓴다면 유용 할 듯~ ^^

 

https://sqlflow.gudusoft.com/

'DATA Log' 카테고리의 다른 글

MSSQL DATA 정수,소수 길이 구하기(SQL)  (1) 2022.12.29
SAS 변수 메타정보 DATABASE 변환을 위한정보  (0) 2022.12.29
10의 승 명칭 확인  (0) 2022.09.07

Azure Synapse SQL Pool은 MS-SQL과 비슷한 부분이 많으면서도 다른 부분이 꽤 존재한다.

그 중 하나가 기본키(PRIMARY KEY) 이다.  이에 대해 알아본 내용을 기술해 봅니다.

 

1.  Azure Synapse SQL Pool에서는 PK를 설정할 경우  NONCLUSTERED와 NOT ENFORCED를 모두 사용하는 경우에만 지원됩니다.

 

: 일반적인 방식으로 PK KEY를 생성 할 수 없습니다.

: 아래 예시처럼 NONCLUSTERED와 NOT ENFORCED를 모두 사용해야 생성이 가능합니다.

 

2. 기본키(PK)이지만 우리가 알던 기본키와는 다르다.!? 

   무슨 말이지? 할 수 있다. 나 또한 적지 않게 당황한 부분이었다.

 

: 위에서 만든 테이블에 데이터를 INSERT 해보았습니다.

  # 아래 예시에서 보면 우리는 분명 PK를 생성하였는데 PK KEY(UserId)에 동일한 값이 들어갔습니다.!

  ※ 보통 대부분 DB의 경우 PK KEY는 무결성 제약조건에 의해 중복데이터가 허용되지 않습니다.

     그런데 Azure Synapse SQL Pool에서는 중복데이터가 허용된다는 사실입니다.

 

이해는 안됐지만, 왜 이런 구조인지는 추후에 알아보도록 하겠으며, 이게 끝이 아님.!

또 하나의 다른점이 존재했습니다!

PK Key(UserID) 의 경우 Group by 처리가 되지 않습니다. (참고-Distinct 문도 동일.)

PK Key가 아닌경우는 정상적으로 Group by됨. 

 

이 부분이 두번째로 다른 부분 이었습니다. 자칫 이런 부분을 인지 못한다면, 데이터 검증과정에서

중복된 데이터가 존재 함에도 모르고 지나칠 수 있습니다.

 

그럼 중복관리는 어떻게??? MS 문서에서는 아래와 같이 쓰라고 권장하고 있습니다.

실제로 프로젝트 수행시에는 UPDATE, INSERT 작업을 할 때 PK키 데이터가 기존 테이블 사용되는지

Not Exists 구문등을 이용해 예외 처리를 하였습니다.

 

그럼 도대체!!!! Synapse SQL Pool 에서는 PK를 왜 쓰는거야?! 이럴바에는 안쓰고 말지 라는 의문이 들었습니다.

 

MS 문서에 아래와 같이 기술이 되어 있습니다. 

기본 키 및/또는 고유 키를 사용하면 전용 SQL 풀 엔진에서 쿼리에 대해 최적의 실행 계획을 생성할 수 있습니다.

기본 키 열 또는 고유 제약 조건 열의 모든 값은 고유해야 합니다.

 

눈여겨 보지 않아서 그냥 쓱 넘겼던 부분인데.... 결국 Syanpse SQL Pool에서의 PK란 최적의 실행계획(Plan)

잡기위해 설정하면 성능 향상을 기대 할 수 있으니... 그런 용도로 쓰란 말이었습니다.

 

단! 중복키 이런건 사용자가 알아서 잘 관리해야된다는......

 

이렇게 다양한 테스트를 통해 Synaspe SQL Pool -  PK에 대해 확실히 개념을 정립 할 수 있었습니다.

추가로 관련 MS 문서 링크는 아래 달아놨으니... 참고 하시기 바랍니다. ^^

 

#참고 : 기본, 외래 및 고유 키 - Azure Synapse Analytics | Microsoft Learn

+ Recent posts