Postgresql 常見資料庫操作命令記錄
阿新 • • 發佈:2019-01-11
在此記錄一些Postgresql中,經常用到的建立資料庫,使用者角色及表,授權等命令的使用示例,方便用到時的快捷參考!
資料庫的初始化與建立
1 . 初始化一個數據庫簇
這裡指對對一個檔案系統目錄進行初始化操作,然後一個單體資料庫服務便會管理這個目錄,之後我們連線到這個單體資料庫服務上進行建庫,建表等操作所產生的一切資料都會放到這個目錄下面!
1>(方式一): pg_ctl -D /usr/local/pgsql/data initdb 詳情
2>(方式二): initdb -D /usr/local/pgsql/data 詳情
3> 具體操作:
mkdir /usr/local /pgsql
chown postgres /usr/local/pgsql
su postgres
initdb -D /usr/local/pgsql/data
2 . 建立角色, 並且賦予該角色建立資料庫, 建立角色, 並且可以登陸的許可權 詳情
CREATE ROLE admin with LOGIN CREATEDB CREATEROLE PASSWORD 'welcome';
3 . 建立使用者, 並設定對應使用者密碼
CREATE USER hello_user PASSWORD 'welcome';
4 . 建立資料庫, 並使該資料庫屬於上面建立的使用者
CREATE DATABASE hello_db owner hello_user ENCODING = 'UTF-8';
5 . 使用對應的使用者切換到要操作的資料庫上面, 然後再設定所要操作的schema(預設每個資料庫初始都有一個名為public的schema);
\c hello_db hello_user
SET search_path TO public;
6 . 建立自己的業務schema, 並在其上面建立自己的一張新表, 插入資料 ;
CREATE schema test;
SET search_path TO test;
CREATE TABLE tb_test
(
id serial,
t_name character varying(24) NOT NULL,
CONSTRAINT tb_score_id PRIMARY KEY (id),
CONSTRAINT tb_score_unq_name UNIQUE (t_name)
);
\dt
\d tb_test
insert into tb_test (t_name) values ('hinsteny'), ('hisoka');
select * from tb_test;
explain analyse select count(id) from tb_test;
備註: 在PG中, 可以簡單的使用user就可以操作database了, 然後role的作用既可以當user用也可以用作group, 它有角色許可權繼承的功能;