Як встановити і почати використовувати postgresql в ubuntu, digitalocean

We hope you find this tutorial helpful. In addition to guides like this one, we provide simple cloud infrastructure for developers. Learn more →

Системи керування базами даних є ключовим компонентом роботи багатьох веб-сайтів і додатків. Вони надають засіб структурованого зберігання, організації та доступу до інформації.

PostgreSQL або Postgres - це система управління реляційної базою даних, що надає реалізацію мови запитів SQL. Це популярний вибір для безлічі великих і малих проектів. Postgres також має перевагу відповідності стандартам (в тому числі SQL), і, крім того, має безліч просунутих можливостей, наприклад, надійні транзакції (reliable transactions) і паралелізм без блокування читання (concurrency without read locks).

У цій статті ми продемонструємо, як встановити Postgres на віртуальний сервер з Ubuntu 16.04, а також висвітлимо кілька простих сценаріїв його використання.

перед установкою

Стандартні репозиторії Ubuntu містять пакети Postgres, тому для установки ми будемо використовувати пакетний менеджер apt.

Спочатку оновимо локальний список пакетів. Далі ми встановимо пакет Postgres і пакет -contrib. який додає додаткову функціональність:

Тепер, коли наше програмне забезпечення встановлено, ми можемо детальніше зупинитися на тому, як воно працює, і чому робота з Postgres може відрізнятися від використання інших баз даних, з якими ви могли працювати раніше.

Використання ролей і баз даних PostgreSQL

Існує кілька способів використовувати це для доступу до Postgres.

Тепер ви можете отримати доступ до командного рядка Postgres надрукувавши команду:

Після цього ви зможете увійти і почати взаємодіяти з системою управління базами даних.

Для виходу з PostgreSQL надрукуйте:

Після цього ви повинні побачити стандартне запрошення командного рядка Linux (Linux command prompt).

Ви також можете виконувати команди postgres безпосередньо за допомогою sudo.

Наприклад, вище ми хотіли отримати доступ до інтерфейсу командного рядка Postgres. Ми можемо зробити це одним рядком, використовуючи команду psql від імені користувача postgres з sudo:

Це дозволить вам увійти в інтерфейс командного рядка Postgres без використання оболонки bash.

Для виходу з інтерактивної сесії Postgres надрукуйте:

Створення нової ролі

На даний момент у нас є всього одна роль postgres. Ми можемо створювати нові ролі використовуючи команду createrole з командного рядка. Прапор --interactive дозволить зробити це в інтерактивному режимі, коли система буде запитувати необхідні значення у вас.

Якщо ви віддаєте перевагу використовувати sudo перед вашими командами і не перемикатися між користувачами, ви можете зробити це в такий спосіб:

Ви можете використовувати додаткові прапори при виконанні цієї команди. Ознайомитися з повним списком прапорів можна вивчивши сторінку man:

Створення нової бази даних

Ще одне припущення, яке робить Postgres, полягає в тому, що для кожної ролі, яка була використана для входу, необхідно створити базу даних з тим же ім'ям, що і ім'я ролі, до якої можна буде здійснювати доступ за допомогою цієї ролі.

Тому для створеного нами раніше користувача з ім'ям sammy відповідна роль буде за замовчуванням намагатися з'єднатися з базою даних sammy. Ви можете створити цю базу даних за допомогою команди createdb.

Якщо ви віддаєте перевагу використовувати sudo перед вашими командами і не перемикатися між користувачами, ви можете зробити це в такий спосіб:

Запуск командного рядка Postgres з новою роллю

Для використання ідентичної аутентифікації (ident authentication) вам необхідно мати користувача Linux з тим же ім'ям, що і ім'я ролі і бази даних Postgres.

Після створення користувача ви можете змінити користувача і зайти в Postgres командами:

Або ви можете зробити це в такий спосіб:

Ви автоматично ввійдете в Postgres, якщо всі компоненти були сконфігуровані правильним чином (як описано вище).

Якщо ви хочете увійти в іншу базу даних, ви можете вказати ім'я бази даних в явному вигляді:

Після здійснення входу ви можете перевірити інформацію про поточний підключенні командою:

Ця інформація може бути корисна при підключенні до баз даних і з використанням користувачів, відмінних від створених за замовчуванням.

Створення та видалення таблиць

Тепер, коли ви знаєте, як здійснювати доступ до СУБД Postgres, ми можемо коротко розглянути питання виконання деяких поширених завдань в Postgres.

Для початку створимо таблицю для зберігання даних. Давайте створимо таблицю, яка описує параметри інвентарю дитячого майданчика.

Базовий синтаксис для цієї команди виглядає приблизно так:

Як видно з цього прикладу, ви задаємо ім'я таблиці і потім визначаємо необхідні стовпці, їх тип і максимальну довжину збережених значень. Ми також можемо додавати обмеження на значення в кожному зі стовпців.

Для цілей нашого прикладу ми створимо просту таблицю:

Ми створили таблицю для інвентарю дитячого майданчика. Перший стовпець містить ідентифікатор інвентарю з типом serial. Це цілочисельний тип даних з автоінкрементом. Ми поставили це стовпець з параметром первинного ключа (primary key), що означає, що всі значення повинні бути ненульовими і унікальними.

Для двох наших стовпців (equip_id і install_date) ми не задали максимальну довжину значень. Деякі типи стовпців не вимагає завдання максимальної довжини значення, тому що довжина визначається типом даних в цьому стовпці.

Крім того ми створили стовпці type і color. які не можуть бути порожніми. Ми також створили стовпець location і налаштували його таким чином, що його значення може приймати одне з восьми заданих значень. Останній стовпець задає дату установки даної одиниці інвентарю дитячого майданчика.

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

Наша таблиця на місці, але крім неї у нас тепер є і щось під назвою playground_equip_id_seq з типом sequence. Це щось є реалізацією типу serial. який ми задали для стовпця equip_id. Таким чином Postgres буде стежити за наступним номером у послідовності ідентифікаторів, цей зв'язок створюється автоматично для стовпців даного типу.

Якщо ви хочете побачити список тільки таблиць, без об'єктів-послідовностей, ви можете набрати наступну команду:

Додавання, запит і видалення даних з таблиці

Тепер, коли у нас є таблиця, ми можемо додати в неї дані.

Спочатку додамо гірку (slide) і гойдалки (swing). Для того, щоб це зробити, нам необхідно вказати ім'я таблиці, назви стовпців, а також самі дані:

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

Також треба мати на увазі, що ми не вказуємо значення для стовпця equip_id. Це значення буде задаватися автоматично при додавання нового запису в таблицю.

Як видно з цього консольного виведення, наше поле equip_id було успішно заповнене автоматично, а інші поля також отримали коректні значення.

Якщо гірка на нашій дитячій площадці зламалася і нам необхідно її прибрати, ми можемо видалити цей запис з нашої бази наступною командою:

Як додавати і видаляти стовпці з таблиці

При необхідності ми можемо легко додати додаткові стовпці і після створення таблиці.

Для прикладу додамо в нашу таблицю стовпець, що містить інформацію про дату останнього огляду одиниці інвентарю дитячого майданчика:

Тепер якщо ми виведемо вміст таблиці, ми побачимо, що новий стовпець був доданий (але існуючі записи не містять ніяких значень в цьому стовпці):

Ми також легко можемо і видаляти стовпці. Наприклад, якщо наш ремонтний відділ використовує окремий інструмент для відстеження історії технічного обслуговування інвентарю нашого майданчика, ми можемо видалити створений раніше стовпець наступним чином:

Як оновлювати дані в таблиці

Ми вже знаємо, як додавати записи в таблицю і як видаляти їх з таблиці. Тепер ми розглянемо питання зміни існуючих в таблиці записів.

Ви можете оновлювати значення існуючих записів шляхом вибірки необхідних записів і установки значень необхідних стовпців. Наприклад, ми можемо знайти всі записи для гойдалок (swing) і змінити їх колір на червоний, тому що раніше ми пофарбували все гойдалки на нашій дитячій площадці в червоний колір:

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

Як бачите, тепер наші гойдалки червоного кольору.

висновок

Схожі статті