1. Підключення до PostgreSQL через командний рядок:
psql -h <host> -p <port> -U <username> -d <database>
2. Підключення до бази без параметрів (якщо користувач і база мають однакове ім’я):
psql
3. Показати список усіх баз даних:
\l
4. Підключитися до іншої бази даних:
\c <database_name>
5. Показати список таблиць у поточній базі:
\dt
6. Показати всі об'єкти (таблиці, індекси, секвенції):
\d
7. Показати таблиці з усіх схем:
\dt *.*
8. Переглянути структуру конкретної таблиці:
\d <table_name>
9. Виконати SQL-запит (приклад):
SELECT * FROM users;
10. Вийти з psql:
\q
11. Створити нову базу даних:
CREATE DATABASE mydb;
12. Створити нову таблицю:
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
email TEXT UNIQUE
);
13. Додати новий запис:
INSERT INTO users (name, email) VALUES ('Іван', 'ivan@example.com');
14. Оновити дані в таблиці:
UPDATE users SET name = 'Петро' WHERE id = 1;
15. Видалити запис:
DELETE FROM users WHERE id = 1;
16. Показати поточного користувача:
SELECT current_user;
17. Показати всі користувачі PostgreSQL:
\du
18. Створити нового користувача:
CREATE USER new_user WITH PASSWORD 'password';
19. Надати права на базу:
GRANT ALL PRIVILEGES ON DATABASE mydb TO new_user;
20. Видалити базу даних:
DROP DATABASE mydb;
21. Надати користувачу права на всі таблиці в схемі (наприклад, public):
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO <username>;
22. Надати права на майбутні таблиці в схемі (автоматично):
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO <username>;
23. Надати права на використання секвенцій (наприклад, для автогенерації ID):
GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO <username>;
24. Надати користувачу право створювати таблиці у схемі:
GRANT CREATE ON SCHEMA public TO <username>;
25. Надати повний доступ до схеми (включаючи об’єкти):
GRANT ALL ON SCHEMA public TO <username>;
26. Позбавити користувача прав доступу до бази даних:
REVOKE CONNECT ON DATABASE <database_name> FROM <username>;
27. Позбавити прав на таблиці:
REVOKE ALL ON ALL TABLES IN SCHEMA public FROM <username>;
28. Видалити користувача (не повинен мати жодних об’єктів чи привілеїв):
DROP USER <username>;
Коментарі
Дописати коментар