postgreSQL及pipelineDB常用命令

2021-09-19 07:49:35 字數 2439 閱讀 1390

許可權操作

表、檢視操作

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的時候,可以根據上面所列出...