1. 程式人生 > >postgres資料庫

postgres資料庫

安裝postgres:

sudo apt-get install postgresql-client
sudo apt-get install postgresql
sudo apt-get install pgadmin3

postgres伺服器會在本機的5432埠開啟,並且初次安裝成功後,預設能生成一個名為postgres的資料庫名,名為postgres的資料庫使用者,名為postgres的Linux系統使用者。

新建資料庫:
然後我們使用postgres使用者來生成其他的使用者和新使用者名稱下的資料庫:

sudo adduser dbuser   # 新建一個linux使用者

sudo su - postgres  # 切換到postgres使用者

psql  # 以同名數據庫使用者身份登入資料庫

\password postgres  # 為使用者設定密碼

CREATE USER dbuser WITH PASSWORD 'password';      # 建立資料庫使用者dbuser

CREATE DATABASE exampledb OWNER dbuser;   # 建立使用者資料庫,指定所有者為剛剛建立的dbuser資料庫使用者

GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;     # 將資料庫的所有許可權交給這個資料庫使用者

登入資料庫:
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

控制檯命令:

\h:檢視SQL命令的解釋,比如\h select。
\?:檢視psql命令列表。
\l:列出所有資料庫。
\c [database_name]:連線其他資料庫。
\d:列出當前資料庫的所有表格。
\d [table_name]:列出某一張表格的結構。
\du:列出所有使用者。
\e:開啟文字編輯器。
\conninfo:列出當前資料庫和連線的資訊。

資料庫操作:

# 建立新表 
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);

# 插入資料 
INSERT INTO user_tbl(name, signup_date) VALUES('張三', '2013-12-22');

# 選擇記錄 
SELECT * FROM user_tbl;

# 更新資料 
UPDATE user_tbl set name = '李四' WHERE name = '張三';

# 刪除記錄 
DELETE FROM user_tbl WHERE name = '李四' ;

# 新增欄位 
ALTER TABLE user_tbl ADD email VARCHAR(40);

# 更新結構 
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;

# 更名欄位 
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;

# 刪除欄位 
ALTER TABLE user_tbl DROP COLUMN email;

# 表格更名 
ALTER TABLE user_tbl RENAME TO backup_tbl;

# 刪除表格 
DROP TABLE IF EXISTS backup_tbl;

刪庫:

sudo su - dbuser
dropdb test1
sudo su - postgres
psql
CREATE DATABASE test1 OWNER dbuser;
GRANT ALL PRIVILEGES ON DATABASE test1 to dbuser;