목록전체 글 (69)
꾸준한 개발일기
웹 서버에서 배치서버로 connection할 때 오류가 발생했다. Caused by: org.postgresql.util.PSQLException: FATAL: sorry, too many clients already at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:433) ~[postgresql-9.4.1208.jar:9.4.1208] at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:208) ~[postgresql-9.4.1208.jar:9.4.1208] at org.p..
배치서버에서 기능이 돌아가는데 버퍼링이 걸리는 오류가 발생했다. 처음엔 ui 서버에서 배치서버로 넘어가는 데에 로딩이 걸리는 줄 알았지만 로그를 확인해보니 스케쥴러에서 발생한 오류였다. 기능이 동작된 이후에 찍힌 로그의 타임라인을 확인하니 현재 시간과 차이가 있었다. 그리고 이를 해결해보았다. 시간 확인 # timedatectl 리눅스에서 ssh에 timedatectl 명령어로 서버시간을 확인해보았다. 예상대로 8분 차이가 나는 것을 확인할 수 있었다. 자동 시간 동기화 설정 # timedatectl set-ntp 자동 시간 설정 명령어를 입력해 보았지만 먹히지 않았다. 수동 날짜, 시간 설정 # timedatectl set-time "2021-12-02 13:04:10" 수동설정을 해보았더니 서버 시간..
:: psql로 DDL문 추출하기 데이터베이스 테이블에서 geom 컬럼의 데이터 타입이 geometry여야 하는데 character varying으로 설정되어있었다. 원인을 분석하기 위해 DDL을 추출해보았다. 1. ssh에서 psql로 접속한다. https://dev-h2.tistory.com/6 꼭 필요한 psql로 리눅스에서 데이터베이스 연결, 확인하기 웹사이트로 운영서버에 데이터를 적재하고, 이를 확인하기 위해 리눅스를 사용한다. 로컬이나 개발서버에서 처럼 DBeaver(DB 프로그램)를 사용하면 편하겠지만 ssh와 sftp만을 사용하여 관리해야하 dev-h2.tistory.com 2. generate_create_table_statement 함수를 생성한다. 복잡해 보이지만 밑에 코드를 모두 복..
연계 데이터를 csv 파일로 쓰고 이를 DB에 올리는 업무를 맡았다. 그 중 한줄로 나열된 데이터를 분리하여 csv 파일 한 칸에 담는 부분을 구현해보자. 기존 데이터 data1Ðdata2Ðdata3Ðdata4Ðdata5 data1Ðdata2Ðdata3Ðdata4Ðdata5 data1Ðdata2Ðdata3Ðdata4Ðdata5 기존 데이터는 구분자(Ð)로 구분되어있고 속성명이 없었다. 그대로 다운받으면 csv 파일 한칸에 한 라인이 모두 담겼다. append() String path = "C:\Download"; FileOutputStream out = new FileOutputStream (path); // 파일적재 FileWriter fw = new FileWriter(path, false); Str..
웹사이트로 운영서버에 데이터를 적재하고, 이를 확인하기 위해 리눅스를 사용한다. 로컬이나 개발서버에서 처럼 DBeaver(DB 프로그램)를 사용하면 편하겠지만 ssh와 sftp만을 사용하여 관리해야하는 운영서버에서는 psql이 꼭 필요하다. psql은 오직 터미널로 DB 상태를 확인해야 하는 상황에서 사용된다. 먼저, ssh 등 터미널을 실행시킨다. db 연결: psql -h "host" -U "username" -d "dbname" [centos@서버명 ~]$ psql -h xxx.xxx.xxx.xxx -U postgres -d postgres -h를 넣지 않아도 되는 방법이 있지만 -h를 넣으면 환경 셋팅을 해주지 않아도 된다. 그렇기 때문에 이 방법을 애용한다. 위 명령어를 입력하면 아래처럼 뜬다...