在windows下配置PostgreSQL

Koma_Wong發表於2018-06-11

安裝PostgreSQL

在Windows下的安裝就位無腦安裝,選擇好安裝路徑就好了,我的安裝目錄為D:\PostgreSQL\10,需要注意一下幾點:

  • 安裝過程中需要一個資料庫的目錄,我的為D:\PostgreSQL\10\data

  • 安裝後在安裝目錄總會有一個環境變數的檔案pg_env.bat,這個檔案中的內容為:

@ECHO OFF
REM The script sets environment variables helpful for PostgreSQL

@SET PATH="D:\PostgreSQL\10\bin";%PATH%
@SET PGDATA=D:\PostgreSQL\10\data
@SET PGDATABASE=postgres
@SET PGUSER=postgres
@SET PGPORT=5432
@SET PGLOCALEDIR=D:\PostgreSQL\10\share\locale
  • 這裡我們不用這個環境變數設定檔案,新建一個名為env.vbs的批處理檔案,檔案內容如下:
on error resume next
set sysenv=CreateObject("WScript.Shell").Environment("system") 'system environment array
Path = CreateObject("Scripting.FileSystemObject").GetFolder(".").Path 'add variable
sysenv("PGHOME")="D:\PostgreSQL\10"
sysenv("PGHOST")="localhost"
sysenv("Path")=sysenv("PGHOME")+"\bin;"+sysenv("Path")
sysenv("PGLIB")=sysenv("PGHOME")+"\lib"
sysenv("PGDATA")=sysenv("PGHOME")+"\data"
 
wscript.echo "PostgreSQL Success"
  • 注意修改裡面對應的安裝目錄,然後雙擊一下,跳出PostgreSQL Success的視窗表明環境變數設定成功。

初始化資料庫

開啟Windows的CMD,進入目錄D:\PostgreSQL\10\bin,並在CMD下輸入:

D:\PostgreSQL\10\bin>initdb.exe -D D:\PostgreSQL\10\data -E UTF-8  -U postgres -W

輸入新的超級使用者口令:
再輸入一遍:

initdb: 目錄"D:/PostgreSQL/10/data"已存在,但不是空的
如果您想建立一個新的資料庫系統, 請刪除或清空
目錄 "D:/PostgreSQL/10/data" 或者執行帶引數的 initdb
而不是 "D:/PostgreSQL/10/data".

D:\PostgreSQL\10\bin>
  • 由於data是已經建立的,所以會有如上的提示,如果我們改為data1,就會有如下的結果:
Success. You can now start the database server using:

    pg_ctl -D ^"D^:^\PostgreSQL^\10^\data1^" -l logfile start

啟動剛才建立的data1資料庫

D:\PostgreSQL\10\bin>pg_ctl -D ^"D^:^\PostgreSQL^\10^\data1^" -l logfile start
等待伺服器程式啟動 .... 完成
伺服器程式已經啟動

進入資料庫

D:\PostgreSQL\10\bin>psql -U postgres
psql (10.4)
輸入 "help" 來獲取幫助資訊.

postgres=#

建立一個TABLE

postgres=# create table temp(
postgres(# name text,
postgres(# age integer);
CREATE TABLE
postgres=#

從檔案中讀取SQL程式常見一個TABLE

檔案create-table.sql內容如下:

CREATE TABLE item ( 
    item_id serial , 
    description varchar(64) NOT NULL, 
    cost_price numeric(7,2) , 
    sell_price numeric(7,2) , 
    CONSTRAINT item_pk PRIMARY KEY(item_id) 
);

建立TABLE

D:\PostgreSQL\10\bin>psql -U postgres -d postgres -f create-table.sql
CREATE TABLE

顯示剛才建立的表

postgres=# table item;
 item_id | description | cost_price | sell_price
---------+-------------+------------+------------
(0 行記錄)

刪除一個TABLE

postgres=# drop table item;
DROP TABLE


相關文章