본문 바로가기

전체 글8

[PostgreSQL] ARRAY 기본적인 배열함수 :: unnest, array_agg, array_to_string PostgreSQL은 다양한 Array 관련 함수를 지원한다.array 데이터 필드를 사용하지 않더라도, 쿼리에서 group by와 array 함수를 함께 사용하면 멋진 결과를 만들 수 있다.오늘은 자주 사용하는 array 함수 몇가지를 소개하도록 하겠다. array 데이터를 row로 변환하기 :: unnest()select col1, unnest(col2) as col2 from array_test ; col1|unnest| ----|------| 채소 |배추 | 채소 |상추 | 채소 |양파 | 과일 |배 | 과일 |귤 | 과일 |수박 | 과일 |참외 | 과일 |복숭아 |unnest 함수는 배열의 개수만큼 row를 풀어서 표현해 준다.array데이터 취급 시 많이 사용하는 함수이다. 빠르고 편리하긴 하.. 2020. 6. 23.
[PostgreSQL] ARRAY 데이터 (배열 필드 생성 및 입/출력) :: any() , all() 지난번 포스팅에서 언급되었던 array에 대해 자세히 알아보기로 하자. array 필드는 입력량이 많은 화면에서, 복수선택이 가능한 checkbox의 값, 또는 여러개의 데이터를 선택하여 저장하는 형식의 데이터를 취급하기에 매우 유리하다. 예를들어 좋아하는 과일과 채소를 선택하는 프로그램을 제작한다고 가정하자. 좋아하는과일 : □ 사과 □ 딸기 □ 수박 좋아하는채소 : □ 배추 □ 파 □ 양파 위와같이 UI를 제작할 것이다. 사과, 딸기, 수박 필드를 각각 만들어서 데이터를 저장하는 방법을 사용한다면 새로운 과일을 프로그램에 추가할 때 필드의 추가가 반드시 필요해진다. 또는 □사과 컨트롤의 bool 값 만을 저장한다면, '사과'를 '귤' 로 변경해야하는 상황에 처리가 곤란하다. 이런 상황에서 array .. 2020. 6. 23.
[PostgreSQL] 자료형 (데이터타입) - 기본 실제 테이블을 만들기 전에 PostgreSQL의 자료형을 살펴 보도록한다. 먼저 pg에서 설명하는 데이터타입 표를 보자 명칭 별명 설명 bigint int8 8 바이트 부호있는 정수 bigserial serial8 자동 증분 8 바이트 정수 bit [ ( n ) ] 고정 길이 비트열 bit varying [ ( n ) ] varbit 가변 길이 비트열 boolean bool 논리값 (true / false) box 평면 사각형 bytea 이진 데이터 ( "바이트 배열 (byte array)") character varying [ ( n ) ] varchar [ ( n ) ] 가변 길이 문자열 character [ ( n ) ] char [ ( n ) ] 고정 길이 문자열 cidr IPv4 또는 IPv6 .. 2020. 6. 20.
PostgreSQL 쿼리브라우저 [ pgAdmin3 / pgAdmin4 / EMS Sql Manager / DBeaver ] 이제 PostgreSQL의 설치가 끝났으니 접속을 해 보자. PG를 사용하면서 많은 툴을 설치해서 사용해 보았는데 기억에 남는 툴 몇가지를 소개하고 비교해 보겠다. pgAdmin3 PostgreSQL 9.x버전에 포함되어 있는 tool이다. 필수 프로그램 답게 기본적인 기능들을 제공한다. 하지만 편의기능은 일절 없어 사용 시 매우 불편하다. 그 흔한 인텔리전스 기능조차 없다. 기본적으로 설치되어 있는 tool이므로 브라우저를 설치없이 급하게 쿼리를 해야할 때만 유용하게 사용했다. 개발 툴로는 권장하지 않는다. pgAdmin4 PostgreSQL 상위 버전에 포함되어 있는 tool이다. pgAdmin3에 비해 상당히 UI가 예뻐졌고 시각화 되었고, 기능이 다양해졌다. 근데... 웹브라우저를 사용하는 툴이다.. 2020. 6. 19.
PostgreSQL postgresql.conf 파일 설정하기 postgresql.conf 파일은 해당 데이터베이스의 환경설정 파일이다. 오라클을 접해본 사람이라면 sqlnet.ora 파일과 유사하다고 이해하면 된다. pg_hba.conf 와 마찬가지로 '#'은 주석문이다. postgresql.conf의 내용은 생각보다 많고 변경 시 유의해야 할 것들이 많다. 옵션들은 DB가 설치된 머신 또는 환경에 따라 설정을 달리 해야 할 필요가 있으므로, 이 포스팅에서는 기본적으로 수정해야 할것들만 설명하도록 하겠다. 차후 PostgreSQL ErrorReport를 포스팅하고자 하는데, 그때 postgresql.conf의 내용을 상황별로 정리해 보기로 한다. listen_addresses = 'localhost' 서버를 초기화하면 기본적으로 'localhost'로 설정된다. .. 2020. 6. 17.
PostgreSQL pg_hba.conf 설정하기 지난포스팅에서 언급되었던 pg_hba.conf 파일 설정에 대해 알아보자. pg_hba.conf 는 인증에 관련된 설정 파일이다. 해당파일은 initDB.exe 를 실행시 Data폴더 안에 생성된다. # Put your actual configuration here # ---------------------------------- # # If you want to allow non-local connections, you need to add more # ""host"" records. In that case you will also need to make PostgreSQL # listen on a non-local interface via the listen_addresses # configurati.. 2020. 6. 15.