PostgreSQL을 시작하는 방법

5956 단어 postgreswebdev
PostgreSQL은 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS)입니다. 이 기사에서는 PostgreSQL을 시작하는 방법을 소개합니다. PostgreSQL의 마더 사이트는 http://www.postgresql.org입니다.

PostgreSQL 설치



터미널에서 아래 명령을 실행하여 Ubuntu에 PostgreSQL을 빠르게 설치할 수 있습니다.

우분투

// Refresh the apt-get repository
$ sudo apt-get update
// Install PostgreSQL
$ sudo apt-get install postgresql postgresql-contrib


PostgreSQL이 설치되었는지 확인하려면 다음 명령을 실행하여 PostgreSQL 버전을 확인하십시오.

postgres --version


다른 사용자는 최신 버전의 PostgreSQLhere을 다운로드하고 설치 단계를 따를 수 있습니다.

시작하기



1. PostgreSQL 서버에 로그인

 $ sudo -u postgres psql
   -- Run command "psql" as UNIX USER "postgres".
   -- Enter the CURRENT SUPERUSER password for sudo.
psql (14.2 (Ubuntu 14.2-1.pgdg21.10+1))
Type "help" for help

postgres=# help
You are using psql, the command-line interface to PostgreSQL.
Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

-- Display version
postgres=# SELECT version();
                                                           version                                                           
-----------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 14.2 (Ubuntu 14.2-1.pgdg21.10+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0, 64-bit

press q to quit display

-- Quit
postgres=# \q


2. 데이터베이스 생성, 테이블 생성, CURD(Create-Update-Read-Delete) 레코드 생성

-- Login to server
$ sudo -u postgres psql
......

-- List all databases via \l (or \list), or \l+ for more details
postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------+----------+----------+-------------+-------------+-----------------------
 testdb    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/postgres         +
           |          |          |             |             | postgres=CTc/postgres+
           |          |          |             |             | python=CTc/postgres
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres

-- Create a new database called testdb
postgres=# CREATE DATABASE testdb;
CREATE DATABASE

-- Connect to testdb database via \c (or \connect)
-- Take note of the change of database name in the command prompt.
postgres=# \c testdb 
You are now connected to database "testdb" as user "postgres".

-- Display all tables (aka relations) via \dt or \dt+ for more details
testdb=# \dt
Did not find any relations.


testdb=# CREATE TABLE IF NOT EXISTS accounts (
    user_id serial PRIMARY KEY, -- AUTO_INCREMENT integer, as primary key
    username VARCHAR ( 50 ) UNIQUE NOT NULL,
    password VARCHAR ( 50 ) NOT NULL,
    email VARCHAR ( 255 ) UNIQUE NOT NULL,
    created_on TIMESTAMP NOT NULL,
        last_login TIMESTAMP 
);

-- Display all tables in the current database, via \dt or \dt+ for more details
testdb=# \dt+
                                     List of relations
 Schema |   Name   | Type  |  Owner   | Persistence | Access method |  Size   | Description 
--------+----------+-------+----------+-------------+---------------+---------+-------------
 public | accounts | table | postgres | permanent   | heap          | 0 bytes | 


-- Quit
testdb=# \q


  • 매번 세미콜론(;) 또는\g로 SQL 명령을 종료해야 합니다. 세미콜론(;)을 입력하지 않은 경우 명령 프롬프트가 "dbname-#"으로 변경되어 계속됨을 나타냅니다. 새 줄에 세미콜론을 입력할 수 있습니다.

  • 명령에 대해 자세히 알아보기
  • \?: 모든 psql 명령을 표시합니다.
  • \h sql-command: SQL 명령의 구문을 표시합니다.
  • \c dbname [username]: 선택적 사용자 이름(또는\connect)을 사용하여 데이터베이스에 연결합니다.

  • 표시 명령: +를 추가하여 자세한 내용을 표시할 수 있습니다.
           - \l: List all database (or \list).
           - \d: Display all tables, indexes, views, and sequences.
           - \dt: Display all tables.
           - \dv: Display all views.
           - \di: Display all indexes.
           - \ds: Display all sequences.
           - \dS: Display all system tables.
           - \dT: Display all types.
           - \du: Display all users.
    
  • 더 보기 commands

  • 3. 일반적으로 사용되는 SQL 데이터 유형
    PostgreSQL에서 일반적으로 사용되는 SQL 데이터 유형은 다음과 같습니다.
  • INT, SMALLINT: 정수.
  • DATE, TIME, TIMESTAMP: 날짜 및 시간.
  • NULL: 알려진 값 0과 빈 문자열을 나타냅니다.
  • SERIAL: 자동 증가 정수(MySQL의 AUTO_INCREMENT).
  • DOUBLE: 단정밀도 및 배정밀도 부동 소수점 숫자입니다.
  • NUMERIC(m,n): 총 자릿수가 m이고 소수 자릿수가 n인 십진수(MySQL의 DECIMAL(m,n)).
  • CHAR(n) and VARCHAR(n): n자의 고정 길이 문자열 및 최대 n자의 가변 길이 문자열. 문자열은 작은따옴표로 묶습니다(예: 'Fredson', 'Python, django').
  • User-defined types: 기본적으로 오지 않는 것들.
  • 좋은 웹페이지 즐겨찾기