Cute Happy Ghost
본문 바로가기
728x90
SMALL

DB47

[dbeaver] tibero 드라이버 설치하고 연결하기 1.티베로는 기본 데이터베이스에 없어서 추가를 해줘야한다 데이터베이스>드라이버관리자 클릭 2. New클릭 3. Settings탭의 Tibero 드라이버 세팅하기Driver Name : TiberoClass Name : com.tmax.tibero.jdbc.TbDriverURL Template : jdbc:tibero:thin:@{host}[:{port}]:{database}example : jdbc:tibero:thin:@127.0.0.1:8629:tibero_sid Default Port : 8629 위 예시를 보고 세팅해준다 4. 라이브러리에 드라이버파일추가 나는 c드라이브/lib에 넣어놨으니 경로들어가서 파일추가해주고 확인클릭 5.이제 데이터베이스에 티베로가 추가되어있을것이다 Url과 접속정보입력하.. 2023. 7. 26.
[postgresql]geometry 컬럼 데이터 update하기 헷갈려서 적는.. geom속성으로 바꿔주시위해서는 ST_GEOMFROMTEXT를 사용하여 바꿔주면 된다 UPDATE TableA SET GEO = ST_GEOMFROMTEXT('POINT(128 37)', 4326) WHERE TEST_ID = 1 2022. 11. 10.
[postgresql]데이터베이스 용량확인, 스키마 별 용량확인 PostgreSQL에서 (테이블, 스키마, 테이블 스페이스) 등의 DB 용량 조회하기 위한 SQL문이다. [데이터베이스 총 용량 확인] select datname, pg_size_pretty(pg_database_size(datname)) from pg_database; [테이블 스페이스 총 용량 확인] select spcname, pg_size_pretty(pg_tablespace_size(spcname)) from pg_tablespace; [DB의 전체 스키마 조회] select nspname from pg_catalog.pg_namespace pn; [DB의 전체 테이블 조회] select tablename from pg_tables; [스키마 용량 조회] --스키마 사이즈 반환하기 위한 세팅 C.. 2022. 9. 27.
[PostgreSQL] 테이블 정의서 쿼리 맨 아래 스키마명만 자신의 스키마명으로 바꿔주면 됨 select T.table_catalog as "db명" , T.table_schema as "스키마명" , T.table_name as "테이블ID" , coalesce((select PD.DESCRIPTION from PG_STAT_USER_TABLES PS , PG_DESCRIPTION PD where PS.RELNAME = T.table_name and PS.schemaname = T.table_schema and PS.RELID = PD.OBJOID and PD.OBJSUBID = 0 ), 'NULL' ) as "테이블명" , T.ordinal_position as "컬럼순서" , T.column_name as "컬럼ID" , coalesce(.. 2022. 8. 30.
[postgresql] loop문, 반복문, 테이블의 loop문, loop문에서 select하여 insert하기 원하는 쿼리 airborne(측정지점)의 각 fclt_sn(측정시설)가 갖고있는 가장 작은값의 airb_sn(측정지점 일련번호)를 가져와airb_sn만큼 loop를 돌리고, 2022-08-16 09:00부터 2022-08-17 00:00까지 1분단위로 측정시간대를 설정해준다 문제 및 해결 '행에 있는 루프의 루프 변수는 레코드 변수이거나 스칼라 변수의 목록이어야 함'이라는 오류가 떠서 declare로 int변수를 설정해줌 최종쿼리 do $$ declare airb int; begin for airb in select min(airb_sn) from airborne group by fclt_sn loop INSERT INTO msur_info_sku_ab_1 (airb_sn ,msur_date) selec.. 2022. 8. 16.
trim, prefix, prefixoverrides, suffix,suffixOverrides prefix : 실행될 쿼리의 문 안에 쿼리 가장 앞에 붙여준다. UPDATE board username=#{username},password=#{password} prefixOverrides : 실행될 쿼리의 문 안에 쿼리 가장 앞에 해당하는 문자들이 있으면 자동으로 지워준다. SELECT * FROM board WHERE id = #{id} OR TT LIKE '%' || #{searchContent} || '%' suffix : 실행 될 쿼리의 문 안에 쿼리 가장 뒤에 붙여준다. suffixOverrides : 실행될 쿼리의 문 안에 쿼리 가장 뒤에 해당하는 문자들이 있으면 자동으로 지워준다. 2022. 8. 9.
[postgresql] 현재시간, 시간 yyyy-mm-dd hh24:mi:ss 등으로 포맷하여 변환하기, interval 사용하여 현재시간보다 10분전 조회 내가 원하는 것: 현재 시간의 분까지의 데이터를 조회하는 것 예 : 2022-08-04 11:30의 데이터를 조회하기, 현재시간을 원하는 형태로 포맷하여 조회 select to_timestamp('2013-11-24 11:29:87', 'YYYY-MM-DD HH24:MI'); select to_timestamp(now()::varchar, 'YYYY-MM-DD HH24:MI'); 예: 현재시간보다 10분전의 시간 to_timestamp((now() - interval '10 minute')::varchar, 'YYYY-MM-DD HH24:MI') 참고ref https://stackoverflow.com/questions/20180460/how-to-convert-yyyymmddhhmmss-to-2013-.. 2022. 8. 4.
[postgresql]generate_series를 활용해 해당 날짜로 더미데이터 만들기 더미데이터를 만들어야되는데 조건이 필요했다 date는 1분 간격으로 들어와야하고, 데이터는 각각 해당하는 범위의 숫자여야했다 generate_series를 활용해 2022-08-02 5시부터 2022-08-02 5:10까지 30초 간격으로 넣어주는 쿼리문 예시 insert into test (test1,test2) select series as no , substr('가나다라마바사아자차카타파하ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890', trunc(random() * 40)::integer + 1, trunc(random() * 10)::integer) as content from generate_series('2022-08-02 17:00'::timestamp, '2022-08-.. 2022. 8. 3.
[postgresql]해당 범위의 랜덤한 숫자를 소수점 둘째자리수까지 뽑기, How to Generate a Random Number in a Range 0과 1 사이의 난수를 반환하는 함수 SELECT random(); 두 정수 A와 B사이의 난수 생성하기 SELECT floor(random() * (A-B+1) + B)::int; 나는 300에서 900까지의 소수점두자리수의 랜덤한 숫자를 뽑고 싶었기때문에 round(cast(random() * (400-300+1) + 300 as numeric),2) 이런식으로 만들어주었다 음 잘 뜨는군 참고 ref https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-random-range/ How to Generate a Random Number in A Range Summary: this tutorial shows you how to develop.. 2022. 8. 3.
[postgresql] table join하여 여러개 행 update, select하여 여러칼럼 update layer_test에 있는 xy(위경도)값을 tableA에 있는 lat,lot으로 넣어줘야했다 데이터 한두개면 select하여 update로 수정하면 되는데 생각보다 많아서 join하여 update하는 방법을 썼다 UPDATE..SET..FROM ..WHERE..문을 쓰면 된다 여러개의 컬럼을 update하고싶을때도 ,(콤마)로 구분해줘서 실행하면 된다 UPDATE tableA AS t SET lat = lt.y , lot = lt.x FROM layer_test AS lt WHERE t.sn = lt.sn ; 2022. 6. 24.
728x90
LIST