Kong-api-gateway
1. Install
2. postgresql
- 安裝
sudo apt-get install postgresql-9.6
安裝完成后,默認會:
(1)創(chuàng)建名為"postgres"的Linux用戶
(2)創(chuàng)建名為"postgres"、不帶密碼的默認數(shù)據(jù)庫賬號作為數(shù)據(jù)庫管理員
(3)創(chuàng)建名為"postgres"的表
安裝完成后的一些默認信息如下:
config /etc/postgresql/9.5/main
data /var/lib/postgresql/9.5/main
locale en_US.UTF-8
socket /var/run/postgresql
port 5432
安裝完后會有PostgreSQL的客戶端psql,通過 sudo -u postgres psql 進入,提示符變成: postgres=#
在這里可用執(zhí)行SQL語句和psql的基本命令。可用的基本命令如下:
\password:設(shè)置密碼
\q:退出
\h:查看SQL命令的解釋,比如\h select。
\?:查看psql命令列表。
\l:列出所有數(shù)據(jù)庫。
\c [database_name]:連接其他數(shù)據(jù)庫。
\d:列出當前數(shù)據(jù)庫的所有表格。
\d [table_name]:列出某一張表格的結(jié)構(gòu)。
\du:列出所有用戶。
\e:打開文本編輯器。
\conninfo:列出當前數(shù)據(jù)庫和連接的信息。
- 修改默認管理員密碼
以Linux用戶"postgres"的身份(此時只有該用戶有psql命令)執(zhí)行psql客戶端,進入該客戶端的提示符界面(這里系統(tǒng)用戶名、數(shù)據(jù)庫用戶名、數(shù)據(jù)庫名都為postgres,故可采用簡寫形式)
sudo -u postgres psql
postgres=# alter user postgres with password '123456';
若要刪除該管理員的密碼,則可用命令:sudo -u postgres psql -d postgres
- 配置遠程連接
安裝完成后,默認只能本地才能連接數(shù)據(jù)庫,其他機子訪問不了,需要進行配置。(以下示例開放了最大連接權(quán)限,實際配置根據(jù)你的需要而定)
3.1 修改監(jiān)聽地址
sudo gedit /etc/postgresql/9.5/main/postgresql.conf
將 #listen_addresses = 'localhost' 的注釋去掉并改為 listen_addresses = '*'
- 修改可訪問用戶的IP段
sudo gedit /etc/postgresql/9.5/main/pg_hba.conf
在文件末尾添加: host all all 0.0.0.0 0.0.0.0 md5 ,表示允許任何IP連接
- 啟動數(shù)據(jù)庫
/etc/init.d/postgresql start
- 添加用戶及授權(quán)
運行系統(tǒng)用戶"postgres"的psql命令,進入客戶端:
sudo -u postgres psql
創(chuàng)建用戶"kong"并設(shè)置密碼:
postgres=# create user kong with password '123456';
創(chuàng)建數(shù)據(jù)庫kong,所有者為kong:
postgres=# create database kong owner kong;
將konhg數(shù)據(jù)庫的所有權(quán)限賦予kong用戶,否則kong只能登錄psql,沒有任何數(shù)據(jù)庫操作權(quán)限:
grant all privileges on database kong to kong;. 添加用戶及授權(quán)
查看
postgres=# \du 得到用戶列表
postgres=# \l 得到數(shù)據(jù)庫列表
刪除
postgres=# drop database kong
postgres=# drop user kong常用操作命令
# 創(chuàng)建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
# 插入數(shù)據(jù)
INSERT INTO user_tbl(name, signup_date) VALUES('張三', '2013-12-22');
# 選擇記錄
SELECT * FROM user_tbl;
# 更新數(shù)據(jù)
UPDATE user_tbl set name = '李四' WHERE name = '張三';
# 刪除記錄
DELETE FROM user_tbl WHERE name = '李四' ;
# 添加欄位
ALTER TABLE user_tbl ADD email VARCHAR(40);
# 更新結(jié)構(gòu)
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;