[安裝]
在ubuntu上裝了最新的3.7版的python
命令列上隨意的打上
sudo apt-get install python3
一下子就裝好了
接著要裝pip ,pip可以用來下載python的套件(函式庫),
但請注意,這個pip要下載3.0版用的,在ubuntu上他叫python3-pip, 所以
sudo apt-get install python3-pip
裝好了後,少了database,剛好我python是新學的,於是想說一直以來除了mysql之外也沒有用過別家的
於是呼想起之前一直想學的Postgresql,好吧,那就裝吧
sudo apt-get install postgresql
於是,postgresql也就這樣裝好了
----------------------------------------------------------------------------------------------------------------
設定
1.首先,postgresql在安裝時會預設幫你創一個叫「postgres」的使用者
這個使用者被設定為postgresql最大的管理員(相當於root),但創建時的密碼是亂數,所以你必須先幫個這個postgres改系統密碼
sudo passwd postgre
2.改好之後切換到postgres這個使用者
su postgres
接著就可直接打上psql 這個指令,順利進入後你會看令命列postgres=#
3.由於安全因素,一般不建議大家使用postgres這個帳號進行日常維護
尤其這個帳號你知我知,寶傑西屏都知道,所以我們在此創立一個新的,他叫tom
密碼 1111,這個tom 必須是linux的user之一,因為postgresql所採用的peer認證的方式,所以除了db內建之外,linux也必須要建一個相同的user帳號,並 請一定要記得打完後要加一個分號
postgres=# create user tom with password '1111'; <--- br="">--->
4. 接著建立一個database 叫myshop
postgres=# create database myshop;
5. 把這個database 的權限指定給tom
postgres=#GRANT ALL PRIVILEGES ON DATABASE myshop TO tom;
然後,我以為這樣就結束了
但,我用TOM的帳號進去後發現無法創建資料表及INSERT資料
上網一查發現,TABLE也必須GRANT,所以
6.指定TABLE權限給TOM
postgres=# GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA PUBLIC TO tom;
7. 建立一張table
create table lotto (serial int, o1 int,o2 int)
至此,postgresql的設定皆完成
接下來換PYTHON
1.首先裝上psycopg2
sudo apt-get install python3-psycopg2
2接著寫一個簡單的python 測試連線
import psycopg2
conn= psycopg2.connect("dbname=myshop user=tom password=1111 host=127.0.0.1")
cur=conn.cursor()
cur.execute("insert into lotto (14,15,16)")
conn.commit()
conn.close()
設定完了~~~!
---------------------------------------------------------------------------------------------------------------------
[備註]
如果其單純想創建資料庫使用者而不想多一個linux使用者的話,可以修改
/etc/postgresql/10/main/pg_hba.conf
將
local all all peer
改成
沒有留言:
張貼留言