postgresql的指令
1.進入postgres用戶
su - postgres
2.進入postgres用戶操作
psql -U postgres
3.基本指令
查詢postgres用戶下的所有用戶及權限:\du
查看版本: psql --version 或 SELECT version();
查看所有數據庫:\l
查看所有數據庫(包括詳細參數):select * from pg_database;
選擇數據庫:\c databasename
查看所有表:\dt
查看某個表的結構:\d tablename
查看索引: \di
修改密碼:\password
退出psql控制檯:\q
查看SQL語法:\h 如:\h select,\h update
查看psql命令列表: \?
列出所有數據庫:\l
列出當前數據庫的所有表格:\d
打開文本編輯器: \e
列出當前數據庫和連接的信息:conninfo
4.創建、刪除角色與用戶
角色就相當於崗位:角色可以是經理,助理
用戶就是具體的人:比如陳XX經理,朱XX助理,王XX助理。
在PostgreSQL 裏沒有區分用戶和角色的概念,
唯一的區別是"CREATE USER" 命令創建的用戶默認帶有LOGIN屬性,
而"CREATE ROLE" 命令創建的用戶默認不帶LOGIN屬性
創建角色:CREATE ROLE admin //創建了一個admin的角色,沒有登錄權限
刪除角色:DROP ROLE admin //刪除admin的角色
創建用戶:CREATE USER root //創建了一個root的用戶,有登錄權限
刪除用戶:DROP USER root //刪除root用戶
可以通過\du查看
如果想給admin加登錄權限的話:ALTER ROLE admin with LOGIN
創建超級用戶:CREATE user administrator with superuserpassword 'root123'
create role db_role1 LOGIN; --創建具有登錄權限的角色db_role1
create role db_role2 SUPERUSER; --創建具有超級用戶權限的角色
create role db_role3 CREATEDB; --創建具有創建數據庫權限的角色
create role db_role4 CREATEROLE --創建具有創建角色權限的角色
alter role db_role1 nologin nocreatedb; --修改角色取消登錄和創建數據庫權限
create user db_user1 password '123'; --創建用戶
create role db_user1 password '123' LOGIN; --同上一句等價
drop user db_user1; --刪除用戶
alter user db_user1 password '123456'; --修改密碼
alter user db_user1 createdb createrole; --對用戶授權
5.創建角色並給角色賦權限
CREATE ROLE admin1 CREATEDB //角色admin1具有創建DB的權限
6.給已存在用戶賦予各種權限
ALTER ROLE postgres RENAME TO admin admin就具有postgres的權限
7.進入postgres用戶下的database
psql -U postgres -d ph
8.postgresql 最大連接數修改
postgresql.conf
max_connections=1024
9.postgresql data 的目錄
/var/lib/pgsql/9.4/data