СЪЗДАВАЙТЕ ТАБЛИЦА в схема на Postgres

S Zdavajte Tablica V Shema Na Postgres



PostgreSQL е една от най-популярните обектно-релационни системи за бази данни. Това е безплатен софтуер с отворен код, който разширява езика SQL с допълнителни функции за справяне със сложните работни натоварвания с данни. Може да работи с различни типове данни, надеждни и сигурни. Научете повече за функциите на PostgreSQL.

В това ръководство ще научим повече за създаването на таблици в схема в PostgreSQL.







Схеми в PostgreSQL

Базата данни на PostgreSQL може да съдържа една или повече наименувани схеми, като всяка схема съдържа таблици.



Едно и също име на обект може да бъде присвоено на множество схеми без конфликт. Например следната схема/дърво на таблица е валидна:



  • schema_a
    • маса 1
    • таблица_2
  • schema_b
    • маса 1
    • таблица_2

Можете да мислите за схеми като директории на ниво операционна система. Разликата е, че не може да има вложени схеми. Научете повече за схемата на Документация на PostgreSQL .





Може да има няколко причини за прилагане на схемите:

  • Множество потребители използват една и съща база данни, без да са в конфликт помежду си.
  • По-добра организация и управление на базите данни в логически групи.
  • Приложенията на трети страни могат да създават своя уникална схема, без да се сблъскват със съществуващите схеми или други обекти.

Таблици в PostgreSQL

Всяка релационна база данни се състои от множество свързани таблици, всяка от които се състои от редове и колони. PostgreSQL идва с няколко вградени таблици, които съдържат различна системна информация. Въпреки това можем също така да създаваме нови таблици под дефинирани от потребителя бази данни и схеми.



Предпоставки:

За да изпълните стъпките, демонстрирани в това ръководство, ще ви трябват следните компоненти:

  • Правилно конфигурирана Linux система. Научете повече за инсталиране на Ubuntu във VirtualBox .
  • Правилна инсталация на PostgreSQL. Разгледайте инсталиране на PostgreSQL на Ubuntu .
  • Достъп до a Потребител на PostgreSQL с Разрешение за ИЗПОЛЗВАНЕ към база данни.

За целите на това ръководство ще използваме postgres за извършване на всички действия в PostgreSQL.

Създаване на таблици в схема

Създаване на демонстрационна база данни

Както бе споменато по-рано, схемите съществуват в база данни. За демонстрационни цели създаваме фиктивна база данни, като избягваме прекъсване на която и да е съществуваща база данни.

Достъп до обвивката на PostgreSQL като postgres :

$ sudo -i -u postgres psql

Създайте нова база данни demo_db:

$ СЪЗДАВАНЕ НА БАЗА ДАННИ demo_db;

Проверете дали базата данни е създадена успешно:

$ \l

Накрая се свържете с новосъздадената база данни:

$ \connect demo_db;

Публичната схема

Всяка нова база данни в PostgreSQL идва със схема по подразбиране – публичен . Ако се опитате да създадете обект, без да посочите името на схемата, публичната схема се избира по подразбиране.

Следната команда отпечатва цялата налична схема в базата данни на PostgreSQL:

$ \dn

Като алтернатива можем да използваме и следната SQL заявка:

$ SELECT * FROM pg_catalog.pg_namespace;

Създаване на нова схема

За да създадете нова схема под конкретна база данни, командната структура е както следва:

$ CREATE SCHEMA ;

Следвайки правилото, нека създадем нова схема demo_schema:

$ CREATE SCHEMA demo_schema;

Проверете списъка със схеми за проверка:

$ \dn

Създаване на таблица в схема

След като вече имаме създадена целевата схема, можем да я попълним с таблици.

Синтаксисът за създаване на таблица е както следва:

CREATE TABLE . (

...
)

Тук:

  • схема : Това поле указва името на схемата, където е създадена таблицата. Ако не е предоставена стойност, таблицата се създава под публичен схема.

За демонстрация създаваме проста таблица:

CREATE TABLE demo_schema.demo_table (

NAME CHAR(64),

ID INT NOT NULL

);

Тук:

  • Областта ИМЕ е указано да съхранява низ от 64 знака.
  • Областта документ за самоличност съдържа целочислените стойности. Терминът „ НЕ НУЛЕВ ” показва това документ за самоличност не може да бъде празно или нула.

Можем да проверим съществуването на таблицата, като използваме следната заявка:

$ ИЗБЕРЕТЕ * ОТ demo_schema.demo_table;

Вмъкване на данни в таблицата

След като таблицата е на място, вече можем да вмъкнем някои стойности:

INSERT INTO demo_schema.demo_table (ИМЕ, ID)

СТОЙНОСТИ

('PQR', 45),

(„IJK“, 99)

;

Проверете съдържанието на таблицата:

$ ИЗБЕРЕТЕ * ОТ demo_schema.demo_table;

Управление на схеми

Разрешения за схема

С помощта на разрешение за схема можем да управляваме каква роля може да изпълнява какво действие върху конкретна схема. От всички възможни привилегии схемите поддържат само СЪЗДАВАНЕ и ИЗПОЛЗВАНЕ.

За да актуализирате разрешението на схемата за определена роля, командната структура е следната:

$ GRANT ON SCHEMA TO ;

За да отмените разрешението на схемата за определена роля, командната структура е следната:

$ REVOKE ON SCHEMA TO ;

Проверете промяната, като използвате следната команда:

$ \dn+

Промяна на свойствата на схемата

С помощта на ПРОМЯНА НА СХЕМАТА можем да модифицираме различните свойства на дадена схема. Например: собственост, име на схема и др.

За да промените името на схемата, използвайте следната заявка:

$ ALTER SCHEMA RENAME TO ;

За да промените собствеността върху схема, използвайте следната заявка:

$ ALTER SCHEMA OWNER TO ;

Имайте предвид, че за да промените собствеността, текущият потребител трябва да има СЪЗДАВАЙТЕ разрешение за схемата.

Изтриване на схема

Ако дадена схема вече не е необходима, можем да я изтрием с помощта на ИЗПУСКАЙТЕ запитване:

$ DROP SCHEMA <име_на_схема>

Ако схемата съдържа някакъв обект, имаме нужда от КАСКАДА модификатор:

$ DROP SCHEMA CASCADE;

Управление на таблици

Разрешения за таблица

Подобно на схемата, всяка таблица също идва с управление на разрешения, определящо какво действие може да извърши дадена роля върху таблицата.

За да проверите разрешенията на таблица, използвайте следната команда в psql:

$ \dp <име_на_таблица>

Промяна на свойствата на таблицата

С помощта на АЛТЕР ТАБЛИЦА можем да модифицираме многобройните аспекти на вече съществуваща таблица.

Например, за да премахнете колона, заявката изглежда така:

$ ALTER TABLE <име_на_таблица> DROP COLUMN <колона>;

За да добавим нова колона, можем да използваме следната заявка:

$ ALTER TABLE <име_на_таблица> ADD COLUMN <колона> <тип_данни>;

Можем също да зададем компресията за конкретна колона:

$ ALTER COLUMN <име_на_колона> SET COMPRESSION <метод_на_компресия>;

Изтриване на таблица

За да изтрием таблица от схема, можем да използваме ПАДВАЩА МАСА запитване:

$ DROP TABLE <име_на_таблица>;

Имайте предвид, че за разлика от схемите, ПАДВАЩА МАСА заявката няма да доведе до грешка, независимо дали таблицата е празна или не.

Заключение

В това ръководство демонстрирахме как се създават таблици в схема в PostgreSQL. Създадохме фиктивна схема в рамките на фиктивна база данни и създадохме таблица в рамките на схемата. Това ръководство също демонстрира как да управлявате различните свойства на схеми и таблици.

За по-добра цялост на данните можете да конфигурирате a логическа репликация на PostgreSQL . За да поддържате PostgreSQL базата данни в добро състояние, можете да конфигурирате автовакуум за почистване на мъртвите кортежи, които са останали от изтритите записи.

За повече ръководства за PostgreSQL вижте Подкатегория PostgreSQL .