SQL-Installation

Introduction

This article is to introduce how to install PostgreSQL server database and client software used to connect this server. We will introduce the following contents:

  • Install PostgreSQL server on Window and Linux
  • Install Client software (I choose VSCode here)
  • Connect to PostgreSQL to create database
  • Some useful commands to manage database

PostgreSQL Installation

为了安装 PostgreSQL, 我们首先要安装一个SQL的数据库服务器用于存放和管理数据库里面的数据。另外, 我们要访问这个PostgreSQL的数据库我们就要有一个client客户端对这个服务器进行远程连接访问,并通过在Client端编写SQL代码对数据进行增删查改等操作。所以这里我们除了安装PostgreSQL的 server外,我们需要选择client客户端安装。 其中常见的Client可以是VSCode的PostgreSQL插件SQL WorkBench

PostgreQL Server Installation

Window

这里介绍PostgresSQL在Window里面的安装。 下载地址: https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

  1. 安装的时候根据系统的版本进行下载安装:

  1. 在安装时候会它问你要不要安装一些元件,这里我们可以默认安装所有元件


  2. 之后我们可以选择database的存放位置,一般都是默认在C盘里面。


  1. 在选择存放位置后, 我们需要设置这个PostgresSQL的登录的password,而它的默认的user name是 postgres 以及访问的端口port(默认是5432). 这一步很重要,之后在Client里面连接PostgreSQL server时需要用到这个 username 和password以及port

在所有设定设置好后它会显示所有的summary,之后只管点next完成安装就可以了。

Ubuntu

在Ubuntu的系统里面,我们可以很简单通过command line的方式直接安装PostgreSQL:

1
2
sudo apt-get update
sudo apt-get install postgresql postgresql-client

安装后,PostgreSQL会默认创建名为postgres的用户,密码为空

1
2
3
4
5
6
#  sudo -i -u postgres
# use PostgresSQL
$ psql

# Command to quit SQL
\q

启动和停止PostgreSQL:

1
2
3
sudo /etc/init.d/postgresql start   # 开启
sudo /etc/init.d/postgresql stop # 关闭
sudo /etc/init.d/postgresql restart # 重启

Client Installation

在安装了PostgreSQL server后,一般会有SQL Shell窗口程序进入server,并直接用SQL对server进行处理。 但是如果我们想远程操作服务器就需要用到Client。这里我们介绍如何安装VSCode的PostgreSQL插件对database进行访问。

  1. 在VSCode的左侧一栏里面的查找按键里面查找到以下的PostgreSQL插件,并安装。

  2. 在安装之后我们可以看到左侧栏下面有个大象的icon,那么就是安装成功了

  3. 打开这个插件,并在上面找的一个”+”加号的icon的add connection的按键,点击去就把下面一些信息填写进去就可以在VSCode里面添加登录到PostgreSQL server的信息:

    • The host of the database: 如果是本地连接就填localhost或者127.0.0.1, 否则要填写server的IP地址
    • The PostgreSQL user to authenticate as:这里填写之前默认的username: postgres
    • The password of the PostgreSQL user: 这里填写之前安装时自己设定的密码
    • The port number to connect to: 这里默认5432
    • Use an ssl connection?: 这里选择Standard Connection
    • Show All Databases: 这里选择PostgreSQL server里面已经有的database。如果之前没有重建的话,一般会有一个database叫做postgres, 直接默认选择这个就好了
    • The display name of the database connection: 这个是我们重建了这个connection后,在VSCode左侧栏里面显示的SQL connection的名字。
  4. 除了VSCode外, 我们可以通过安装 SQL Workbench对PostgreSQL server进行连接,link: https://www.sql-workbench.eu/MainWindow_png.html

Useful Commands in PostgreSQL

SQL Shell

在Client和 Server的shell里面,我们都可以直接通过PostgreSQL的语句对databases, table进行增删查改。 不过在Server的command line的SQL shell里面,我们可以直接通过一些命令进行查询. 在进入SQL shell后它会出现postgres=#输入行, 这个是指当前的database的名字

  • \q: 退出SQL
  • \l: 显示所有database名字
  • \c database_name: 切换到指定的database
  • \d: 显示当前database里面所有的table名字
  • \help: 显示help信息(SQL的语法信息)
  • \help SQL_keyword: 显示SQL关键词的用法
  • 登录进去psql的语句:
    psql -h host_name -p port_num -U user_name database_name

Some useful SQL commands

  • Create and drop database
    • CREATE DATABASE dbname;
    • DROP DATABASE IF EXISTS database_name;: 这里的IF EXISTS 可以加也可不加,加了之后如果database是不存在的话不会报错
  • Create and drop tables
    在SQL里面创建table时我们要先创建一个空的table定义每一列的datatype,之后才能够把数据一行行insert导入进去。
    • create empty table
      1
      2
      3
      4
      5
      6
      7
      8
      CREATE TABLE table_name(
      column1 datatype,
      column2 datatype,
      column3 datatype,
      .....
      columnN datatype,
      PRIMARY KEY( 一个或多个列 )
      );
      example:
      1
      2
      3
      4
      5
      6
      7
      CREATE TABLE COMPANY(
      ID INT PRIMARY KEY NOT NULL,
      NAME TEXT NOT NULL,
      AGE INT NOT NULL,
      ADDRESS CHAR(50),
      SALARY REAL
      );
    • Copy data from CSV file using COPY
      1
      2
      3
      # table in data.csv
      id_count,tenure_count
      10000,11
      1
      2
      3
      4
      5
      6
      7
      8
      9
      DROP TABLE IF EXISTS RESULT3;
      CREATE TABLE IF NOT EXISTS RESULT3(
      id_count varchar(100) NOT NULL,
      tenure_count varchar(100) NOT NULL
      );

      COPY RESULT3 FROM 'E:\data.csv' WITH (FORMAT CSV, HEADER TRUE);

      SELECT * FROM RESULT3;

Reference

[1] Runoob: https://www.runoob.com/postgresql/windows-install-postgresql.html

[2] SQL Workbench: https://www.sql-workbench.eu/MainWindow_png.html

[3] Microsot VSCode: https://marketplace.visualstudio.com/items?itemName=ms-ossdata.vscode-postgresql

Comments