Postgresql Idle in transaction
2024. 3. 14. 18:10
데이터 엔지니어링/Database
다음 명령어를 통해 postgresql 의 활성화되어있는 프로스를 확인해보면 Idle in transaction 상태가 보인다. select * from pg_stat_activity; 찾아보니 이런 경우는 postgresql 에 transaction 이 잡혀있지만 아무런 동작도 하지 않으면 idle in transaction 상태가 된다고 한다. 이런 경우가 많이 발생하게 되면 connection 은 잡고있지만 아무것도 하지 않게 되어 리소스가 낭비된다. 이러한 문제를 해결하는 방법 중 하나는 다음과 같이 수동으로 해당 프로세스의 connection 을 terminate 해주어야 한다. terminate 를 할 때에는 process id 인 pid 를 가져와 terminate 를 실행하면 된다. sel..
Postgresql auto increment 적용하기
2024. 2. 16. 19:13
데이터 엔지니어링/Database
Mysql 에서는 auto_increment 라는 속성을 부여해주면 자동으로 증가하게 만들어줄 수 있다. Postgres 에서는 auto_increment 라는 속성을 부여할 수 없기 때문에 다른 방법을 통해서 증가하게 만들어주어야 한다. 그래서 postgres 의 auto increment 에는 어떤 방법들이 있는지 정리해보려고 한다. Sequence 객체를 사용해서 auto increment 하기 postgres 에는 Sequence 라고 하는 number generator 가 있다. 더 쉽게 말해서 순차적인 값을 생성해주는 객체라고 생각하면 된다. Sequence 는 다음과 같이 명령어를 통해 생성할 수 있다. CREATE SEQUENCE seq_user_id INCREMENT 1 START 1 M..
Postgresql 컬럼 기본값(default) 설정
2023. 10. 5. 23:38
데이터 엔지니어링/Database
PostgreSQL 에서 컬럼을 설정할 때 기본값(default) 에 대해서 정리해보려고 한다. 기본값 (default) 이란 PostgreSQL 에서 컬럼의 Default 는 해당 컬럼에 데이터를 삽입할 때 명시적으로 값을 제공하지 않을 때 사용되는 기본값을 정의하는데 사용된다. 쉽게 말해서 어떠한 동작을 하지 않을 때 기본적으로 Default 에 명시된 값이 들어간다는 말이다. 예를 들어 Default 는 다음과 같이 설정할 수 있다. CREATE TABLE test_table ( id serial PRIMARY KEY, name VARCHAR(255) DEFAULT '아무개' ); name 에 아무런 값을 등록하지 않으면 '아무개' 라는 값이 들어가게 된다. 그리고 Default 는 다음과 같이 수..
Postgresql 과 MySQL 비교
2023. 8. 10. 21:46
데이터 엔지니어링/Database
stackoverflow developer Survey 2023 에서 개발자들 사용하는 데이터베이스에 대해서 투표한 결과를 보게 되었다. https://survey.stackoverflow.co/2023/ Stack Overflow Developer Survey 2023 In May 2023 over 90,000 developers responded to our annual survey about how they learn and level up, which tools they're using, and which ones they want. survey.stackoverflow.co 투표 결과를 확인해보니 대략 7만 5천명의 개발자분들이 투표해주셨고 그 결과는 다음과 같았다. 전체 결과를 확인해보니 Po..