사용자 도구

사이트 도구


postgresql

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
postgresql [2016/10/14 12:46]
gsjung 만듦
postgresql [2021/04/13 06:54] (현재)
줄 1: 줄 1:
-더 편한데 유저 개념은 좀 달라서 잘 모르겠다...+===== Postgresql ===== 
 +그냥 도커 쓰자 
 +docker-compose.yml 
 +<code> 
 +version: '2' 
 +services: 
 +  postgres: 
 +    image: postgres 
 +    container_name: <YOUR_CONTAINER_NAME> 
 +    environment: 
 +      - POSTGRES_PASSWORD=<YOUR_PASSWORD> 
 +      - POSTGRES_INITDB_ARGS=--encoding=UTF-8
  
-일단 mysql처럼 설정폴더와 데이터폴더가 나뉘어있다.+    expose: 
 +      - '54321' 
 +    ports: 
 +      - '54321:5432' 
 +    volumes: 
 +      - ./data:/var/lib/postgresql/data 
 +      - ./home:/home 
 +    restart: always 
 +    </code> 
 +     
 +Windows 
 +<code> 
 +version: '2' 
 +services: 
 +  postgres: 
 +    image: postgres 
 +    container_name: <YOUR_CONTAINER_NAME> 
 +    environment: 
 +      - POSTGRES_PASSWORD=<YOUR_PASSWORD> 
 +      - POSTGRES_INITDB_ARGS=--encoding=UTF-8 
 +    expose: 
 +      - '54321' 
 +    ports: 
 +      - '54321:5432' 
 +    volumes: 
 +      - pgdata:/var/lib/postgresql/data 
 +      - ./home:/home 
 +    restart: always 
 +   
 +volumes:  
 +  pgdata: 
 +</code> 
 +더 편한데 유저 개념은 좀 달라서 잘 모르겠다...  
 + 
 +오히려 리눅스의 유저의 사용권한(RW)에 더 가까운 형태 
 + 
 +http://dba.stackexchange.com/questions/56576/postgresql-user-permissions 
 + 
 +일단 mysql와 마찬가지로 설정폴더와 데이터폴더가 나뉘어있고 이를 적절히 활용하여야한다.
  
 데이터폴더 기본값: /var/lib/postgresql/... 데이터폴더 기본값: /var/lib/postgresql/...
줄 7: 줄 56:
 설정폴더 기본값: /etc/postgresql/... 설정폴더 기본값: /etc/postgresql/...
  
-하 빌어먹을 맥은 저게 달라+맥은 위치가 다르다.
  
  
줄 18: 줄 67:
 연결가능하게 설정한 뒤 연결가능하게 설정한 뒤
 디비를 백업한다. 디비를 백업한다.
 +
 +
 +==== 데이터베이스 마이그레이션 ====
 +Django DB를 SQLite에서 Postgresql 로 바꾸려고 함.
 +
 +
 +먼저 [[https://gist.github.com/sirodoht/f598d14e9644e2d3909629a41e3522ad|이 방법]] 을 해볼 것.
 +
 +안되면 도커로 ruby를 설치해서 위 링크의 @abitarn의 답변을 수행하자.
 +
 +%%sqlite://%% 까지가 프로토콜이다.
 +
 +사용했던 docker-compose.yml
 +
 +<code>
 +version: '3'
 +
 +services:
 +    ruby:
 +        container_name: ruby-translate-db
 +        image: ruby
 +        volumes:
 +            - ..:/home
 +        stdin_open: true
 +        tty: true
 +        network_mode: "host"
 +</code>
 +
 +연결 끊기
 +<code>
 +SELECT pg_terminate_backend(pg_stat_activity.pid)
 +FROM pg_stat_activity
 +WHERE pg_stat_activity.datname = 'TARGET_DB' -- ← change this to your DB
 +  AND pid <> pg_backend_pid();
 +</code>
  
postgresql.1476449212.txt.gz · 마지막으로 수정됨: 2021/04/13 06:54 (바깥 편집)