나중에 정리

1. 주의할 사항

 - 한글 검색을 위해 collate, ctype을 'C' 로 해 줘야 함

2. 설치

docker run -d -p 15432:5432 --name postgres -e POSTGRES_PASSWORD=postgres postgres:14.2

docker exec -it postgres bash

3. 새로운 db 생성

실행 계정 변경

su - postgres

 

옵션 U : 사용자, 옵션 d : 데이터베이스

psql -U postgres -d postgres

 

CREATE DATABASE jwt
WITH OWNER = postgres
ENCODING = 'UTF8'
TEMPLATE = template0
TABLESPACE = pg_default
LC_COLLATE = 'C'
LC_CTYPE = 'C'
CONNECTION LIMIT = -1;

 

나중에 정리 하자... 귀찮아.

 

CREATE EXTENSION postgis;

실행시 아래 오류 발생

ERROR:  could not open extension control file "/usr/share/postgresql/14/extension/postgis.control": No such file or directory

 

'DB > postgres' 카테고리의 다른 글

2024년 공간정보업계 오픈소스GIS 공동 교육  (0) 2024.01.17
Posted by gt1000

1. 설정시 유의 사항

  • 기본 charset을 utf8 또는 utf8mb4 등으로 설정하여 한글이 저장될 수 있도록 해야 함
  • Timezone을 GMT+9 로 해야 하나?
  • 사용자, 접속 IP 관련 세팅

2. docker run을 이용하는 방법

  • 개발을 할때는 latest 보다는 버전을 명시적으로 지정해 줘야 함
  • docker -d(detach) 옵션은 컨테이너 내부에서 나와도 컨테이너가 실행 중이나 attach 명령어는 컨테이너 배부에서 나오면 컨테이너가 종료됨
  • docker run -d -p 3306:3306 --name jwt -e MARIADB_USER=test -e MARIADB_PASSWORD=test -e MARIADB_ROOT_PASSWORD=test  mariadb:10.7.3
  • 기동시 db 인스턴스를 생성해 주지 않은 이유는 econding 관련 설정을 해 주고 생성하기 위함
    -e를 주고 해도 될거 같은데, mariadb 전체 설정을 바꾸고 하기 위함

3. mariadb 접속

  • docker exec -it jwt bash
  • mysql 접속
    mysql -u root -p
  • 이렇게 할 경우 mysql command not found 오류가 나는 경우가 있다.
    이걸 못 해결해서 한참을 삽질 했다.
    mysql 로 접속 하기 위해서는 mysql-client 를 설치 해야 한다.
  • sudo apt update
    sudo apt install mysql-client
  • status 를 해 보면, encoding 이 잘못 세팅 된걸 확인 할 수 있음

4. mysql 설정 수정

  • 왜 디렉토리 이름이 mysql 이고, 설정 파일이 my.cnf 일까 생각해 봤는데....
    아마 mysql 에서 fork 로 개발을 시작해서 그러지 않을까 싶다.
  • vi 편집기 설치를 위해
    apt-get update
    apt-get install vim
  • /etc/mysql/my.cnf 파일 편집
# 이 부분을 추가한다.
[mysqld]
skip-character-set-client-handshake
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

# mysql 5.5 부터는 아래 옵션이 없어도 된다고 함
# [client]
# default-character-set = utf8
# [mysql]
# default-character-set = utf8
# [mysqldump]
# default-character-set = utf8

5. docker container 중지, 재시작

  • docker container stop jwt
  • docker container start jwt

6. mysql 접속 해서 econding 확인

  • docker exec -it jwt bash
  • mysql -u root -p
  • status

7. db 인스턴스 생성

  • create database jwt;

8. 사용자 로컬, DB 접속 권한 부여

  • 툴을 이용하여 지금 생성한 test 계정으로 jwt 에 접속을 하면 권한이 없다고 나옴
  • root 로 해보면 잘 접속 되는 것을 확인 할 수 있음
  • mysql 데이터 베이스의 user 뷰에 update 를 해 줘야 함
  • mysql -u root -p 접속 후 아래 sql을 실행.
    jwt 데이터 베이스의 모든 권한을 test 계정에게 주겠다는 의미임. 실제 운영에서 이렇게 하면 안됨.
    개발이기 때문에 모든 권한을 줌

MariaDB > grant all privileges on jwt.* to 'test'@'%';
MariaDB > flush privileges;

9. 툴을 이용하여 재 접속 성공

Posted by gt1000

2022. 3. 8. 02:58 python

함수

  • 1 IPython 에서 탭으로 자동 완성
    • 이름의 일부만 입력하고 Tab을 누르면 리스트를 표시
  • 함수 docstring
    • 함수명 뒤에 ? 를 입력하고 Ctrl + Enter 를 치면 docstring 이 표시됨
  • *
    • 나머지 인자들을 튜플로 묶어서 함수 매개변수로 넘기라는 지시
  • 함수 인자로 이터러블의 각 원소 전달하기
    • * 이터러블의 각 요소를 언패킹
  • 함수에서 글로벌 변수 사용하기
    • 변수의 값은 접근 할 수 있으나 수정할 수 없음
    • 변수 값을 수정하기 위해서는 global 이라는 키워드를 사용
  • 함수 가리기
    • sum 같은 함수 이름을 변수로 사용하면 함수가 동작하지 않음

 

Posted by gt1000

블로그 이미지
gt1000

태그목록

공지사항

어제
오늘

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함