Вправа: дослідження метаданих за допомогою системних каталогів і системних подань
Важливо
Щоб виконати вправи в цьому модулі, потрібна власна передплата На Azure. Якщо у вас немає передплати на Azure, ви можете налаштувати безкоштовний ознайомлювальний обліковий запис на сторінці Build в хмарі за допомогою безкоштовного облікового запису Azure.
Створення середовища вправ
Розгортання сервера PostgreSQL
Увійдіть на портал Azure.
Виберіть Створитиресурсу .
У пошукових служб і marketplace введіть Postgre SQL і виберіть Azure Database for PostgreSQL Flexible Server.
Виберіть Створити.
Виберіть відповідні передплати, група ресурсівта регіональні для свого середовища.
Введіть припустиме ім'я сервера .
У версії PostgreSQL виберіть 13.
У тип навантаженнявиберіть розробки .
У ім'я користувача адміністратора введіть demo.
У полі пароль введіть Pa$$w 0rd.
У полі Підтвердьте пароль введіть Pa$$w 0rd.
Натисніть кнопку Далі: >мережі.
У правила брандмауеравиберіть Дозволити загальнодоступний доступ із будь-якої служби Azure в Azure до цього сервера.
Виберіть Додати IP-адресу поточного клієнта.
Виберіть Рецензування + створити.
Виберіть Створити.
Зачекайте, доки розгортання не завершиться.
Відновити базу даних AdventureWorks
Клонувати репозиторій бази даних PostgreSQL на PostgreSQL Labs.
- Наприклад, у командному рядку можна використовувати такий код:
dosgit clone https://github.com/MicrosoftLearning/mslearn-postgres c:\postgresql-samples-databases
Завантаження та інсталяція pgAdmin 4 з Завантажити
Завантажте та інсталюйте Azure Data Studio з Завантажити та інсталювати Azure Data Studio.
Запустіть Azure Data Studio.
Виберіть меню View і виберіть Extensions.
У розширення пошуку в Marketplaceвведіть PostgreSQL і виберіть Інсталювати.
Виберіть Підключення.
Виберіть Сервери і виберіть Створити підключення.
У тип підключеннявиберіть PostgreSQL.
У ім'я серверавведіть значення, указане під час розгортання сервера.
У ім'я користувачавведіть демо-.
У парольвведіть Pa$$w 0rd.
Виберіть Запам'ятати пароль.
Запустіть pgAdmin і введіть пароль, указаний під час інсталяції.
Клацніть правою кнопкою миші Сервери, виберіть Зареєструватиі виберіть Server.
У Ім'явведіть Вправа PostgreSQL 8 і перейдіть на вкладку підключення.
У Ім'я хоста або адресавведіть значення, указане під час розгортання сервера.
У ім'я користувачавведіть демо-.
У парольвведіть Pa$$w 0rd.
Виберіть Зберегти пароль.
Виберіть Зберегти.
Розгорніть Вправа PostgreSQL , клацніть правою кнопкою миші бази даних, виберіть Створитиі виберіть бази даних .
У баз данихвведіть пригод і натисніть кнопку Зберегти.
Клацніть правою кнопкою миші пригод і виберіть Відновити.
У Filenameвведіть шлях, указаний у інструкції git clone, а також \AdventureWorksPG.gz.
У Кількість завданьвведіть 1.
У ім'я ролівиберіть демо-.
Виберіть Відновити.
Зачекайте, доки процес відновлення не завершиться.
Ви можете ігнорувати будь-які помилки, які виникають, оскільки ці об'єкти не потрібні для цих модулів.
Завдання 1. Перегляд метаданих на порталі Azure
Перейдіть до порталу Azure та ввійдіть у систему.
Виберіть Усі ресурси.
Виберіть базу даних Azure для гнучкого сервера PostgreSQL, створеного для цієї вправи.
У моніторингувиберіть Метричні показники.
Зверніть увагу, що ви можете переглядати різні показники баз даних.
Завдання 2. Перегляд даних у таблицях системного каталогу
Перейдіть до Azure Data Studio.
У SERVERSвиберіть свій сервер PostgreSQL і зачекайте, доки на сервері з'явиться зелене коло.
Клацніть сервер правою кнопкою миші та виберіть Новий запит.
Введіть наведений нижче SQL і виберіть Виконати:
SQLSELECT datname, xact_commit, xact_rollback FROM pg_stat_database;
Зверніть увагу, що ви можете переглядати коміти та відкочування для кожної бази даних.
Завдання 3. Перегляд складного запиту метаданих за допомогою системного подання
- Клацніть сервер правою кнопкою миші та виберіть Новий запит.
- Введіть наведений нижче SQL і виберіть Виконати: SQL
SELECT * FROM pg_catalog.pg_stats;
- Зверніть увагу, що можна переглянути великий обсяг статистичних даних.
- За допомогою системних подань можна зменшити складність SQL, яку потрібно записати. Для попереднього запиту потрібен такий код, якщо подання pg_stats не використовується: SQL
SELECT n.nspname AS schemaname, c.relname AS tablename, a.attname, s.stainherit AS inherited, s.stanullfrac AS null_frac, s.stawidth AS avg_width, s.stadistinct AS n_distinct, CASE WHEN s.stakind1 = 1 THEN s.stavalues1 WHEN s.stakind2 = 1 THEN s.stavalues2 WHEN s.stakind3 = 1 THEN s.stavalues3 WHEN s.stakind4 = 1 THEN s.stavalues4 WHEN s.stakind5 = 1 THEN s.stavalues5 ELSE NULL::anyarray END AS most_common_vals, CASE WHEN s.stakind1 = 1 THEN s.stanumbers1 WHEN s.stakind2 = 1 THEN s.stanumbers2 WHEN s.stakind3 = 1 THEN s.stanumbers3 WHEN s.stakind4 = 1 THEN s.stanumbers4 WHEN s.stakind5 = 1 THEN s.stanumbers5 ELSE NULL::real[] END AS most_common_freqs, CASE WHEN s.stakind1 = 2 THEN s.stavalues1 WHEN s.stakind2 = 2 THEN s.stavalues2 WHEN s.stakind3 = 2 THEN s.stavalues3 WHEN s.stakind4 = 2 THEN s.stavalues4 WHEN s.stakind5 = 2 THEN s.stavalues5 ELSE NULL::anyarray END AS histogram_bounds, CASE WHEN s.stakind1 = 3 THEN s.stanumbers1[1] WHEN s.stakind2 = 3 THEN s.stanumbers2[1] WHEN s.stakind3 = 3 THEN s.stanumbers3[1] WHEN s.stakind4 = 3 THEN s.stanumbers4[1] WHEN s.stakind5 = 3 THEN s.stanumbers5[1] ELSE NULL::real END AS correlation, CASE WHEN s.stakind1 = 4 THEN s.stavalues1 WHEN s.stakind2 = 4 THEN s.stavalues2 WHEN s.stakind3 = 4 THEN s.stavalues3 WHEN s.stakind4 = 4 THEN s.stavalues4 WHEN s.stakind5 = 4 THEN s.stavalues5 ELSE NULL::anyarray END AS most_common_elems, CASE WHEN s.stakind1 = 4 THEN s.stanumbers1 WHEN s.stakind2 = 4 THEN s.stanumbers2 WHEN s.stakind3 = 4 THEN s.stanumbers3 WHEN s.stakind4 = 4 THEN s.stanumbers4 WHEN s.stakind5 = 4 THEN s.stanumbers5 ELSE NULL::real[] END AS most_common_elem_freqs, CASE WHEN s.stakind1 = 5 THEN s.stanumbers1 WHEN s.stakind2 = 5 THEN s.stanumbers2 WHEN s.stakind3 = 5 THEN s.stanumbers3 WHEN s.stakind4 = 5 THEN s.stanumbers4 WHEN s.stakind5 = 5 THEN s.stanumbers5 ELSE NULL::real[] END AS elem_count_histogram FROM pg_statistic s JOIN pg_class c ON c.oid = s.starelid JOIN pg_attribute a ON c.oid = a.attrelid AND a.attnum = s.staattnum LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE NOT a.attisdropped AND has_column_privilege(c.oid, a.attnum, 'select'::text) AND (c.relrowsecurity = false OR NOT row_security_active(c.oid));
Завдання 4. Видалення сервера PostgreSQL
Виконавши всі завдання у вправі, можна зупинити сервер PostgreSQL.