Data/PostgreSQL 5

[POSTGRES] 전체 테이블, 컬럼 정보 조회

Intro 여러가지 산출물 작업을 해야 하는데, 데이터베이스에 대한 내용들은 이미 워낙 방대하기 때문에 도저히 손으로 작업 할 엄두가 나지 않았습니다. 필요에 의해 쿼리를 작성 했으나 추후 또 필요할 경우가 생겼을 때 시간을 절약 하기 위해, 또한 비슷한 고민을 하고 있는 분들에게 도움이 되었으면 하는 마음에 글로 작성해 남겨두려 합니다. SQL 제가 산출물 작업 하면서 필요한 내용들 위주로 쿼리를 작성 하였기 때문에 필요한 자료가 조금씩 다를 경우에는 일단 실행 해본 후에 쿼리를 약간씩 수정해서 사용 하시면 됩니다. 전체 테이블 주석과 실제 테이블명 조회 테이블에 주석을 달아놓지 않았다면 NULL로 표기됩니다. 평소에 주석을 꼭 달아두어야 나중에 서류 작업 할 때 편합니다. 예시를 들기 위해 엉뚱한 D..

Data/PostgreSQL 2022.07.26

Postgres) 계층형 쿼리작성 및 csv로 결과 저장하기

도커 컨테이너에 있는 Postgresql 데이터베이스에 접근해서 psql로 계층형 쿼리 조회하고 그 결과를 csv 파일로 저장해서 로컬로 가져오기 계층형 쿼리 상품 p 가 있고, 아이디는 product_id, 상위 product는 parent_product_id 라고 할 때, 아래와 같이 계층형 쿼리를 작성 할 수 있습니다. with recursive search_product(product_id) as ( select p.* from product p where product_id =21306 union all select p.* from product p, search_product sp where k.parent_product_id = sp.product_id ) select * from searc..

Data/PostgreSQL 2021.12.02

Postgres) rownum 사용과 Subquery를 통한 update

rownum Postgres 에서도 Oracle의 rownum을 사용 할 수 있을까요? 가능합니다. row_number()를 이용하면 됩니다. 그럼 아래 처럼 그냥 호출 하면 rownum을 사용 할 수 있을 것 같지만.. select row_number(), i.* from item i; 윈도우 함수 호출에는 OVER 절이 필요함 이라는 에러가 나옵니다. 딱히 조건을 걸 생각이 없었지만 그래도 over절은 넣어줘야 하나 봅니다. 그럼 이렇게 작성 한다면 rownum을 사용 할 수 있습니다. as로 alias 를 주는것도 좋겠네요. select row_number() over(), i.* from item i; Subquery를 통한 update 이제 rownum을 받아 왔으니, 서브쿼리에서 rownum을..

Data/PostgreSQL 2021.11.19

PostgreSQL) 모든 테이블에서 특정 값 찾기

How to search a specific value in all tables (PostgreSQL)? https://stackoverflow.com/questions/5350088/how-to-search-a-specific-value-in-all-tables-postgresql ​ 모든 테이블 찾기 특정 값을 검색 할 때, 모든 테이블에서 찾아봐야 할 경우가 종종 있습니다. 이번에 특정 데이터의 완전 삭제 기능을 구현하고 있었는데 모든 테이블을 FK로 연결한 건 아니라서 관련된 데이터들이 모두 삭제 되었는지가 확실하지 않았습니다. FK 와 cascade 를 활용해서 싹 다 지워버리면 편하기야 하겠지만 의도치 않은 사이드이펙트가 나올 수도 있습니다. 특정 데이터를 삭제 할 경우 관련된 데이터를 무작정..

Data/PostgreSQL 2021.10.08

MacOS PostgreSQL 설치 하고 테이블 생성, 조회하기

MacOS PostgreSQL 설치 하고 테이블 생성, 조회하기 ​ PostgreSQL PostgreSQL은 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템의 하나 입니다. 오픈소스 RDBMS로서 사용율은 Oracle, MySQL, Microsoft SQL에 이어 4위를 기록하고 있으며 특히 MacOS 서버의 경우에는 PostgreSQL이 기본 데이터베이스 입니다. ​ ​ 설치를 위해 brew에 postgresql 을 검색해 보았습니다. brew search postgresql brew install postgresql 을 입력 해서 default 버전인 13.3 버전을 설치하겠습니다. ​ 설치가 완료되었습니다. To start postgresql : 이라며 친절하게 시작하는 ..

Data/PostgreSQL 2021.08.04