GUMAWA NG TABLE sa isang Schema Postgres

Gumawa Ng Table Sa Isang Schema Postgres



Ang PostgreSQL ay isa sa pinakasikat na object-relational database system. Ito ay libre at open-source na software na nagpapalawak ng wikang SQL na may mga karagdagang feature para pangasiwaan ang mga kumplikadong workload ng data. Maaari itong gumana sa iba't ibang uri ng data, maaasahan at secure. Matuto pa tungkol sa mga feature ng PostgreSQL.

Sa gabay na ito, malalaman natin ang higit pa tungkol sa paggawa ng mga talahanayan sa isang schema sa PostgreSQL.







Mga Schema sa PostgreSQL

Ang database ng PostgreSQL ay maaaring maglaman ng isa o higit pang pinangalanang mga schema, bawat schema ay naglalaman ng mga talahanayan.



Ang parehong pangalan ng object ay maaaring italaga sa maraming schema nang walang salungatan. Halimbawa, valid ang sumusunod na schema/table tree:



  • schema_a
    • talahanayan_1
    • talahanayan_2
  • schema_b
    • talahanayan_1
    • talahanayan_2

Maaari kang mag-isip ng mga schema tulad ng mga direktoryo sa antas ng operating system. Ang kaibahan ay, hindi maaaring magkaroon ng nested schemas. Matuto nang higit pa tungkol sa schema sa Dokumentasyon ng PostgreSQL .





Maaaring maraming dahilan para ipatupad ang mga schema:

  • Maraming user na gumagamit ng parehong database nang hindi nagkakasalungatan sa isa't isa.
  • Mas mahusay na organisasyon at pamamahala ng mga database sa mga lohikal na grupo.
  • Ang mga third-party na app ay maaaring gumawa ng kanilang natatanging schema nang hindi bumabangga sa mga umiiral na schema o iba pang mga bagay.

Mga talahanayan sa PostgreSQL

Ang anumang relational database ay binubuo ng maraming magkakaugnay na mga talahanayan, bawat isa ay binubuo ng mga row at column. Ang PostgreSQL ay may kasamang ilang built-in na talahanayan na naglalaman ng iba't ibang impormasyon ng system. Gayunpaman, maaari rin kaming lumikha ng mga bagong talahanayan sa ilalim ng mga database at schema na tinukoy ng gumagamit.



Mga kinakailangan:

Upang maisagawa ang mga hakbang na ipinakita sa gabay na ito, kakailanganin mo ang mga sumusunod na bahagi:

  • Isang maayos na na-configure na Linux system. Matuto ng mas marami tungkol sa pag-install ng Ubuntu sa VirtualBox .
  • Isang wastong pag-install ng PostgreSQL. Tignan mo pag-install ng PostgreSQL sa Ubuntu .
  • Access sa a Gumagamit ng PostgreSQL kasama USAGE permiso sa isang database.

Para sa layunin ng gabay na ito, gagamitin namin postgres upang maisagawa ang lahat ng mga aksyon sa PostgreSQL.

Paglikha ng mga Table sa isang Schema

Paglikha ng Demo Database

Tulad ng nabanggit kanina, ang mga schema ay umiiral sa ilalim ng isang database. Para sa mga layunin ng pagpapakita, lumikha kami ng isang dummy database, pag-iwas sa pagkagambala sa anumang umiiral na database.

I-access ang PostgreSQL shell bilang postgres :

$ sudo -i -u postgres psql

Gumawa ng bagong database demo_db:

$ GUMAWA NG DATABASE demo_db;

I-verify kung matagumpay na nalikha ang database:

$ \l

Panghuli, kumonekta sa bagong likhang database:

$ \connect demo_db;

Ang Pampublikong Schema

Anumang bagong database sa PostgreSQL ay may default na schema - pampubliko . Kung susubukan mong lumikha ng isang bagay nang hindi tinukoy ang pangalan ng schema, ang pampublikong schema ay pipiliin bilang default.

Ang sumusunod na command ay nagpi-print ng lahat ng magagamit na schema sa PostgreSQL database:

$ \dn

Bilang kahalili, maaari rin nating gamitin ang sumusunod na query sa SQL:

$ SELECT * MULA sa pg_catalog.pg_namespace;

Paglikha ng Bagong Schema

Upang lumikha ng bagong schema sa ilalim ng isang partikular na database, ang command structure ay ang mga sumusunod:

$ GUMAWA NG SCHEMA ;

Pagsunod sa panuntunan, gumawa tayo ng bagong schema demo_schema:

$ GUMAWA NG SCHEMA demo_schema;

Tingnan ang listahan ng schema para sa pag-verify:

$ \dn

Paglikha ng Table sa isang Schema

Ngayong mayroon na tayong ginawang target na schema, maaari na natin itong punan ng mga talahanayan.

Ang syntax para sa paglikha ng isang talahanayan ay ang mga sumusunod:

GUMAWA NG TABLE . (

...
)

dito:

  • schema : Tinutukoy ng field na ito ang pangalan ng schema kung saan nilikha ang talahanayan. Kung walang ibinigay na halaga, gagawin ang talahanayan sa ilalim ng pampubliko schema.

Para sa pagpapakita, lumikha kami ng isang simpleng talahanayan:

GUMAWA NG TALAAN demo_schema.demo_table (

NAME CHAR(64),

ID INT HINDI NULL

);

dito:

  • Ang bukid PANGALAN ay tinukoy upang mag-imbak ng isang string ng 64 na mga character.
  • Ang bukid ID naglalaman ng mga halaga ng integer. Ang termino ' HINDI NULL ” pahiwatig nito ID hindi maaaring walang laman o null.

Maaari naming i-verify ang pagkakaroon ng talahanayan gamit ang sumusunod na query:

$ SELECT * MULA sa demo_schema.demo_table;

Pagpasok ng Data sa Talahanayan

Habang nakalagay ang talahanayan, maaari na tayong magsingit ng ilang value:

INSERT IN TO demo_schema.demo_table (NAME, ID)

MGA HALAGA

('PQR', 45),

('IJK', 99)

;

Suriin ang nilalaman ng talahanayan:

$ SELECT * MULA sa demo_schema.demo_table;

Pamamahala ng Schema

Mga Pahintulot sa Schema

Sa tulong ng pahintulot ng schema, mapapamahalaan namin kung anong tungkulin ang maaaring gawin kung anong pagkilos sa isang partikular na schema. Sa lahat ng posibleng pribilehiyo, sinusuportahan lang ng mga schema GUMAWA at PAGGAMIT.

Upang i-update ang pahintulot ng schema para sa isang partikular na tungkulin, ang istraktura ng command ay ang mga sumusunod:

$ MAGBIGAY SA SCHEMA SA ;

Upang bawiin ang pahintulot ng schema para sa isang partikular na tungkulin, ang istraktura ng command ay ang mga sumusunod:

$ Bawiin ang SA SCHEMA SA ;

I-verify ang pagbabago gamit ang sumusunod na command:

$ \dn+

Baguhin ang Schema Properties

Sa tulong ng ALTER SCHEMA statement, maaari nating baguhin ang iba't ibang katangian ng isang schema. Halimbawa: pagmamay-ari, pangalan ng schema, atbp.

Upang baguhin ang pangalan ng schema, gamitin ang sumusunod na query:

$ ALTER SCHEMA RENAME TO ;

Upang baguhin ang pagmamay-ari ng isang schema, gamitin ang sumusunod na query:

$ ALTER SCHEMA MAY-ARI SA ;

Tandaan na para baguhin ang pagmamay-ari, ang kasalukuyang user ay dapat magkaroon ng GUMAWA pahintulot sa schema.

Pagtanggal ng Schema

Kung hindi na kailangan ang isang schema, maaari naming tanggalin ito gamit ang I-DROP tanong:

$ DROP SCHEMA

Kung ang schema ay naglalaman ng anumang bagay, kailangan namin ang CASCADE modifier:

$ DROP SCHEMA CASCADE;

Pamamahala ng Mesa

Mga Pahintulot sa Table

Tulad ng schema, ang bawat talahanayan ay mayroon ding pamamahala ng pahintulot, na tumutukoy kung anong aksyon ang maaaring gawin ng isang tungkulin sa talahanayan.

Upang suriin ang mga pahintulot ng isang talahanayan, gamitin ang sumusunod na command sa psql:

$ \dp

Baguhin ang Mga Katangian ng Talahanayan

Sa tulong ng ALTER TABLE pahayag, maaari nating baguhin ang maraming aspeto ng isang umiiral nang talahanayan.

Halimbawa, para mag-drop ng column, ganito ang hitsura ng query:

$ ALTER TABLE
DROP COLUMN ;

Upang magdagdag ng bagong column, maaari naming gamitin ang sumusunod na query:

$ ALTER TABLE
ADD COLUMN ;

Maaari rin naming itakda ang compression para sa isang partikular na column:

$ ALTER COLUMN SET COMPRESSION ;

Pagtanggal ng Table

Upang tanggalin ang isang talahanayan mula sa isang schema, maaari naming gamitin ang DROP TABLE tanong:

$ DROP TABLE
;

Tandaan na hindi tulad ng mga schemas, ang DROP TABLE hindi gagawa ng error ang query kung walang laman ang table o wala.

Konklusyon

Sa gabay na ito, ipinakita namin kung paano lumikha ng mga talahanayan sa isang schema sa PostgreSQL. Gumawa kami ng dummy schema sa loob ng dummy database at gumawa ng table sa loob ng schema. Ipinakita rin ng gabay na ito kung paano pamahalaan ang iba't ibang katangian ng mga schema at talahanayan.

Para sa mas mahusay na integridad ng data, maaari mong i-configure ang a lohikal na pagtitiklop ng PostgreSQL . Upang mapanatiling malusog ang database ng PostgreSQL, maaari mong i-configure ang autovacuum upang linisin ang mga patay na tuple na iniwan ng mga tinanggal na tala.

Para sa higit pang mga gabay sa PostgreSQL, tingnan ang PostgreSQL sub-category .