분류 전체보기 261

[PostgreSQL] role "rolename" cannot be dropped because some objects depend on it

psql 접속 후 \du 입력 시 users의 역할이 출력된다.사용하지 않는 것을 정리하고자 역할을 삭제하려 했다. 그런데 에러가 발생하였다. username1의 role을 삭제할 때 발생한 'some objects depend on it'라는 에러는 해당 role이 특정 객체(ex. 데이터베이스)에 대한 권한을 가지고 있을 때 발생한다.이러한 경우에는 다음과 같이 해결하면 된다. 1. 데이터베이스 접속'drop role username1'을 입력했을 때 발생한 에러에서 데이터베이스 username2의 권한이라는 세부사항(DETAIL: privileges for database username2)이 있었다. 그 말인즉슨, username2가 username1의 role을 제어할 수 있다는 것이다. 그러므..

Database/PostgreSQL 2024.10.12

[Linux] vi 모드에서 파일 내 특정 라인으로 이동하기

vi 모드에서 어떠한 파일 내 특정 라인으로 이동하려면 다음과 같이 입력하면 된다. 예를 들어, aaa.txt를 vi로 열어 line 15로 이동하고 싶다.1. aaa.txt을 vi 모드로 열기vi aaa.txt 2. line 15로 이동하기15 입력 후 shift + g 누르기이때, 콜론(:)은 입력하지 않는다.>결과 line 15로 이동한 것을 좀더 확실히 확인하려면 다음 명령어를 입력하면 된다.:set nu

OS/Linux 2024.10.11

[PostgreSQL] 권한 부여 및 제거

권한 부여데이터베이스에 대한 권한 부여-- 접속 권한GRANT CONNECT ON DATABASE 데이터베이스명 TO 계정명;-- 객체 생성 권한GRANT CREATE ON DATABASE 데이터베이스명 TO 계정명;-- 모든 권한GRANT ALL PRIVILEGES ON DATABASE 데이터베이스명 TO 계정명; 테이블에 대한 권한 부여-- 조회 권한GRANT SELECT ON TABLE 테이블명 TO 계정명;-- 삽입 권한GRANT INSERT ON TABLE 테이블명 TO 계정명;-- 수정 권한GRANT UPDATE ON TABLE 테이블명 TO 계정명;-- 삭제 권한GRANT DELETE ON TABLE 테이블명 TO 계정명;-- 모든 권한GRANT ALL PRIVILEGES ON ALL TAB..

Database/PostgreSQL 2024.09.12

[VMware/Error] 잘 실행되던 VM이 갑자기 열리지 않을 때

한동안 쓰지 않던 VM을 사용하려고 켰는데 어떤 팝업창이 뜨면서 켜지지 않았다.Error while powering on: 다른 프로세스가 파일의 한 부분을 잠갔으므로, 프로세스가 해당 파일을 액세스할 수 없습니다Cannot open the disk 'C:\Users\사용자계정명\Documents\Virtual Machines\VM이름\VM이름.vmdk' or one of the snapshot disks it depends on.Module 'Disk' power on failed.Failed to start the virtual machine. 위 에러는 다른 프로세스가 VM의 vmdk 파일을 잠가서 발생하는 에러이다. 이를 해결하는 방법은 간단하다.에러팝업에 작성된 경로로 들어가 .vmdk.lck로..

VMware 2024.09.12

[Java/Error] 서버 기동 시 발생하는 log4j 에러(라이브러리 버전 충돌)

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.logging.log4j.util.LoaderUtil.newCheckedInstanceOfProperty(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; at org.apache.logging.log4j.core.util.Loader.newCheckedInstanceOfProperty(Loader.java:338) at org.apache.logging.log4j.core.impl.Log4jContextFactory.createContextSelector(Log4jContextFactory.java:98) ..

[Java/Error] OutOfMemoryError: unable to create new native thread

프로그램 테스트를 하다가 다음의 에러가 발생하였다.14:25:10.187 [http-nio-8085-exec-8] WARN io.netty.channel.AbstractChannel - Force-closing a channel whose registration task was not accepted by an event loop: [id: 0xc83c8a8c]java.lang.OutOfMemoryError: unable to create new native thread at java.lang.Thread.start0(Native Method) ~[?:1.8.0_265] at java.lang.Thread.start(Thread.java:717) ~[?:1.8.0_265] ..

[Oracle] 테이블 스페이스(Table Space) 변경

솔루션 릴리즈 파일을 설치 및 테스트를 위해 오라클에서 데이터베이스와 계정을 새로 생성했다.해당 DB로 설치한 후 테스트를 하는데 계속 테이블 스페이스가 부족하다는 에러가 발생했다.그래서 현재 세션에서 사용 중인 테이블 스페이스를 조회했다.SELECT tablespace_nameFROM dba_segmentsWHERE owner = USER;위 쿼리로 조회했더니 테이블 스페이스 용량이 매우 작은 것으로 할당되어 있었다. DB 생성할 때 테이블 스페이스를 용량 큰 걸로 지정해놓은 줄 알았는데 제대로 설정되지 않았다. 테이블과 인덱스의 테이블 스페이스를 변경하는 쿼리는 다음과 같다. - 테이블의 table space 변경 쿼리ALTER TABLE 테이블명 MOVE TABLESPACE USERS; - 인덱스의..

Database/Oracle 2024.09.02

[Unix] homebrew 설치(mac os)

맨날 Linux에서 systemctl 명령어 사용해서 프로그램 기동하다가 Unix에는 systemctl 명령어가 없어서 찾아보니까 brew 명령어를 사용해야 한다고 한다. brew 명령어는 homebrew라는 프로그램을 설치하여 사용할 수 있다. ( https://brew.sh/ko/ ) homebrew란 macOS용 패키지 관리자로, 소프트웨어 패키지를 쉽게 설치하고 관리할 수 있도록 도와주는 역할을 한다.간편한 설치: 복잡한 설치 과정을 단순화하여 명령어 한 줄로 소프트웨어를 설치할 수 있다.의존성 관리: 필요한 라이브러리나 패키지를 자동으로 관리한다.커뮤니티 지원: 많은 오픈소스 패키지가 homebrew를 통해 제공되며, 사용자들이 쉽게 접근할 수 있다. homebrew 설치 명령어/bin/bash..

OS/Unix 2024.08.26

[Unix/Error] Mac 터미널에서 Operation not permitted 에러 발생

맥에서 PostgreSQL 16을 설치하다가 소유자 변경해야 할 일이 생겨 chown 명령어를 사용하였는데, Operation not permitted(허가받지 않은 작업) 에러가 발생하였다.찾아보니 이는 Mac OSX의 시스템 통합 보호(SIP, System Integrity Protection) 때문에 발생하는 문제라고 하여 터미널에 대한 전체 디스크 접근 권한을 ON으로 변경하는 작업을 했다. 1. 좌측 상단의 사과 클릭 -> 시스템 설정 클릭 -> 개인정보 보호 및 보안 클릭 -> 전체 디스크 접근 권한 클릭 2. 터미널을 on으로 변경 이렇게 하면 소유자 변경이 될 줄 알았으나 Operation not permitted 에러는 여전히 발생하였다. 다시 찾아봤더니 root가 아닌 계정으로 소유자 ..

OS/Unix 2024.08.25