유용한 모니터링 SQL 쿼리들을 정리하려고 합니다. 1. pg_stat_activity - 현재 실행중인 쿼리와 세션 정보 SELECT * FROM pg_stat_activity; PostgreSQL 서버에서 현재 실행중인 활동 및 세션 정보를 제공합니다. datid, datname, pid, usesysid, usename, application_name, client_addr, client_hostname, client_port, backend_start, xact_start, query_start, state, waiting, state_change, query 등이 포함될 수 있습니다. 2. pg_stat_user_indexes - 인덱스 사용률 확인 SELECT relname, indexreln..
전체 글
항상 정리하며 기록하고 있습니다.PostgreSQL에서 SELECT 문의 결과를 이용해 지정한 테이블에 새로운 행을 삽입하는 쿼리입니다. INSERT INTO target_table SELECT column1, column2, ... FROM source_table WHERE condition; target_table : 데이터를 삽입할 대상 테이블의 이름 SELECT column1, column2, ... 원본 테이블에서 선택할 컬럼 목록 source_table : 데이터를 가져올 원본 테이블의 이름 WHERE condition : 필요에 따라 조건을 지정하여 특정 행만 선택 가능 특정 테이블을 다른 테이블로 조건을 통해 복사하거나 이동할 때, 좋은 쿼리입니다.
SELECT count(column_name) FROM information_schema.columns WHERE table_name = 'table_name'; 여기서, table_name -> 실제 테이블 이름으로 치환하면 값이 나온다! Postgresql 쿼리를 사용해서 간단하게 테이블 컬럼 수를 셀 수 있다.
오늘은 디자인 패턴 스터디 두번째 항목인 컴포지트 패턴에 대해 알아보도록 하겠습니다. 컴포지트 패턴(Composite Pattern) 객체 지향 디자인 패턴 중 하나로, 복합 객체를 구성하는 개별적인 객체들을 모두 동일한 방법으로 다룰 수 있게 하는 패턴입니다. 이 패턴은 개별 객체와 복합 객체(그룹화된 객체)를 동일하게 다룰 수 있도록 하여 클라이언트 코드가 객체 계층 구조를 일관되게 처리할 수 있도록 도와줍니다. 컴포지트 패턴은 트리 구조를 가진 객체들을 다루는데 유용합니다. 간단한 예시로, 파일 시스템을 생각해볼 수 있습니다. 파일 시스템에서 디렉터리와 파일을 구성하는 것과 같이, 여러개의 객체가 포함된 복합 객체를 처리할 때 이용할 수 있습니다. 이러한 패턴을 사용하는 이유는, 코드가 많으면, 코..
velog에서 정리 한 것들을 블로그 이전하는 김에 다시 재정리를 하려고 한다. 2023년 2월 21일 - https://velog.io/@yujin-17/TIL-18.-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%99%80-%EA%B0%9D%EC%B2%B4 클래스(Class)란 객체를 생성하기 위한 템플릿입니다. 실제로 사용하기 위해서는 이 클래스를 기반으로 객체를 생성해야합니다. 이 과정을 인스턴스화라고 합니다. 객체는 모든 인스턴스를 대표하는 일반적인 용어입니다. 인스턴스는 특정 클래스로부터 생성된 객체입니다. 인스턴스화는 'new' 키워드를 사용하여 클래스의 생성자를 호출하여 객체를 생성하는 것입니다. // 클래스의 정의 Class MyClass { // 클래스의 멤버와 메서드 정의 가..
velog에서 정리 한 것들을 블로그 이전하는 김에 다시 재정리를 하려고 한다. 2023년 2월 15일 - https://velog.io/@yujin-17/TIL-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98 알고리즘이란? 알고리즘은 어떠한 문제를 해결하려는 방법과 절차입니다. 우리가 하려는 프로그래밍에 꼭 필요한 요소로 볼 수 있습니다. 이러한 알고리즘에는 조건이 있습니다. 입력 : 외부에서 제공되는 자료 출력 : 적어도 2개 이상의 서로 다른 경로가 출력 명확성 : 수행과정은 무엇을 하기 위한 것인지 명확하게 정의 유한성 : 알고리즘의 명령어 대로 수행하였을 때 처리된 후 종료 효율성 : 시공간적 효율성을 가져야하며, 명백하게 실행 가능 좋은 알고리즘이란? 밑의 4가지를 충족하는 ..
velog에서 정리 한 것들을 블로그 이전하는 김에 다시 재정리를 하려고 한다. 2023년 2월 14일 - https://velog.io/@yujin-17/TIL-12.-%EB%B0%B0%EC%97%B4 배열? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라고 합니다. 배열의 선언과 생성 배열의 선언은 배열을 다루기 위한 참조변수의 선언과 같습니다. 선언방법? 타입[] 변수이름; 타입 변수이름[]; 배열의 생성은 실제 저장공간을 생성하는 것입니다. 타입[] 변수이름 = new 타입[길이] 배열의 시작 주소(메모리 주소)가 변수이름에 저장되어있습니다. 참조변수와 배열은 연결되어있고, 참조변수를 이용해 배열을 다룰 수 있습니다. class Arrays 3_1 { public static voi..
회사에서 있었던 Git stash 삭제 이슈를 도와주다가 발견한 숨은 꿀팁을 공유하려고 합니다! 지금까지 했던 모든 개발을 모두 날려버릴 뻔했던 상황에 그 스태시를 날린 컴퓨터만 있다면 가능한 방법입니다! 1. 내가 개발중인 프로젝트 파일 위치에 찾아 들어갑니다. 기초 명령어 ls 현재 있는 위치의 리스트를 전부 보여줍니다. cd 폴더명 지금 있는 곳에서 폴더명으로 Change Directory를 합니다. (현재 있는 곳과 연결된 곳만 가능합니다.) cd .. 바로 이전 폴더로 이동합니다. 저는 현재 MacOS를 사용하고 있는데요! 기본 명령어는 모든 운영체제에서 거의 동일하게 사용되고 있으니 처음 터미널을 사용해 보더라도 당황하지 말고 사용해 보세요! 2. 프로젝트 파일 위치에서 아래 명령어를 입력합니..