国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

postgresql-數(shù)據(jù)庫(kù)與模式

這篇具有很好參考價(jià)值的文章主要介紹了postgresql-數(shù)據(jù)庫(kù)與模式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

基本概念

數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是用于管理數(shù)據(jù)庫(kù)的軟件系統(tǒng)。常見(jiàn)的關(guān)系型DBMS有PostgreSQL、
MySQL、Oracle、Microsoft SQL Server、SQLite 等。常見(jiàn)的 NoSQL 數(shù)據(jù)庫(kù)有 Redis、MongoDB、
Cassandra、Neo4j 等。PostgreSQL 榮獲了數(shù)據(jù)庫(kù)排名網(wǎng)站DB-Engines 2017、2018 以及 2020 年度數(shù)據(jù)庫(kù)管理系統(tǒng)稱(chēng)號(hào)

PostgreSQL 數(shù)據(jù)庫(kù)系統(tǒng)由實(shí)例(Instance)和物理數(shù)據(jù)庫(kù)集群(Database Cluster)組成。通
常所說(shuō)的數(shù)據(jù)庫(kù)管理系統(tǒng)也就是指數(shù)據(jù)庫(kù)系統(tǒng)。
postgresql-數(shù)據(jù)庫(kù)與模式,postgresql,數(shù)據(jù)庫(kù),postgresql

實(shí)例(Instance)由 PostgreSQL 后臺(tái)進(jìn)程和相關(guān)的內(nèi)存組成。啟動(dòng)服務(wù)器進(jìn)程時(shí)創(chuàng)建一個(gè)實(shí)
例,關(guān)閉服務(wù)器進(jìn)程時(shí)實(shí)例隨之關(guān)閉。啟動(dòng) PostgreSQL 服務(wù)器進(jìn)程之后,可以通過(guò)操作系統(tǒng)的
ps 命令查詢(xún)相關(guān)的后臺(tái)進(jìn)程:
postgresql-數(shù)據(jù)庫(kù)與模式,postgresql,數(shù)據(jù)庫(kù),postgresql
數(shù)據(jù)庫(kù)集群,每個(gè) PostgreSQL 實(shí)例管理的都是一個(gè)數(shù)據(jù)庫(kù)集群,它可以包含多個(gè)數(shù)據(jù)庫(kù)。
需要注意,這里的集群不是多臺(tái)服務(wù)器組成的集群
postgresql-數(shù)據(jù)庫(kù)與模式,postgresql,數(shù)據(jù)庫(kù),postgresql
數(shù)據(jù)庫(kù)Database),一個(gè)數(shù)據(jù)庫(kù)由一組相關(guān)的對(duì)象組成,例如表、索引、視圖、存儲(chǔ)
過(guò)程
模式Schema),數(shù)據(jù)庫(kù)中的對(duì)象使用模式進(jìn)行組織。準(zhǔn)確地說(shuō),一個(gè)數(shù)據(jù)庫(kù)由多個(gè)模式
組成,模式由許多對(duì)象組成
表空間Tablespace),在 PostgreSQL 中,數(shù)據(jù)庫(kù)對(duì)象(例如表)在文件系統(tǒng)中對(duì)應(yīng)的是文
件,表空間指定了這些文件存儲(chǔ)的目錄。創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象時(shí),只需要指定存儲(chǔ)對(duì)象的表空間的名
稱(chēng)(或者使用默認(rèn)值),而不需要指定磁盤(pán)上的物理路徑

創(chuàng)建數(shù)據(jù)庫(kù)

使用 SQL 語(yǔ)句查看已有的數(shù)據(jù)庫(kù)

select datname from pg_database;

postgresql-數(shù)據(jù)庫(kù)與模式,postgresql,數(shù)據(jù)庫(kù),postgresql

--使用 SQL 語(yǔ) CREATE DATABASE 創(chuàng)建一個(gè)數(shù)據(jù)庫(kù):
CREATE DATABASE name;

創(chuàng)建數(shù)據(jù)庫(kù)時(shí)還可以指定許多選項(xiàng),例如字符集編碼、擁有者、默認(rèn)表空間、最大連接數(shù)等
等。具體參考官方文檔中完整的create database

修改數(shù)據(jù)庫(kù)

ALTER DATABASE name action;

action 指定了要執(zhí)行的修改操作,例如修改數(shù)據(jù)庫(kù)的名稱(chēng)、所有者、默認(rèn)表空間、數(shù)
據(jù)庫(kù)會(huì)話變量的默認(rèn)值等

-- 修改 testdb 的名稱(chēng)為newdb
alter database testdb rename to newdb;

ALTER DATABASE 語(yǔ)句還可以用于修改運(yùn)行時(shí)配置變量的會(huì)話默認(rèn)值
當(dāng)用戶(hù)連接數(shù)據(jù)庫(kù)時(shí),PostgreSQL 使用配置文件 postgresql.conf 或者啟動(dòng)命令 postgres 中設(shè)
置的變量值作為默認(rèn)值。使用 ALTER DATABASE 語(yǔ)句可以設(shè)置指定數(shù)據(jù)庫(kù)的這些配置:

ALTER DATABASE name SET configuration_parameter { TO | = } { value | DEFAULT }

PostgreSQL 將會(huì)使用該命令設(shè)置的值覆蓋 postgresql.conf 文件或者命
令行參數(shù)的值。注意,只有超級(jí)用戶(hù)或者數(shù)據(jù)庫(kù)的擁有者才能修改數(shù)據(jù)庫(kù)的默認(rèn)會(huì)話變量

-- 以下語(yǔ)句將會(huì)默認(rèn)禁用數(shù)據(jù)庫(kù) newdb 中的索引掃描
alter database newdb set enable_indexscan to off;
-- 數(shù)據(jù)庫(kù)newdb開(kāi)啟索引掃描
ALTER DATABASE newdb RESET enable_indexscan;

alter database 詳細(xì)配置

刪除數(shù)據(jù)庫(kù)

-- 使用 DROP DATABASE 語(yǔ)句刪除一個(gè)數(shù)據(jù)庫(kù) name表示數(shù)據(jù)庫(kù)名稱(chēng)
DROP DATABASE [ IF EXISTS] name;

如果使用了 IF EXISTS,刪除一個(gè)不存在的數(shù)據(jù)庫(kù)時(shí)不會(huì)產(chǎn)生錯(cuò)誤信息

刪除數(shù)據(jù)庫(kù)會(huì)同時(shí)刪除該數(shù)據(jù)庫(kù)中所有的對(duì)象,以及文件系統(tǒng)中的數(shù)據(jù)目錄。只有數(shù)據(jù)庫(kù)的
擁有者才能夠刪除數(shù)據(jù)庫(kù)。另外,如果數(shù)據(jù)庫(kù)上存在用戶(hù)連接,無(wú)法執(zhí)行刪除操作,可以連接到
其他數(shù)據(jù)庫(kù)執(zhí)行刪除命令

DROP DATABASE 命令的刪除操作無(wú)法恢復(fù),使用時(shí)千萬(wàn)小心!

管理模式

創(chuàng)建了數(shù)據(jù)庫(kù)之后,還需要?jiǎng)?chuàng)建模式(Schema)才能夠存儲(chǔ)數(shù)據(jù)庫(kù)對(duì)象。通常在創(chuàng)建一個(gè)
新的數(shù)據(jù)庫(kù)時(shí),默認(rèn)會(huì)創(chuàng)建一個(gè)模式 public

-- 查看當(dāng)前數(shù)據(jù)庫(kù)中的模式
select * from pg_namespace ;

postgresql-數(shù)據(jù)庫(kù)與模式,postgresql,數(shù)據(jù)庫(kù),postgresql
PostgreSQL 也提供了管理模式的語(yǔ)句:

  • CREATE SCHEMA,創(chuàng)建一個(gè)新的模式
  • ALTER SCHEMA,修改模式的屬性
  • DROP SCHEMA,刪除一個(gè)模式
-- 創(chuàng)建模式時(shí)還可以指定它的擁有者:
 CREATE SCHEMA app AUTHORIZATION tony;

以 pg_開(kāi)頭的名稱(chēng)是系統(tǒng)保留的模式名稱(chēng),用戶(hù)無(wú)法創(chuàng)建這樣的模式。
創(chuàng)建了模式之后,我們就可以在模式中創(chuàng)建各種數(shù)據(jù)庫(kù)對(duì)象,例如表、數(shù)據(jù)類(lèi)型、函數(shù)以及
運(yùn)算符(模式相當(dāng)于表空間)

-- 如果需要修改已有模式的屬性 ,可以使用 ALTER SCHEMA 語(yǔ)句:
ALTER SCHEMA name RENAME TO new_name
ALTER SCHEMA name OWNER TO { new_owner | CURRENT_USER | SESSION_USER }
-- 如果模式中沒(méi)有任何對(duì)象,使用以下語(yǔ)句即可刪除該模式:
DROP SCHEMA name;

如果模式中存在其他對(duì)象,需要先刪除該模式中所有的對(duì)象,或者使用
以下語(yǔ)句級(jí)聯(lián)刪除這些對(duì)象

DROP SCHEMA name CASCADE;

級(jí)聯(lián)刪除可能會(huì)刪除一些我們意料之外的對(duì)象,使用時(shí)需要小心。
數(shù)據(jù)庫(kù)中的大多數(shù)對(duì)象都位于某個(gè)模式之中,這樣設(shè)計(jì)的好處在于:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-718015.html

  • 允許多個(gè)用戶(hù)使用同一個(gè)數(shù)據(jù)庫(kù)而不會(huì)互相干擾,他們可以使用不同的模式來(lái)維護(hù)自己
    的數(shù)據(jù)
  • 將數(shù)據(jù)庫(kù)對(duì)象進(jìn)行邏輯上的分組,便于管理
  • 第三方應(yīng)用可以使用單獨(dú)的模式,不會(huì)與系統(tǒng)中的其他對(duì)象產(chǎn)生命名沖突
    在我們常用的數(shù)據(jù)庫(kù)對(duì)象中,最主要的就是數(shù)據(jù)表(table)。

到了這里,關(guān)于postgresql-數(shù)據(jù)庫(kù)與模式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • PostgreSQL Linux操作PostgreSQL數(shù)據(jù)庫(kù)

    PostgreSQL教程 菜鳥(niǎo)教程:https://www.runoob.com/postgresql/postgresql-tutorial.html 登錄PG數(shù)據(jù)庫(kù):psql -U 用戶(hù)名(U需要大寫(xiě)) 登錄PG數(shù)據(jù)庫(kù)(指定主機(jī)、端口,并進(jìn)入指定數(shù)據(jù)庫(kù)): psql -U 用戶(hù)名 -h 127.0.0.1 -p 5432 -d 數(shù)據(jù)庫(kù)名 -U 登錄的用戶(hù)名 -h 連接的主機(jī)(默認(rèn)127.0.0.1,可替換成遠(yuǎn)程主機(jī)

    2024年02月11日
    瀏覽(28)
  • [運(yùn)維|數(shù)據(jù)庫(kù)] docker postgresql數(shù)據(jù)庫(kù)環(huán)境變量配置

    要配置Docker中的PostgreSQL數(shù)據(jù)庫(kù)的環(huán)境變量,可以使用以下方法: 使用Docker命令行: 將 用戶(hù)名 , 密碼 , 數(shù)據(jù)庫(kù)名 替換為你想要設(shè)置的實(shí)際值。這將創(chuàng)建一個(gè)名為 mypostgres 的容器,并將 PostgreSQL 的用戶(hù)名、密碼和數(shù)據(jù)庫(kù)名設(shè)置為指定的值。 -p 5432:5432 指定了容器內(nèi)部和主機(jī)之間

    2024年02月09日
    瀏覽(34)
  • 數(shù)據(jù)庫(kù)新聞速遞 -- POSTGRESQL 正在蠶食數(shù)據(jù)庫(kù)市場(chǎng)  (翻譯)

    數(shù)據(jù)庫(kù)新聞速遞 -- POSTGRESQL 正在蠶食數(shù)據(jù)庫(kù)市場(chǎng) (翻譯)

    開(kāi)頭還是介紹一下群,如果感興趣polardb ,mongodb ,mysql ,postgresql ,redis 等有問(wèn)題,有需求都可以加群群內(nèi)有各大數(shù)據(jù)庫(kù)行業(yè)大咖,CTO,可以解決你的問(wèn)題。加群請(qǐng)加 liuaustin3微信號(hào) ,在新加的朋友會(huì)分到3群(共1140人左右 1 + 2 + 3) 盡管NoSQL數(shù)據(jù)庫(kù)繼續(xù)蓬勃發(fā)展,但關(guān)系型數(shù)據(jù)庫(kù)仍

    2024年02月13日
    瀏覽(30)
  • PostgreSQL 創(chuàng)建數(shù)據(jù)庫(kù)

    PostgreSQL 創(chuàng)建數(shù)據(jù)庫(kù)可以用以下三種方式: CREATE DATABASE 命令需要在 PostgreSQL 命令窗口來(lái)執(zhí)行,語(yǔ)法格式如下: 例如,我們創(chuàng)建一個(gè) runoobdb 的數(shù)據(jù)庫(kù): createdb 命令創(chuàng)建數(shù)據(jù)庫(kù) createdb 是一個(gè) SQL 命令 CREATE DATABASE 的封裝。 參數(shù)說(shuō)明: . dbname:要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)名。 . description:關(guān)

    2024年02月12日
    瀏覽(21)
  • Postgresql數(shù)據(jù)庫(kù)死鎖

    Postgresql數(shù)據(jù)庫(kù)死鎖

    ERROR: deadlock detected DETAIL: Process 95 waits for ShareLock on transaction 3553457; blocked by process 187. Process 187 waits for ShareLock on transaction 3553458; blocked by process 95. HINT: See server log for query details. CONTEXT: while updating tuple (0,6) in relation “deadlock_example” 其中 Process 95 在等待共享鎖(ShareLock)的事務(wù)

    2024年01月20日
    瀏覽(23)
  • PostgreSQL-數(shù)據(jù)庫(kù)命令

    PostgreSQL-數(shù)據(jù)庫(kù)命令

    一個(gè)數(shù)據(jù)庫(kù)是一個(gè)或多個(gè)模式的集合,而模式包含表、函數(shù)等。因此,完整的邏輯組織結(jié)構(gòu)層次是服務(wù)器實(shí)例(PostgreSQL Server)、數(shù)據(jù)庫(kù)(Database)、模式(Schema)、表(Table),以及某些其他對(duì)象(如函數(shù))。一個(gè)PostgreSQL服務(wù)器實(shí)例可以管理多個(gè)數(shù)據(jù)庫(kù)。當(dāng)應(yīng)用程序連接到一

    2024年02月14日
    瀏覽(24)
  • 【PostgreSql】只刪除整個(gè)數(shù)據(jù)庫(kù)的表(不刪除數(shù)據(jù)庫(kù))

    環(huán)境: windows 數(shù)據(jù)庫(kù): postgresql 前提: 此方法用來(lái)刪除數(shù)據(jù)庫(kù)所有的表,不包括保存的函數(shù)語(yǔ)句、查詢(xún)語(yǔ)句等(可適用于需要?jiǎng)h除整個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)卻又不想刪除數(shù)據(jù)庫(kù)或者數(shù)據(jù)庫(kù)正在連接無(wú)法被刪除的情況) 查詢(xún)數(shù)據(jù)庫(kù)所有的表(假設(shè)表都在public模式下) 這個(gè)語(yǔ)句會(huì)列出

    2024年04月12日
    瀏覽(27)
  • PostgreSQL連接指定數(shù)據(jù)庫(kù)

    要連接到PostgreSQL中的指定數(shù)據(jù)庫(kù),您需要使用以下格式的連接字符串: 其中,username是連接PostgreSQL的用戶(hù)名,password是該用戶(hù)的密碼,hostname是PostgreSQL服務(wù)器的主機(jī)名或IP地址,port是PostgreSQL服務(wù)器的端口號(hào),database_name是要連接的數(shù)據(jù)庫(kù)名稱(chēng)。 例如,如果您要連接到名為my

    2024年02月11日
    瀏覽(24)
  • postgresql 數(shù)據(jù)庫(kù) 索引 介紹

    postgresql 數(shù)據(jù)庫(kù) 索引 介紹

    大家在學(xué)習(xí)數(shù)據(jù)庫(kù)的時(shí)候,是不是常常聽(tīng)到索引?那什么是索引呢?索引有哪些作用呢?索引有哪些種類(lèi)呢?為什么要建索引呢?帶著這些疑問(wèn),本文帶你一起學(xué)習(xí)postgresql數(shù)據(jù)庫(kù)的索引。 索引是提高數(shù)據(jù)庫(kù)性能的常用途徑。比起沒(méi)有索引,使用索引可以讓數(shù)據(jù)庫(kù)服務(wù)器更快

    2024年02月13日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包