1. 程式人生 > >Postgresql 常見資料庫操作命令記錄

Postgresql 常見資料庫操作命令記錄

在此記錄一些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, 它有角色許可權繼承的功能;