본문 바로가기

반응형

DB(SQL)

(71)
[mariadb] CONVERT_TZ 사용 (feat. null return) https://mariadb.com/kb/en/convert_tz/ syntax CONVERT_TZ(dt,from_tz,to_tz) CONVERT_TZ()는 datetime 값 dt 를 from_tz 가 제공하는 시간대에서 to_tz 가 제공하는 시간대로 변환 하고 결과 값을 반환합니다. tz에는 '+09:00' 이나 'America/New_York' 등을 넣을 수 있다. example SELECT CONVERT_TZ('2016-01-01 12:00:00','+00:00','+10:00'); +-----------------------------------------------------+ | CONVERT_TZ('2016-01-01 12:00:00','+00:00','+10:00') | +-------..
[PostgreSQL] How to select the first observation in a category in PostgreSQL select distinct on(dataid, date_trunc('day', readtime)) * from university.gas_ert where readtime between '2014-01-01' and '2014-01-02' order by dataid, date_trunc('day', readtime) asc https://stackoverflow.com/questions/53604529/how-to-select-the-first-observation-in-a-category-in-postgresql How to select the first observation in a category in PostgreSQL My table contains different house IDs(dat..
[mariadb] text type default null https://jira.mariadb.org/browse/MDEV-15407 [MDEV-15407] DEFAULT NULL forced when no DEFAULT set on NULL-able column - Jira Now this starts to smell. If a column is defined as NULL-able, 10.2 will automatically append DEFAULT NULL to create statements. 10.2 `description` text COLLATE utf8_bin DEFAULT NULL 10.0 `description` text COLLATE utf8_bin Originally the column does not h jira.mariadb.org 예..
[DB] 로그파일 분할 (feat. Docker) docker 로 db를 돌릴 경우 보통 기본적으로 설치되어있는 logrotate 가 없어 로그가 분할이 안될 수 있다 그러면 어마무시하게 큰 로그파일을 만나게 되며.. 확인이 불가능하다;; ubuntu 18.04 apt install logrotate logrotate는 crontab으로 돌아가기 때문에 crontab도 없다면 isntall 당시 crontab도 같이 install 해야한다고 같이 설치할꺼냐고 물어본다. https://www.manualfactory.net/10547 Ubuntu 16.04 / logrotate 설치하고 설정하기 로그 파일 우분투(Ubuntu)는 여러 작업의 내용을 로그(Log) 파일로 남깁니다. 예를 들어 웹서버 운영과 관련된 로그는 /var/log/apache2에 있습..
[MariaDB] 외부접속시 TLS/SSL 활성화 (feat. OpenSSL) 재직하고 있는 회사에서 한 서버에 api 서버와 db 서버가 같이 있어 보안에 별로 신경을 안 썼다. 하지만 회사가 조금 커지고 서버도 더 사주셔서 웹서버와 db 서버가 실질적으로 분리되었고, 보안에 조금씩 신경 쓰게 되었다. 첫 번째로 설정한 것이 TLS/SSL 통신이다. 테스트 환경 ubuntu 18.04 MariaDB 10.5.13 TLS 설정이 필요한 이유 요약 : 기본값으로 암호화 통신을 안 해서 트래픽 탈취 등의 보안 문제가 발생할 수 있다. 기본적으로 MariaDB는 암호화하지 않고 서버와 클라이언트 간에 데이터를 전송합니다. 이는 서버와 클라이언트가 동일한 호스트에서 실행되거나 다른 수단을 통해 보안이 보장되는 네트워크에서 실행될 때 일반적으로 허용됩니다. 그러나 서버와 클라이언트가 별도의..
[SQL] where 절 작성시 조심해야하는 것 (feat. null) 1. = != 은 null을 포함하지 않는다. (does not contain null) 아래 예시처럼 where 절은 null을 포함하지 않는다. null을 포함하고 싶으면 NVL로 처리를 한번 하거나 or 절로 처리해주어야 한다. test Table ================== a | b | c ================== 1 | ㄱ | A 2 | null | B 3 | ㄷ | B 4 | ㄹ | null 5 | null | A 6 | null | B select * from test where b != 'ㄱ'; result ================== a | b | c ================== 3 | ㄷ | B 4 | ㄹ | null https://gent.tistory.co..
[Mariadb] event scheduler 설정하기 이벤트 스케줄러 설정 확인 SHOW VARIABLES WHERE VARIABLE_NAME = 'event_scheduler'; 이벤트 스케줄러 사용 ON 설정 (임시) SET GLOBAL event_scheduler = ON; 데이터베이스가 재시작되거나 하면 설정값이 날라간다. 이벤트 스케줄러 사용 ON 설정 (영구) mraidb 설정 파일 (버전 및 install 환경에 따라 달라질 수 있다. # mraidb 설정 파일 변경(버전 및 install 환경에 따라 달라질 수 있다.) vim /etc/mysql/mariadb.conf.d/50-server.cnf # [50-server.conf] [mariadb] # event_scheduler 속성 추가 또는 ON event_scheduler = on # ..
[DB] MySQL에서 'a' = 'a '가 true로 평가된다? https://techblog.woowahan.com/2559/?fbclid=IwAR2IWLFLA6auE1lQYxkAwVYRh6k9O27taGkF7eICQmtoLDYjLvI1sZkgvTQ MySQL에서 ‘a’ = ‘a ‘가 true로 평가된다? | 우아한형제들 기술블로그 {{item.name}} DB 알못의 어떤 리서치 개요 안녕하세요 기계인간 이종립입니다. FC플랫폼개발팀에서 배민찬 백엔드를 개발하고 있습니다. DB알못인 저는 업무 중에 우연히 MySQL에서 'a' = 'a '의 결과가 techblog.woowahan.com https://dev.mysql.com/doc/refman/5.6/en/char.html MySQL :: MySQL 5.6 Reference Manual :: 11.3.2 The ..

반응형