ขอจํากัดของ PostgreSQL
- ขนาด database: ไมเกิน 60GB
- ขนาดตารางขอมูล(table) ไมเกิน 64 TB ในระบบปฏิบัติการทุกระบบ
- ขนาดของขอมูลแตละรายการ(row):ไมจํากัด ตั้งแต Version 7.1 ขึ้นไป
- ขนาดของขอมูลแตละ field : 1GB ตั้งแต Version 7.1 ขึ้นไป
- จํานวนรายการ(rows) ในตารางขอมูล(table) : ไมจํากัด
- จํานวน columns ในตารางขอมูล(table): 1600 columns
- จํานวน indexes ในตารางขอมูล(table) : ไมจํากัด
การตั้งชื่อ
- ตนดวยตัวอักษรหรือ underscore(_)
- ความยาวไมเกิน 31 ตัวอักษร
- ไมซ้ำกับ reserve word
- ชื่อที่อยูในประเภทเดียวกันตองไมซ้ำกัน เชน ชื่อ Table ที่อยูใน Database เดียวกันตองไมซ้ำกัน ชื่อ Column ที่อยูใน Table เดียวกันตองไมซ้ำกัน ชื่อ Index ที่อยูใน Database เดียวกันตองไมซ้ำกัน
how to install postgresql
ก่อนการ install postgresql ควร update ก่อน
apt-get update
sudo apt-get install postgresql postgresql-contrib
หลังจาก install postgresql ต่อไปเป็นการใช้งาน
how to use postgresql
พิมพ์
" \h " เพื่อดูวิธีการใช้งานเบื้องต้น
" \q " เพื่อออกจาก
" \l " เพื่อแสดงดาต้าเบสทั้งหมดที่มีอยู่
" \c ์NameDatabase" เพื่อเลือกการเข้าถึงดาต้าเบส(เชื่อมต่อ)
" \d " เพื่อแสดงตารางต่างๆที่มีอยู่ในดาต้าเบส
" \d+ NameTable " เพื่อแสดงรายละเอียดต่างๆ ที่มีอยู่ในตารางที่ต้องการทราบ( NameTable) ซึ่งจะประกอบไปด้วยชื่อคอลัมต่างๆ, ชนิดของข้อมูลที่ทำการเก็บในแต่ละคอลัม, ระบุ primary key Attribute ไหน , foreign key อะไรบ้างและแสดงการอ้างอิงไปยังตารางอื่นๆ
ER diagram ที่นำมาจากหนังสือ Database Systems - Design, Implementation, and Management (9th Edition) Carlos Coronel, Steven A. Morris, Peter Rob ISBN: 0538469684
- create databases
จากนั้นใช้คำสั่ง \c inv_trans เพื่อเข้าไปยังฐานข้อมูลของ inv_trans หรือเราอาจใช้คำสั่งต่อไปนี้ก็ได้เหมือนกัน
" \h " เพื่อดูวิธีการใช้งานเบื้องต้น
" \q " เพื่อออกจาก
" \l " เพื่อแสดงดาต้าเบสทั้งหมดที่มีอยู่
" \c ์NameDatabase" เพื่อเลือกการเข้าถึงดาต้าเบส(เชื่อมต่อ)
" \d " เพื่อแสดงตารางต่างๆที่มีอยู่ในดาต้าเบส
" \d+ NameTable " เพื่อแสดงรายละเอียดต่างๆ ที่มีอยู่ในตารางที่ต้องการทราบ( NameTable) ซึ่งจะประกอบไปด้วยชื่อคอลัมต่างๆ, ชนิดของข้อมูลที่ทำการเก็บในแต่ละคอลัม, ระบุ primary key Attribute ไหน , foreign key อะไรบ้างและแสดงการอ้างอิงไปยังตารางอื่นๆ
ER diagram ที่นำมาจากหนังสือ Database Systems - Design, Implementation, and Management (9th Edition) Carlos Coronel, Steven A. Morris, Peter Rob ISBN: 0538469684
รูปภาพแสดง ER diagram ของระบบ inventory transaction |
การใช้งาน PostgreSQL : https://spalinux.com/2011/01/learn_to_use_postgresql
- create databases
$ createdb nameDatabase
รูปภาพแสดงการสร้างฐานข้อมูลและการแสดงฐานข้อมูลต่างๆ โดยใช้คำสั่ง \l |
$ psql testdb- create tables
$ create table ชื่อตาราง (ชื่อคอลัมนชนิดขอมูล, ...);
รูปภาพแสดงการสร้างตารางต่างๆของดาต้าเบส inv_trans |
how to install psycopg2
sudo apt-get install python-pip
จากนั้นทำตามคำสั่งต่อไปนี้เพื่อลง psycopg2sudo apt-get update
sudo apt-get install libpq-dev python-dev
sudo pip install psycopg2
psycopg2 เป็น library ของ python ที่ใช้สำหรับการติดต่อกับดาต้าเบสของ PostgreSQL โดยเราจะนำมาใช้ในการ insert ข้อมูลให้กับแต่ละตารางhow to insert data
เราจะใช้โค้ด python ในการ insert ข้อมูลcompare Sqlite Mysql and PostgreSQL
file size :
Sqlite : 6.44GB
Mysql :
PostgreSQL : 13GB
references link :
install postgresql : https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-12-04
install psycopg2 : http://stackoverflow.com/questions/11583714/install-psycopg2-on-ubuntu
generate data : http://initd.org/psycopg/docs/usage.html