許可權操作
表、檢視操作
ps: 以下操作均假定開發者通過apt方式安裝pg, 且當前使用者為postgres
/usr/lib/postgresql/11/bin/pg_ctl -d /path/to/pgdata initdb
/usr/lib/postgresql/11/bin/pg_ctl -d /path/to/pgdata start
alter role postgres with password '***';
-- 1.建立使用者
create user readonly with encrypted password 'qazxcdew';
-- 2..使用者唯讀事務
alter user readonly set default_transaction_read_only=on;
-- 3.把所有庫的語言的usage許可權給到readonly
grant usage on schema public to readonly;
-- 4.授予select許可權(這句要進入具體資料庫操作在哪個db環境執行就授予那個db的權)
grant select on all tables in schema public to readonly;
/*
建立乙個包含使用者操作記錄的foreign table, 分別包含使用者名稱(id), 操作時間(time), 介面名(method)
foreign table中的資料無法直接檢視, 必須建立相應的view
*/ create foreign table log_foreign_table(
id text,
time timestamptz,
method text
)server pipelinedb;
-- 建立乙個view, 計算每個id每小時各界面的訪問次數, 設定過期時間為1天
create view method_stats_view with (ttl = '1 day', ttl_column = 『hour') as
select
id,hour(time) as hour,
method,
count(*) as num
from log_foreign_table
group by 1, 2, 3;
-- 修改ttl為2天
select pipelinedb.set_ttl('method_stats', '2 day', 'hour');
-- 中止/啟動continuous view, 有時需要執行中止&啟動操作才能讓重設的ttl生效
select pipelinedb.deactivate('method_stats');
select pipelinedb.activate('method_stats');
-- 為method_stats的id欄位建立索引, 預設為b-tree索引, 公升序
create index method_stats_view_id_index on method_stats_view(id);
-- 複製索引和約束
create table method_stats_table (like method_stats_view including defaults including constraints including indexes);
-- 只複製表結構,約束和索引需要手動構建
create table method_stats_table (like method_stats_view including defaults excluding constraints excluding indexes);
\copy (select * from method_stats_view where hour >= hour(now()) to '/source/path/data_today.csv' with csv
\copy method_stats_table from '/source/path/data_today.csv' with (format csv)
insert into method_stats_table select id, hour, method, num from method_stats_view;
insert into method_stats_view_mrel select id, hour, method, num, nextval(method_stats_view) from method_stats_table;
PostgreSQL常用指令及操作
使用postgresql過程中常用的一些指令,做個記錄。su postgres psql 複製 這樣相當於使用postgres使用者名稱登陸到資料庫控制台中。登陸之後有一些常用操作指令如下 首先要用postgres使用者名稱登陸到控制台,然後建立使用者stone postgres create us...
PostgreSQL啟動及相關配置
mkdir home ssd1 postgresql data 用來儲存postgresql資料庫表中的資料和配置檔案等資訊 chown postgres postgres home ssd1 postgresql data 修改其目錄的操作許可權 su postgres c home soft x...
備份及恢復hhdb和postgresql
hhdb是基於postgresql資料庫而形成的,所以二者有很高的相似度。本文是我在工作中的一些經驗。在資料庫目錄下的bin資料夾下,有官方提供的一些程式來用於運算元據庫。備份命令 pg dump.exe 恢復命令 pg restore.exe 在執行pg dump.exe的時候,可以根據上面所列出...