Перейти до вмісту

pgAdmin

Матеріал з K2 ERP Wiki

pgAdmin — це корисний і потужний інструмент для адміністрування PostgreSQL.; # Вимкнути старі BAS/1С-джерела після міграції.; | Так.; # Використовувати ролі з мінімальними правами.; | надає можливість перевіряти таблиці, кількість записів, дублікати, залишки, протоколи помилок і BI-вітрини в PostgreSQL.;

  • назву підключення;
  • host;
  • port;
  • maintenance database;
  • username;
  • password;
  • SSL-режим;
  • додаткові параметри.; FROM bi.sales_dashboard_data;

Блокування

Але для production потрібно налаштувати:

Через нього можна: Перед оновленням production-інструменту варто перевірити сумісність і доступи.; Звичайні користувачі мають працювати через K2 ERP, API або BI.;== Як не треба робити ==

Підключення до сервера PostgreSQL

!;</syntaxhighlight>

Ризикові запити:

Не повинні мати доступ без потреби:

  • пароль у відкритому Excel;
  • пароль у месенджері;
  • один пароль для всіх;
  • superuser для аналітичні інструменти;
  • пароль production у тестовому файлі;
  • паролі в скриншотах;
  • паролі в інструкціях без захисту.; # Використовувати SSL.; SELECT COUNT(*) AS counterparty_count

|- | Name | K2 Production DB |- | Host | db-k2.company.local |- | Port | 5432 |- | Database | postgres |- | Username | k2_admin_readonly |- | SSL mode | Require |}

Резервні копії можуть бути потрібні для:

  • desktop-застосунок;
  • web-застосунок у браузері;
  • server mode для команди адміністраторів.;
Для аналізу продуктивності SQL-запитів використовують EXPLAIN.; EXPLAIN
== pgAdmin і API ==
Read-only роль має змогу:
[[Категорія:Power BI]]
== pgAdmin і резервні копії ==
Недоліки:

!; Окремі продукти [[1С]] і [[BAS]] внесені до відкритих переліків програмного забезпечення, забороненого до використання для окремих категорій організацій.; Ризик
pgAdmin має змогу використовуватися для створення резервних копій і відновлення даних через інтерфейс до утиліт PostgreSQL.; └── public

<syntaxhighlight lang="sql">
  • підключатися до серверів PostgreSQL;
  • переглядати бази даних;
  • створювати бази;
  • переглядати схеми;
  • створювати таблиці;
  • переглядати інформаційні дані;
  • виконувати SQL-запити;
  • створювати індекси;
  • переглядати функції;
  • керувати ролями;
  • налаштовувати права;
  • виконувати backup;
  • виконувати restore;
  • аналізувати активність;
  • працювати через графічний інтерфейс.; Приклад пошуку дублікатів за кодом:

Він надає можливість:

pgAdmin і production

Через pgAdmin не варто: K2 ERP у цьому процесі має змогу стати основним джерелом бізнес-даних, а PostgreSQL і pgAdmin — технічним шаром для адміністрування, підтримки, резервного копіювання, API, BI, аналітичних вітрин і подальшого розвитку автоматизації бізнесу без залежності від старої екосистеми BAS / .; Якщо Tableau читає PostgreSQL, pgAdmin має змогу допомогти:

Погано:

Backup PostgreSQL

  • швидші SELECT;
  • швидші фільтри;
  • швидші JOIN;
  • краща робота BI;
  • швидші API-запити.; !; Перед restore потрібно розуміти:

Порівняння:

</syntaxhighlight>

  • захисту production;
  • тестового відновлення;
  • міграції;
  • перевірки оновлень;
  • відновлення після аварії;
  • архівації;
  • передачі тестової копії;
  • розгортання staging.; |-

| Чи можна через pgAdmin редагувати інформаційні дані K2 ERP?;</syntaxhighlight>

Особливо якщо таблиці містять:

  • ПІБ;
  • телефони;
  • email;
  • адреси;
  • ІПН;
  • паспортні інформаційні дані;
  • зарплата;
  • кадрові інформаційні дані;
  • банківські реквізити.; Безпечніші запити:

Ризик. У K2 ERP не можна виправляти бізнес-дані напряму через pgAdmin без погодженої процедури, резервної копії, журналювання і розуміння наслідків.; pgAdmin дає графічний інтерфейс для роботи з цими об’єктами.; Tableau / Power BI / Excel Power Query → PostgreSQL superuser

  • менеджери;
  • комірники;
  • касири;
  • звичайні бухгалтери;
  • зовнішні користувачі;
  • випадкові консультанти;
  • користувачі без технічної підготовки.; Роль

!; Варіант

Приклад простого запиту:

Або перевірити залишки:

як ілюстрація: Доступ до таких таблиць через pgAdmin має бути обмежений.; pgAdmin — це open-source інструмент адміністрування PostgreSQL.;

!; └── K2 PostgreSQL

pgAdmin має бути доступний тільки технічним ролям.; Головне. pgAdmin — це не ERP-система і не бізнес-застосунок для звичайних користувачів.; * чи backup створюється;

  • чи backup не пошкоджений;
  • чи restore виконується;
  • чи база відкривається;
  • чи функціонує K2 ERP;
  • чи працюють API;
  • чи працюють BI-вітрини;
  • чи не загублені файли;
  • скільки часу займає відновлення.; Якщо під час міграції інформаційні дані з BAS/1С переносяться в PostgreSQL або K2 ERP, pgAdmin має змогу бути корисним для технічної перевірки, але не повинен залишати стару BAS/1С прихованим джерелом даних.;

паралельно з цим виправлення має виконуватися через правильний механізм, а не ручним редагуванням таблиць без контролю.;== Desktop і web-режим pgAdmin == </syntaxhighlight>

Але перегляд даних потрібно робити обережно.; BAS/1С

</syntaxhighlight>

як ілюстрація:

</syntaxhighlight>

  • перевірити, чи записався API-запит;
  • знайти помилковий статус;
  • перевірити чергу інтеграції;
  • перевірити таблиці логів;
  • перевірити сервісного користувача;
  • перевірити інформаційні дані, які API повертає зовнішній системі.; WHERE edrpou IS NULL OR trim(edrpou) = ;

У PostgreSQL можуть бути персональні інформаційні дані.;

* змінювати інформаційні дані;
* видаляти інформаційні дані;
* створювати об’єкти без потреби;
* змінювати права;
* запускати небезпечні процедури.; PostgreSQL — це СУБД, де зберігаються інформаційні дані.; це графічний інструмент; додатково реалізовано конфігурація, перегляду, розробки й супроводу баз даних [[PostgreSQL]] виступає ключовою рисою адміністрування забезпечується через '''pgAdmin'''.; Restore — це відновлення з резервної копії.; BI → readonly role → аналітична вітрина

FROM public.counterparties

Краще:

* перевірити джерело даних;
* перевірити view;
* перевірити SQL;
* перевірити права;
* перевірити кількість рядків;
* перевірити продуктивність;
* перевірити, що Tableau не читає стару BAS/1С.; * бази даних;
* схеми;
* таблиці;
* індекси;
* представлення;
* матеріалізовані представлення;
* функції;
* процедури;
* тригери;
* послідовності;
* ролі;
* права доступу;
* розширення;
* журнали;
* системні каталоги;
* статистика;
* резервні копії;
* підключення;
* активні запити.;[[Категорія:BI]]

</div>
SET quantity = 100
[[Категорія:Резервна копія]]
Паролі до PostgreSQL не можна зберігати хаотично.;[[Категорія:Користувач K2 ERP]]

== pgAdmin і SSL ==

За допомогою pgAdmin адміністратори, розробники, аналітики й технічні спеціалісти можуть підключатися до серверів PostgreSQL, переглядати бази даних, схеми, таблиці, індекси, функції, ролі, виконувати [[SQL]]-запити, аналізувати структуру бази, створювати резервні копії, відновлювати інформаційні дані, перевіряти активність і виконувати технічні операції.; Поле

* користувачем для входу;
* груповою роллю;
* власником об’єктів;
* роллю для читання;
* роллю для запису;
* роллю адміністратора;
* роллю для BI;
* роллю для API;
* роллю для backup.; # Не використовувати superuser для BI або API.;== Типові помилки з pgAdmin ==
як ілюстрація:
|-
| Контрагенти
| Вивантаження CSV
| Таблиця counterparties
| Порівняти кількість
|-
| Номенклатура
| Excel/CSV
| Таблиця items
| Знайти дублікати
|-
| Залишки
| Звіт BAS
| stock_balances
| Звірити кількість
|-
| Ціни
| Регістр цін
| item_prices
| Перевірити актуальні ціни
|-
| Взаєморозрахунки
| ОСВ
| settlements
| Порівняти суми
|}

== Тестове відновлення ==

Тестова база потрібна для:

Потрібно контролювати:
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
як ілюстрація:
Але сама база даних — це не тільки таблиці.; # Розділити test, staging і production.; Коли доречний

Приклад:

<div style="border:3px solid #b71c1c; background:#ffebee; padding:14px; margin:16px 0;">

<syntaxhighlight lang="sql">

* персональні інформаційні дані;
* зарплату;
* фінансовий блок;
* собівартість;
* клієнтів;
* договори;
* банківські реквізити;
* API-токени;
* службові інформаційні дані;
* журнали входів.; Відповідь
<syntaxhighlight lang="text">

Для підключення в pgAdmin зазвичай потрібно вказати:

== Перегляд даних ==

<syntaxhighlight lang="sql">

* факти продажів;
* факти залишків;
* факти платежів;
* виміри клієнтів;
* виміри товарів;
* календар;
* організації;
* підрозділи;
* склади;
* менеджери;
* KPI;
* історичні інформаційні дані.; | Це open-source графічний інструмент для адміністрування PostgreSQL.; PostgreSQL часто застосовують, коли потрібно як надійна СУБД для бізнес-систем, ERP, CRM, web-застосунків, аналітичних систем, інтеграцій, data warehouse і BI-вітрин.; # Документувати службові запити.; K2 TEST

SELECT id, name

SSL сприяє захистити:

* таблиці вітрин;
* views;
* materialized views;
* індекси;
* права доступу;
* кількість рядків;
* дату актуалізація;
* якість даних;
* агрегати.; Приклад
== Основні функціональні можливості pgAdmin ==
pgAdmin не є собою інтерфейсом для бізнес-користувачів.; WHERE item_id = 123;

* перевірити кількість контрагентів;
* перевірити номенклатуру;
* перевірити залишки;
* перевірити документи;
* перевірити серії;
* перевірити характеристики;
* перевірити ціни;
* перевірити взаєморозрахунки;
* перевірити дублікати;
* перевірити помилки завантаження;
* перевірити таблиці протоколу міграції.;[[Категорія:Restore]]
== pgAdmin і EXPLAIN ==
<syntaxhighlight lang="sql">
</div>
|-
| Desktop
| Один адміністратор або локальна робота
| Паролі можуть зберігатися на робочому ПК
|-
| Web
| Централізований доступ через браузер
| Потрібен HTTPS, контроль користувачів і доступів
|-
| Server mode
| Командна робота адміністраторів
| Потрібна правильна політика безпеки
|}

Але індекси потрібно створювати обережно.; | Ні.; # Не працювати в production без потреби.; * що саме відновлюється;
* куди відновлюється;
* чи не буде перезаписано production;
* чи сумісна реліз PostgreSQL;
* чи є собою потрібні ролі;
* чи є собою розширення;
* чи достатньо місця;
* чи перевірено цілісність backup.; |-
| Для чого він потрібен?; GROUP BY code
як ілюстрація:
<syntaxhighlight lang="text">
|-
| Що таке pgAdmin?; Роль має змогу бути:

[[Категорія:1С]]

* перевірити SQL-запит;
* створити read-only view;
* перевірити доступ;
* перевірити типи колонок;
* перевірити інформаційні дані після міграції;
* перевірити продуктивність запиту.; Окремі продукти 1С і BAS внесені до переліків забороненого програмного забезпечення для окремих категорій організацій в Україні.; pgAdmin дає прямий доступ до бази даних, з цієї причини безпека критично важлива.; !; Він надає можливість працювати з базами даних, таблицями, схемами, ролями, SQL-запитами, резервними копіями, відновленням, BI-вітринами, інтеграційними даними й технічною діагностикою.; !; Під час переходу з BAS/1С pgAdmin сприяє:

* створити view для продажів;
* перевірити агрегацію залишків;
* протестувати SQL для [[Tableau]];
* перевірити інформаційні дані для [[Power BI]];
* перевірити таблиці data warehouse;
* перевірити права read-only користувача.; {| class="wikitable" style="width:100%;"

Але pgAdmin потрібно використовувати обережно.; |-
| Що головне для безпеки?;== Object Explorer ==

== Принцип мінімальних прав ==

 └── documents

Наслідки:

Приклад структури:

Servers

* тестового середовища;
* локальної розробки;
* ізольованого web-доступу;
* швидкого розгортання;
* DevOps-сценаріїв.;{{SEO
|title=pgAdmin — адміністрування PostgreSQL, SQL, резервні копії, K2 ERP, API, BI і міграція з BAS
|description=pgAdmin: що це таке, як працює інструмент адміністрування PostgreSQL, підключення до бази, SQL-запити, ролі, права, резервні копії, моніторинг, безпека, K2 ERP, API, BI, інтеграції і міграція з BAS та 1С.
|keywords=pgAdmin, PostgreSQL, адміністрування PostgreSQL, pgAdmin 4, SQL, база даних, СУБД, K2 ERP, ERP на PostgreSQL, резервна копія PostgreSQL, backup PostgreSQL, restore PostgreSQL, Query Tool, роли PostgreSQL, права доступу PostgreSQL, моніторинг PostgreSQL, API, BI, міграція з BAS, міграція з 1С, заміна BAS, заміна 1С, українська ERP, санкції BAS, санкції 1С, цифрова незалежність
|image=https://erp.kyiv.ua
}}
[[Категорія:PostgreSQL]]
== Superuser ==

Більшість небезпечних дій потрібно спочатку виконувати в тестовій базі.;

</syntaxhighlight>

  • чи застосовується індекс;
  • скільки рядків читається;
  • чому запит повільний;
  • які таблиці скануються;
  • де потрібна оптимізація.;== Restore PostgreSQL ==
  • персональні акаунти;
  • ролі з мінімальними правами;
  • секрет-сховище;
  • ротація паролів;
  • окремі ролі для API, BI, backup;
  • обмеження IP;
  • SSL;
  • журналювання.; |-

| Як pgAdmin сприяє при міграції з BAS/1С?; SELECT *

SELECT warehouse_id, item_id, SUM(quantity) AS quantity

Для аналітики часто достатньо read-only доступу.; Бізнес-операції мають виконуватися через K2 ERP, API, документи, звіти й контрольовані механізми.; # Робити backup перед змінами.;

PostgreSQL має власну систему ролей.; !; HAVING SUM(quantity) <> 0;

Read-only доступ

pgAdmin і цифрова незалежність

Індекси

!;== Query Tool ==

pgAdmin і права на персональні інформаційні дані

Приклад логіки:

  • давати pgAdmin-доступ усім;
  • використовувати superuser без потреби;
  • редагувати ERP-дані напряму;
  • виконувати UPDATE/DELETE без backup;
  • запускати важкі запити в production;
  • зберігати паролі у відкритому вигляді;
  • відкривати PostgreSQL в інтернет;
  • не використовувати SSL;
  • не вести журнал змін;
  • не перевіряти backup;
  • плутати test і production;
  • давати BI-користувачам зайві права;
  • залишати старі BAS/1С-джерела активними.; Це має змогу бути комфортно для:

актуалізація можуть містити:

  • хто має доступ до pgAdmin;
  • які сервери додані;
  • які паролі збережені;
  • які ролі використовуються;
  • чи є собою SSL;
  • чи є собою VPN;
  • чи відкритий pgAdmin в інтернет;
  • чи ведеться журналювання;
  • чи є собою MFA на рівні доступу;
  • чи обмежені IP;
  • чи немає спільних логінів;
  • чи немає доступу під superuser без потреби.; | Ні.; Перевірка

Редагування даних через pgAdmin

  • логіни;
  • паролі;
  • SQL-запити;
  • результати запитів;
  • службові інформаційні дані.; Superuser у PostgreSQL має дуже широкі права.; * Object Explorer;
  • Query Tool;
  • перегляд структури бази;
  • перегляд даних;
  • створення об’єктів;
  • редагування об’єктів;
  • backup і restore;
  • керування ролями;
  • перегляд властивостей;
  • пояснення запитів;
  • робота з серверами;
  • моніторинг активності;
  • перегляд SQL-скриптів створення об’єктів.;
    pgAdmin не має бути щоденним робочим інтерфейсом для бізнесу.; pgAdmin має змогу запускатися в контейнері.; WHERE date >= '2026-01-01';
    
    == pgAdmin і аналітичні вітрини ==
    Індекси допомагають прискорити запити.;[[Категорія:Цифрова незалежність України]]
    
    * всю базу;
    * окрему схему;
    * окремі таблиці;
    * структуру без даних;
    * інформаційні дані без структури;
    * повний dump;
    * custom format;
    * plain SQL.; Це інструмент прямого доступу до бази даних, з цієї причини неправильний SQL-запит або зайві права можуть пошкодити інформаційні дані, порушити бізнес-логіку, зламати BI або створити ризики безпеки.;[[Категорія:Міграція з BAS]]
    
    * можна змінити будь-які інформаційні дані;
    * можна видалити об’єкти;
    * можна змінити ролі;
    * можна побачити чутливі інформаційні дані;
    * можна порушити цілісність системи;
    * можна виконати небезпечні операції;
    * складніше обмежити відповідальність.;[[Категорія:Міграція з 1С]]
    

pgAdmin — це інструмент, через який адміністратор має змогу працювати з PostgreSQL.;== pgAdmin і актуалізація ==

Production-база — це робоча база компанії.;== pgAdmin і безпека == Приклади використання: └── Tables
  • адміністрування PostgreSQL;
  • розробки SQL;
  • діагностики бази;
  • перегляду таблиць;
  • перевірки даних;
  • створення backup;
  • відновлення backup;
  • конфігурація ролей;
  • аналізу запитів;
  • перевірки індексів;
  • аналізу продуктивності;
  • перевірки міграції;
  • підготовки аналітичних вітрин;
  • технічної підтримки ERP;
  • супроводу інтеграцій.; Для підключення до PostgreSQL бажано використовувати захищене з’єднання, особливо якщо підключення не локальне.; PostgreSQL / K2 ERP
Потрібно періодично перевіряти:

</syntaxhighlight> Якщо Excel Power Query підключається до PostgreSQL, pgAdmin має змогу допомогти:

SQL-запити в pgAdmin можуть бути корисними, але ризикованими.; істотно журналювати:

істотно про BAS і 1С. BAS та мають санкційні, юридичні й кібербезпекові ризики в Україні.;== Як правильно використовувати pgAdmin з K2 ERP ==

SELECT *

  • виконувати SELECT;
  • перевіряти інформаційні дані;
  • запускати службові запити;
  • аналізувати результат;
  • переглядати плани виконання;
  • експортувати результат;
  • тестувати запити для BI;
  • перевіряти інформаційні дані після міграції.; |-
Чи можна давати pgAdmin звичайним користувачам?; Production DB → Backup → Перевірка → Захищене сховище → Тестове відновлення

Помилка: pgAdmin як ключовий інтерфейс роботи

Найчастіші помилки:

Query Tool — це інструмент pgAdmin для виконання SQL-запитів.; SET quantity = 0;

k2_app Робота застосунку K2 ERP
k2_readonly Тільки читання для аналітики
k2_bi Доступ до BI-вітрин
k2_backup Резервне копіювання
k2_admin Адміністрування

У проєктах K2 ERP pgAdmin має змогу бути корисним для:

Помилка: переплутати test і production

  • BI-користувач не повинен змінювати інформаційні дані;
  • API-користувач не повинен мати superuser;
  • backup-користувач не повинен редагувати бізнес-таблиці;
  • розробник не повинен мати повний доступ до production без потреби;
  • аналітик не повинен бачити зарплату або персональні інформаційні дані без дозволу.; * активні підключення;
  • довгі запити;
  • блокування;
  • розмір баз;
  • розмір таблиць;
  • кількість рядків;
  • навантаження;
  • помилки;
  • індекси;
  • vacuum/analyze;
  • активність користувачів.; З урахуванням санкційних, юридичних і кібербезпекових ризиків BAS та , pgAdmin має змогу бути корисним у проєктах міграції: для перевірки даних у PostgreSQL, контролю аналітичних вітрин, звірки залишків, пошуку дублікатів і переведення компанії на відкриту, контрольовану архітектуру даних.; Потрібно чітко називати підключення:

UPDATE public.stock_balances

Краще робити виправлення через документ, службову процедуру або погоджений міграційний механізм.; Це інструмент адміністратора або технічного спеціаліста для роботи з PostgreSQL: базами, таблицями, ролями, SQL-запитами, резервними копіями й діагностикою.;== pgAdmin і моніторинг ==

Через pgAdmin можна перевірити:

EXPLAIN сприяє зрозуміти:

Приклад:

pgAdmin і Data Warehouse

  • обхід бізнес-логіки;
  • обхід журналювання ERP;
  • порушення цілісності даних;
  • неправильні залишки;
  • поломка документів;
  • розбіжності в регістрах;
  • некоректна аналітичні інструменти;
  • складність аудиту;
  • неможливість зрозуміти, хто і що змінив.; |-

| Чи є собою pgAdmin ERP-системою?; * довгий звіт блокує актуалізація;

  • міграційний скрипт блокує таблицю;
  • важкий запит навантажує базу;
  • транзакція не завершується;
  • користувач системи залишив відкриту сесію.;== Коротко ==
  • індекси займають місце;
  • можуть уповільнювати INSERT/UPDATE;
  • потребують обслуговування;
  • неправильні індекси не допомагають.; * сервери;
  • бази даних;
  • схеми;
  • таблиці;
  • колонки;
  • індекси;
  • constraints;
  • views;
  • materialized views;
  • functions;
  • procedures;
  • triggers;
  • sequences;
  • roles;
  • tablespaces.;

Погані підходи: Якщо K2 ERP використовує PostgreSQL як СУБД або має аналітичні вітрини в PostgreSQL, pgAdmin має змогу застосовуватися для технічного супроводу.; * видалення даних;

  • неправильні залишки;
  • пошкодження документів;
  • зупинка ERP;
  • аварійне відновлення;
  • втрата довіри до даних.; Звичайні бізнес-користувачі мають працювати через інтерфейс K2 ERP, API або BI, а не напряму з базою даних.; # Перевіряти SQL у тестовій базі.; Приклад:

Не варто відкривати PostgreSQL-порт напряму в інтернет без серйозного захисту.; Але не повинна:

  • відкривати pgAdmin усім користувачам;
  • використовувати один логін для всіх;
  • працювати під superuser без потреби;
  • зберігати production-паролі у файлах;
  • редагувати бізнес-дані напряму;
  • робити backup тільки “коли згадають”;
  • не перевіряти restore;
  • виконувати запити без LIMIT;
  • запускати важкі SELECT у робочий час;
  • не розділяти test і production;
  • давати Excel або Tableau повний доступ до бази;
  • ігнорувати санкційні ризики BAS/1С у міграціях.; pgAdmin має змогу використовуватися як:
З нею потрібно працювати дуже обережно.; Це інструмент адміністратора бази даних, а не бізнес-система.; Технічно pgAdmin має змогу дозволяти редагування даних у таблицях.; Для pgAdmin і PostgreSQL потрібно використовувати принцип мінімально необхідного доступу.; |} Через pgAdmin можна переглядати частину інформації про стан PostgreSQL.; Найгірший сценарій. Адміністратор відкриває pgAdmin до production-бази, виконує неперевірений UPDATE без backup, не має журналу змін, а потім виявляється, що порушені залишки, документи, BI і API.; # Перевіряти резервні копії.; |-
Чи є собою санкційні ризики у BAS і 1С?;

Помилка: ручне виправлення залишків

Приклад:

K2 PRODUCTION

  1. Використовувати pgAdmin тільки для технічних ролей.;== pgAdmin не треба відкривати всім ==
Такі операції не можна виконувати без погодження, backup і розуміння наслідків.;

DELETE FROM public.documents;

└── k2_erp
; Потрібно контролювати:

Одна з небезпечних помилок — виконати запит у production замість тестової бази.; # Використовувати read-only доступ для аналітики.;== pgAdmin не замінює K2 ERP ==

FROM public.sales

  • перевірити інформаційні дані після перенесення;
  • контролювати таблиці міграції;
  • аналізувати дублікати;
  • перевіряти залишки;
  • готувати BI-вітрини;
  • відмовитися від старих BAS/1С-запитів;
  • перевести аналітику на контрольовану PostgreSQL-архітектуру;
  • підтримувати цифрову незалежність.;== pgAdmin і Excel Power Query ==

pgAdmin надає можливість переглядати інформаційні дані таблиць.; * збереження конфігурації;

  • HTTPS;
  • автентифікацію;
  • резервне копіювання;
  • обмеження мережі;
  • журналювання;
  • актуалізація контейнера.;

pgAdmin і паролі

У сховищі можуть бути:

Object Explorer — це дерево об’єктів PostgreSQL.; # Не редагувати бізнес-дані напряму.;

HAVING COUNT(*) > 1; Під час переходу з BAS або у K2 ERP pgAdmin має змогу використовуватися для технічної перевірки даних у PostgreSQL.; FROM public.counterparties

Погані практики:

LIMIT 100;

  • не виконувати випадкові UPDATE/DELETE;
  • не запускати важкі запити в робочий час;
  • не змінювати структуру без плану;
  • не редагувати бізнес-дані напряму;
  • не давати доступ зайвим людям;
  • робити backup перед змінами;
  • тестувати зміни на test/staging;
  • вести журнал змін.;== pgAdmin і BI ==

pgAdmin і VPN

Що таке pgAdmin

pgAdmin і PostgreSQL

FROM public.stock_balances

як ілюстрація: У контексті K2 ERP pgAdmin має змогу використовуватися як допоміжний інструмент для технічного супроводу ERP-системи, якщо вона функціонує з PostgreSQL: перевірки структури бази, аналізу даних, діагностики інтеграцій, контролю запитів, резервного копіювання, моніторингу, перевірки міграції з BAS або , підготовки аналітичних вітрин для BI та роботи з API-даними.; У ній є собою:

pgAdmin і Docker

pgAdmin 4 має змогу працювати як desktop-застосунок або як web-застосунок через браузер.; FROM public.counterparties;

pgAdmin і міграція з BAS/1С

LIMIT 100;

Ризики:
Якщо організація має [[Data Warehouse]], pgAdmin має змогу використовуватися для PostgreSQL-сховища.;== Зовнішні посилання ==

Спрощена схема:

</syntaxhighlight>

Приклад пошуку контрагентів із порожнім ЄДРПОУ: pgAdmin — інструмент технічного рівня.;== pgAdmin і журналювання дій == Якщо pgAdmin підключається до production-бази, доступ краще обмежувати через VPN або внутрішню мережу.; У PostgreSQL і навколишній інфраструктурі потрібно налаштовувати відповідне журналювання.; FROM public.items Краще: Таке виправлення має змогу не оновити пов’язані документи, регістри, журнали, аналітику й історію.; Superuser-доступ має бути тільки у відповідальних адміністраторів.; Але Power Query не повинен отримувати superuser-доступ.; # Обмежити доступ через VPN або внутрішню мережу.;== Помилка: BI напряму під superuser ==

Для чого використовують pgAdmin

pgAdmin має змогу бути корисним для підготовки BI-вітрин.; pgAdmin використовують для:

  • виправлення помилок;
  • покращення безпеки;
  • нові функції;
  • підтримку нових версій PostgreSQL;
  • зміни інтерфейсу;
  • виправлення Query Tool;
  • виправлення backup/restore.;

Аналітична вітрина — це підготовлена структура даних для BI.; | Мінімальні права, VPN/SSL, окремі ролі, відсутність superuser без потреби, журналювання і контроль production.; Для серйозного моніторингу краще використовувати спеціалізовані системи моніторингу, а pgAdmin — як допоміжний інструмент.; | Для роботи з базами, таблицями, SQL-запитами, ролями, backup, restore і технічною діагностикою.; * адміністрування PostgreSQL;

  • перевірки міграції з BAS/1С;
  • аналізу даних;
  • перевірки BI-вітрин;
  • діагностики API;
  • створення backup;
  • відновлення тестових баз;
  • перевірки ролей;
  • аналізу продуктивності;
  • технічної підтримки.; * перевірки SQL-запитів;
  • тестування міграцій;
  • перевірки backup/restore;
  • навчання адміністраторів;
  • перевірки оновлень;
  • перевірки BI;
  • тестування API;
  • відпрацювання аварійних сценаріїв.; Адміністратор → pgAdmin → PostgreSQL Server → Бази даних → Таблиці → інформаційні дані

SELECT MAX(updated_at) AS last_update

  • створювати бізнес-документи;
  • змінювати довідники вручну;
  • проводити операції;
  • виправляти залишки напряму в таблицях;
  • редагувати фінансові інформаційні дані без процедури;
  • змінювати користувачів ERP в обхід системи;
  • робити ручні правки без журналювання в ERP.; Але BI-користувачі не повинні працювати з production через повний доступ.;

переважні аспекти:

Резервна копія має змогу включати:

Ролі PostgreSQL

  • K2 ERP;
  • web-інтерфейс;
  • документи;
  • довідники;
  • звіти;
  • API;
  • BI;
  • контрольовані імпорти.;== pgAdmin і SQL-запити ==

Підхід K2 ERP. У проєктах K2 ERP pgAdmin варто використовувати контрольовано: тільки для адміністраторів, розробників або аналітиків із потрібними правами.;== pgAdmin і K2 ERP ==

Але в ERP-системах ручне редагування таблиць є собою небезпечним.;
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">

Такі дії мають виконуватися через [[K2 ERP]], API, імпортні механізми або контрольовані службові процедури.;[[Категорія:Аналітична вітрина]]
* хто входив у pgAdmin;
* хто підключався до бази;
* хто виконував SQL;
* хто змінював структуру;
* хто створював backup;
* хто відновлював базу;
* хто змінював ролі;
* хто відкривав чутливі інформаційні дані.; Призначення

== Див.; додатково ==
Такі проблеми потрібно аналізувати обережно, особливо в production.; Питання
Ризики superuser-доступу:
Правильний порядок:
== Вступ ==
SELECT code, COUNT(*) AS qty
Правила:
<syntaxhighlight lang="sql">
pgAdmin потрібно оновлювати.; # Журналювати адміністративні дії.; '''Правильний підхід.''' pgAdmin має бути інструментом адміністраторів і технічних спеціалістів, а не способом ручного ведення ERP.; Не кожен адміністратор бази має мати доступ до всіх бізнес-даних без контролю.;
pgAdmin має змогу допомагати діагностувати API.; Цифрова незалежність. pgAdmin у зв’язці з PostgreSQL і K2 ERP має змогу допомогти компанії перейти від старих BAS/1С-баз, ручних обробок і прихованих Excel-звітів до контрольованої, відкритої й прозорої архітектури даних.;
== SQL для пошуку дублікатів ==
У ньому можна бачити:
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
[[Категорія:pgAdmin]]
 └── Schemas
pgAdmin має змогу бути частиною сучасної української ERP-архітектури, якщо застосовується для PostgreSQL, [[K2 ERP]], BI-вітрин, API-логів і контрольованих міграцій.;
 └── Databases

SELECT *

UPDATE stock_balances
</div>
== Приклад міграційної перевірки ==
[[Категорія:JSON 1С]]
Основні функціональні можливості:

== Приклад контрольного SQL-запиту ==

!; Погано:

[[Категорія:Оновлення K2 ERP]]

[[Категорія:Українське програмне забезпечення]]

{| class="wikitable" style="width:100%;"

* перевірити таблиці міграції;
* переглянути службову схему;
* перевірити кількість записів;
* виконати контрольний SQL-запит;
* перевірити індекси;
* перевірити права ролей;
* створити резервну копію;
* відновити тестову базу;
* перевірити BI-вітрину;
* діагностувати інтеграційні інформаційні дані;
* перевірити API-логи, якщо вони зберігаються в БД.; Блокування можуть виникати, коли один бізнес-процес заважає іншому.; * DBA;
* системний адміністратор;
* DevOps;
* розробник бази;
* технічний аналітик;
* інженер підтримки;
* інтегратор;
* відповідальний за міграцію.; Під час міграції з BAS у [[K2 ERP]] можна перевірити кількість контрагентів.; !; GROUP BY warehouse_id, item_id

<syntaxhighlight lang="sql">

[[Категорія:Права доступу]]

FROM public.documents

* читати таблиці;
* читати представлення;
* виконувати SELECT;
* працювати з BI-вітринами.;<syntaxhighlight lang="text">
бізнес-середовище має працювати через:
[[Категорія:BAS]]

Резервна копія має сенс тільки тоді, коли її можна відновити.; | Технічно іноді можна, але це небезпечно і не повинно робитися без процедури, backup і розуміння наслідків.; pgAdmin тісно пов’язаний із PostgreSQL.; Дія

K2 STAGING

Висновок

Приклади:

;

pgAdmin і Tableau

== pgAdmin і тестова база ==