프로그래밍/DB
-
postgreSQL 데이터 디렉토리 변경프로그래밍/DB 2018. 3. 2. 16:15
Ubuntu 에서 postgreSQL 데이터 디렉토리 변경하기 서버 OS : Ubuntu postgreSQL : 9.6.6 1. 현재 데이터 디렉토리 위치 확인 # psql -U postgres -d dbname -WPassword for user postgres:psql (9.6.6)Type "help" for help. dbname# show data_directory; data_directory--------------------------- /var/lib/postgresql/9.6/main(1 row) 2. 기존 데이터 디렉토리를 새로운 디렉토리로 변경하거나 복사하기 #cp -rf /var/lib/postgresql/9.6/main /home/newdirectory/ 3. postgresql 설..
-
phppgAdmin에서 postgreSQL 데이터베이스 복사하기 & 에러 처리프로그래밍/DB 2018. 2. 20. 17:27
phpPgAdmin 에서 create database를 선택하여 postgresSQl 데이터베이스를 복사하려고 하였다. create database를 클릭하면 아래와 같이 템플릿을 선택할 수 있다. 아래는 템플릿 선택에 대한 설명이다. CREATE DATABASE는 실제로 기존 데이터베이스를 복사한다. 기본적으로 template1이라는 표준 시스템 데이터베이스를 복사한다. 따라서 해당 데이터베이스는 새 데이터베이스를 만드는 "템플릿"이다. 객체를 template1에 추가하면, 이 객체는 나중에 생성된 사용자 데이터베이스로 복사된다. 이 작업은 데이터베이스의 표준 객체 집합에 대한 사이트-로컬 수정을 가능하게 한다. 예를 들면, template1에서 프로시저 언어 PL/Perl을 설치하는 경우 해당 데이터..
-
Waiting for table metadata lock 대처방법프로그래밍/DB 2017. 12. 25. 00:48
간혹 테이블을 수정하려고 할 때 이상하게 오래 걸려서 show processlist를 쳐보면 작업의 status가 Wating for table metadata lock 일 경우가 있습니다. 말 그대로 현재 metadata 가 lock이 걸려있는 상태라서 작업이 수행되지 못하고 있는 상태인데 이것을 해결하기 위해서는 lock이 걸려있는 process를 강제로 종료하면 됩니다. 일단 mysql command 창에서 show full processlist를 쳐서 전체 프로세스를 확인하고 현재 오래 걸리고 있는 process id 이전에 있는 프로세스들 중 의심이 가는 프로세스를 kill process id 를 쳐서 종료시킵니다. 아래와 같이 기존 프로세스를 종료시켰더니 곧바로 변경사항이 수정되었습니다. my..