国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

PostgreSQL 5.7. Schemas 筆記

617035918 / 380人閱讀

摘要:筆記一個(gè)數(shù)據(jù)庫(kù)包含多個(gè)里包含的下一層邏輯結(jié)構(gòu)就是也包括各種不同里的名可以相同在創(chuàng)建一個(gè)新的時(shí),會(huì)自動(dòng)為其創(chuàng)建一個(gè)名為的。如果未設(shè)置變量,那么會(huì)將你創(chuàng)建的所有對(duì)象默認(rèn)放入中。執(zhí)行就能看到其名稱(chēng)。

PostgreSQL 5.7. Schemas 筆記

https://www.postgresql.org/docs/9.4/ddl-schemas.html

A database contains one or more named schemas, which in turn contain tables. Schemas also contain other kinds of named objects, including data types, functions, and operators. The same object name can be used in different schemas without conflict; for example, both schema1 and myschema can contain tables named mytable. Unlike databases, schemas are not rigidly separated: a user can access objects in any of the schemas in the database he is connected to, if he has privileges to do so.

一個(gè)數(shù)據(jù)庫(kù)包含多個(gè)schema, schema里包含tables, database 的下一層邏輯結(jié)構(gòu)就是 schema

schema 也包括各種 objects, data types, functions, operators

不同schem里的table名可以相同

在創(chuàng)建一個(gè)新的 database 時(shí), PostgreSQL 會(huì)自動(dòng)為其創(chuàng)建一個(gè) 名為 public 的 schema。 如果未設(shè)置 search_path 變量,那 么 PostgreSQL 會(huì)將你創(chuàng)建的所有對(duì)象默認(rèn)放入 public schema 中。_

使用schema帶來(lái)的好處

允許多用戶(hù)使用一個(gè)數(shù)據(jù)庫(kù)而不會(huì)相互干擾, 數(shù)據(jù)隔離

將數(shù)據(jù)庫(kù)對(duì)象組織到邏輯組中以使其更易于管理

第三方應(yīng)用程序可以放在多帶帶的模式中, 這樣它們就不會(huì)與其他對(duì)象的名稱(chēng)沖突

5.7.1. Creating a Schema

code example:

CREATE SCHEMA myschema;

訪(fǎng)問(wèn)schema的表

schema.table

實(shí)際上,更通用的語(yǔ)法

database.schema.table

在schema里創(chuàng)建表

CREATE TABLE myschema.mytable (
 ...
);

刪除空schema

DROP SCHEMA myschema;

刪除schema 并且也刪除其中的對(duì)象

DROP SCHEMA myschema CASCADE;

為某個(gè)用戶(hù)創(chuàng)建schema

CREATE SCHEMA schemaname AUTHORIZATION username;
5.7.2. The Public Schema

默認(rèn)創(chuàng)建的表都在public schema

下面兩條語(yǔ)句是等價(jià)的

CREATE TABLE products ( ... );
CREATE TABLE public.products ( ... );
5.7.3. The Schema Search Path

當(dāng)執(zhí)行類(lèi) 似 SELECT * FROM dogs 這種語(yǔ)句時(shí), PostgreSQL 是怎么知道要查的是哪個(gè) schema 中的表 呢?

可以加schema前綴解決, 也可以設(shè)置 search_path 變量解決

查看

SHOW search_path;
search_path
--------------
 "$user",public
PostgreSQL 有一個(gè)少為人知的系統(tǒng)變量叫作 user , 它代表了當(dāng)前登錄用戶(hù)的名稱(chēng)。 執(zhí)行 SELECT user 就能看到其名稱(chēng)。
對(duì)于search_path 里的$user, 如果當(dāng)前登錄的角色是 doggy, 那么所有的查詢(xún)都會(huì)優(yōu)先去 doggy schema 中尋找目標(biāo)表, 如果找不到才會(huì)去 public schema 下找

設(shè)置新的schema倒search path里

SET search_path TO myschema,public;

這樣 默認(rèn) 創(chuàng)建訪(fǎng)問(wèn) table 都在 myschema schema里

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/39032.html

相關(guān)文章

  • 升級(jí) postgresql

    摘要:但如果涉及到跨大版本升級(jí)比如升級(jí)到,這種直接替換軟件就不行了,因?yàn)榭绨姹镜膬?nèi)部存儲(chǔ)形式發(fā)生了變化官方對(duì)于升級(jí)提供了種方法,這里遷移我使用了來(lái)進(jìn)行處理細(xì)節(jié)可以參考官方文檔。 1 場(chǎng)景描述 最近使用 postgresql 命令行比較多,就找了個(gè)類(lèi)似 mycli 工具,pgcli,這個(gè)是針對(duì) postgresql 的,興沖沖的安裝了 brew install pgcli 沒(méi)想到這貨自動(dòng)幫我...

    learn_shifeng 評(píng)論0 收藏0
  • PostgreSQL獲取用戶(hù)下所有對(duì)象的權(quán)限情況

    摘要:直接切換到對(duì)應(yīng)的庫(kù)下執(zhí)行注意,這個(gè)不能獲取到和的歸屬情況,只能獲取到表和序列的的情況上面的這個(gè),能查出下面的這種歸屬的對(duì)于下面的這種情況,都查不出來(lái)的。表的是一個(gè),表里面又有其它的授權(quán)非的下 直接切換到對(duì)應(yīng)的庫(kù)下執(zhí)行select nsp.nspname as SchemaName ,cls.relname a...

    番茄西紅柿 評(píng)論0 收藏2637
  • postgresql學(xué)習(xí)筆記1---安裝和psql基本操作

    本文是PostgreSQL修煉之道這本書(shū)的學(xué)習(xí)筆記,記錄下疑惑或不解的地方. 這里也列一些資源: 官方文檔:http://www.postgresql.org/files/documentation/pdf/9.4/postgresql-9.4-A... 中文文檔:http://www.php100.com/manual/PostgreSQL8/ 阮一峰的博客:http://www.ruanyif...

    GeekQiaQia 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<