데이터베이스 PostgreSQL - 설치

11169 단어 데이터베이스
1.1. 설치하다.
자연스레 PostgreSQL을 사용하기 전에 설치해야 합니다.PostgreSQL은 운영체제의 발표에 포함되거나 시스템 관리자가 설치했을 가능성이 높습니다.만약 그렇다면, 운영체제의 문서나 시스템 관리자로부터 PostgreSQL에 접근하는 방법에 대한 정보를 얻어야 합니다.
PostgreSQL이 설치되어 있는지, 아니면 그것을 사용해서 자신의 실험을 할 수 있는지 모르겠다면, 스스로 설치할 수 있습니다.이렇게 하는 것은 결코 어렵지 않을 뿐만 아니라, 아주 좋은 연습이기도 하다.PostgreSQL은 모든 비특권 사용자가 설치할 수 있으며 루트의 권한이 필요하지 않습니다.
PostgreSQL을 직접 설치할 준비가 되어 있다면, Chapter 16을 참고하여 설치에 대한 정보를 얻고, 설치한 후에 이 가이드북으로 돌아오십시오.가능한 한 적당한 환경 변수 설정에 관한 장절의 정보를 따라야 한다는 것을 명심해야 한다.
만약 사이트 관리자가 부족한 방식에 따라 관련 파라미터를 설정하지 않았다면, 당신은 아직 해야 할 일이 좀 더 있습니다.예를 들어 데이터베이스 서버 기기가 원격 기기라면 PGHOST 환경 변수를 데이터베이스 서버의 이름으로 설정해야 한다.환경 변수 PGPORT도 설정해야 할 수 있습니다.요컨대, 만약 응용 프로그램을 시작하려고 하는데 이 응용 프로그램이 데이터베이스와 연결할 수 없다고 보고할 때, 즉시 데이터베이스 관리자에게 연락해야 한다. 만약 당신이 관리자라면, 환경 변수가 정확하게 설정되었는지 확인하기 위해 문서를 참고해야 한다.만약 네가 뒤의 몇 단락을 이해하지 못한다면, 먼저 다음 절을 읽어라.
1.2. 인프라스트럭처
우리가 계속하기 전에, 당신은 먼저 PostgreSQL의 시스템 구조를 이해해야 합니다.PostgreSQL의 위젯 간의 상호작용에 대한 이해는 이 절을 더욱 쉽게 이해할 수 있다.
데이터베이스 용어에서 PostgreSQL은 클라이언트/서버 모델을 사용합니다.PostgreSQL 세션은 다음과 같은 관련 프로세스(프로그램)로 구성됩니다.
4
  • 데이터베이스 파일을 관리하고 클라이언트 응용과 데이터베이스의 연결을 받으며 클라이언트가 데이터베이스에서 작업을 수행하는 것을 대표하는 서버 프로세스.이 데이터베이스 서버 프로그램은postgres라고 합니다

  • 4
  • 데이터베이스 조작을 수행해야 하는 사용자의 클라이언트(전단) 응용 프로그램.클라이언트 응용 프로그램 자체가 다양할 수 있다. 텍스트를 위한 도구일 수도 있고 도형 인터페이스의 응용일 수도 있다. 데이터베이스에 접근해서 웹 페이지를 표시하는 웹 서버일 수도 있고 특제의 데이터베이스 관리 도구일 수도 있다.일부 클라이언트 애플리케이션은 PostgreSQL 출시와 함께 제공되지만 대부분 사용자가 개발한 것입니다

  • 일반적인 클라이언트/서버 애플리케이션(C/S 애플리케이션)과 마찬가지로 이러한 클라이언트와 서버는 서로 다른 호스트에서 사용할 수 있습니다.이때 TCP/IP 네트워크를 통해 통신을 연결합니다.클라이언트에서 접근할 수 있는 파일이 데이터베이스 서버 기기에서 접근할 수 있는 것은 아니다. (또는 다른 파일 이름으로만 접근할 수 있다.)
    PostgreSQL 서버는 클라이언트에서 여러 개의 동시 요청을 처리할 수 있습니다.따라서 모든 연결을 위한 새로운 프로세스를 시작합니다.이때부터 클라이언트와 새 서버 프로세스는 최초의postgres 프로세스의 간섭을 거치지 않고 통신합니다.따라서 메인 서버 프로세스는 항상 클라이언트의 연결을 실행하고 기다리며 클라이언트와 연결된 서버 프로세스는 시작과 끝을 맺는다. (물론 사용자에게 투명하다. 내용의 완전성을 위한 것이다.)
    1.3. 데이터베이스 만들기
    데이터베이스 서버에 접근할 수 있는지 없는지를 보는 첫 번째 예는 데이터베이스를 만들어 보는 것이다.실행 중인 PostgreSQL 서버는 많은 데이터베이스를 관리할 수 있습니다.일반적으로 우리는 모든 항목과 사용자를 위해 데이터베이스를 단독으로 사용할 것이다.
    사이트 관리자가 사용할 수 있는 데이터베이스를 만들었을 수도 있습니다.만약 이렇게 한다면 너는 이 단계를 생략하고 다음 절로 넘어갈 수 있다.
    새 데이터베이스를 만들려면 이 예에서 mydb라고 하는데 다음 명령을 사용할 수 있습니다.
    $ createdb mydb
    

    아무런 응답이 없으면 이 절차가 성공했음을 의미하며, 이 절의 나머지 부분을 건너뛸 수 있습니다.만약 다음과 같은 정보를 보았다면:
    createdb: command not found
    

    그렇다면 PostgreSQL이 제대로 설치되지 않은 것이다.아예 설치되지 않았거나, 셸 검색 경로가 제대로 설정되지 않았거나.절대 경로를 사용하여 명령을 호출해 보십시오.
    $ /usr/local/pgsql/bin/createdb mydb
    

    당신의 사이트에서 이 경로는 다를 수 있습니다.사이트 관리자에게 연락하거나 설치 가이드를 보고 정확한 위치를 찾으세요.다른 응답은 다음과 같습니다.
    createdb: could not connect to database postgres: could not connect to server:
     No such file or directory
     Is the server running locally and accepting
     connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
    

    이것은 이 서버가 시작되지 않았거나createdb가 예상한 대로 시작되지 않았음을 의미합니다.마찬가지로 설치 가이드를 보거나 관리자에게 문의해야 한다.
    다른 응답은 다음과 같습니다.
    createdb: could not connect to database postgres: FATAL: role "joe" does not
     exist
    

    여기서 당신의 로그인 이름을 언급했습니다.관리자가 PostgreSQL 사용자 계정을 만들지 않으면 이러한 현상이 발생합니다.(PostgreSQL 사용자 계정과 운영 체제 사용자 계정은 다릅니다.)관리자인 경우 Chapter 21을 참조하여 사용자 계정을 만드는 데 도움이 됩니다.PostgreSQL을 설치한 운영체제 사용자의 신분이 되어야 첫 번째 사용자 계정을 만들 수 있습니다.PostgreSQL 사용자 이름이 운영체제 사용자 이름과 다를 수도 있습니다.이 경우 - U 옵션을 사용하거나 PGUSER 환경 변수를 사용하여 PostgreSQL 사용자 이름을 지정해야 합니다.
    만약 데이터베이스 사용자 계정이 있지만 데이터베이스를 만드는 데 필요한 권한이 없다면 아래의 정보를 볼 수 있습니다.
    createdb: database creation failed: ERROR: permission denied to create database
    

    모든 사용자가 새 데이터베이스를 만들 수 있는 것은 아닙니다.PostgreSQL이 데이터베이스를 만드는 것을 거부한다면, 사이트 관리자에게 데이터베이스를 만드는 권한을 부여해야 합니다.이런 상황이 발생하면 사이트 관리자에게 문의하세요.PostgreSQL을 직접 설치했다면 데이터베이스 서버를 시작하는 사용자로 로그인한 다음 매뉴얼을 참고하여 권한 부여 작업을 완성해야 합니다.
    너는 또 다른 이름으로 데이터베이스를 만들 수 있다.PostgreSQL은 한 사이트에 임의의 데이터베이스를 만들 수 있도록 합니다.데이터베이스 이름은 63자 이하로 시작해야 합니다.현재 사용자 이름과 같은 이름의 데이터베이스를 만드는 것이 편리합니다.많은 도구들이 이 데이터베이스 이름이 데이터베이스 이름이 부족하다고 가정하기 때문에, 이렇게 하면 당신의 키를 절약할 수 있다.
    이러한 데이터베이스를 만들려면 다음을 입력하십시오.
    $ createdb
    

    만약 네가 다시는 너의 데이터베이스를 사용하고 싶지 않다면, 너는 그것을 삭제할 수 있다.예를 들어 데이터베이스 mydb의 모든 사람(창설자)이라면 다음 명령으로 삭제할 수 있습니다.
    $ dropdb mydb
    

    (이 명령에 대해 말하자면 데이터베이스 이름은 부족한 사용자 이름이 아니기 때문에 반드시 그것을 성명해야 한다).이 동작은 물리적으로 이 데이터베이스와 관련된 모든 파일을 삭제하고 취소할 수 없기 때문에 이 동작을 하기 전에 반드시 잘 고려해야 한다.
    더 많은createdb와dropdb에 대한 정보는 각각createdb와dropdb에서 찾을 수 있습니다.
    1.4. 데이터베이스 액세스
    데이터베이스를 만들면 다음과 같은 방법으로 액세스할 수 있습니다.
    4
  • PostgreSQL을 실행하는 인터랙티브 터미널 프로그램입니다. psql라고 불리며, 인터랙티브 SQL 명령을 입력하고 편집하며 실행할 수 있습니다

  • 4
  • pgadmin이나 ODBC나 JDBC가 지원하는 사무용 세트를 사용하여 데이터베이스를 만들고 관리한다.이런 방법은 이 강좌에서 소개하지 않았다

  • 4
  • 다양한 귀속 발행 언어 중 하나를 사용하여 사용자 정의 응용 프로그램을 쓴다.이러한 가능성은 Part IV에서 좀 더 심도 있는 논의가 있을 것입니다

  • 이 강좌의 예를 시험하기 위해서 psql을 시작해야 할 수도 있습니다.다음 명령을 사용하여 mydb 데이터베이스를 활성화할 수 있습니다.
    $ psql mydb
    

    만약 데이터베이스 이름을 제공하지 않는다면, 그 부족한 값은 사용자의 계정 이름입니다.앞에서createdb를 사용하는 소절에서 이런 방식을 이미 알고 있을 것이다.
    psql에서 다음 환영 메시지를 볼 수 있습니다:
    psql (11.2)
    Type "help" for help.
    mydb=>
             :
    mydb=#
    

    이 알림부호는 데이터베이스 슈퍼 사용자임을 의미하며, PostgreSQL을 설치한 경우에 가장 많이 나타날 수 있습니다.슈퍼유저로서 접근 제어의 제한을 받지 않는다는 것을 의미한다.이 강좌의 목적에 대해 말하자면 슈퍼유저 여부는 중요하지 않다.
    만약 psql을 시작할 때 문제가 발생했다면, 앞의 소절로 돌아가십시오.createdb를 진단하는 방법은 psql을 진단하는 방법과 유사하며 전자가 실행할 수 있다면 후자도 실행할 수 있어야 한다.
    psql에서 출력한 마지막 줄은 알림 문자입니다. 이것은 psql이 당신의 말을 듣고 있음을 나타냅니다. 이 때 SQL을 눌러서 psql 유지보수 작업 영역에 조회할 수 있습니다.다음 명령을 시험해 보십시오.
    mydb=> SELECT version();
     version
    ------------------------------------------------------------------------------------------
     PostgreSQL 11.2 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10)
     4.9.2, 64-bit
    (1 row)
    mydb=> SELECT current_date;
     date
    ------------
     2016-01-07
    (1 row)
    mydb=> SELECT 2 + 2;
     ?column?
    ----------
     4
    (1 row)
    

    psql 프로그램에는 SQL 명령에 속하지 않는 내부 명령이 있습니다.이들은 백슬래시로 시작합니다.\.환영 메시지에 이런 명령들이 열거되어 있다.예를 들어, 다음 명령을 사용하여 다양한 PostgreSQL SQL 명령에 대한 도움말 구문을 가져올 수 있습니다.
    mydb=> \h
    

    psql을 종료하려면 다음을 입력합니다.
    mydb=> \q
    

    psql은 명령행 셸으로 되돌아갈 것입니다.(내부 명령에 대한 정보를 더 얻으려면 psql 알림부호에?를 입력할 수 있습니다.)psql의 전체 기능은 psql에 문서 설명이 있습니다.이 문서에서, 우리는 이러한 특성을 명확하게 사용하지 않겠지만, 너 자신은 필요할 때 그것을 사용할 수 있다.

    좋은 웹페이지 즐겨찾기