Postgresql
Подключение:
psql
-U имя пользователя
-W пароль
-d имя базы
Сброс пароля пользователя: в файле pg_dba.conf
Установка pg_dump pg_restore
sudo apt update && sudo apt upgrade
sudo apt install postgresql-client postgresql-client-common libpq-dev
pg_dump -h 127.0.0.1 -p 5437 -U dbuser -d dbname -F p > ~/tmpdb.sql
Команды
список пользователей
\du
SELECT usename, usesuper, usecreatedb FROM pg_catalog.pg_user;
создать пользователя
CREATE USER user_name WITH PASSWORD 'myPassword';
сменить пароль пользователя
ALTER USER user_name WITH PASSWORD 'new_password';
список баз данных
\l
SELECT datname FROM pg_database;
создать базу данных
CREATE DATABASE имя_БД;
drop database имя_БД
установить права пользователя на базу
GRANT ALL PRIVILEGES ON DATABASE database1 to dmosk;
список таблиц
\dt
Восстановление базы данных
CREATE DATABASE mainbase_restore WITH TEMPLATE template0 ENCODING 'UTF8';
-- Завершаем все подключения к mainbase
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'mainbase' AND pid <> pg_backend_pid();
-- 3. Переименовываем оригинальную базу в mainbase_old
ALTER DATABASE mainbase RENAME TO mainbase_old;
-- ❗ Также нужно завершить подключения к mainbase_restore, чтобы переименовать её
SELECT pg_terminate_backend(pid)
FROM pg_stat_activity
WHERE datname = 'mainbase_restore' AND pid <> pg_backend_pid();
-- 4. Переименовываем восстановленную базу в mainbase
ALTER DATABASE mainbase_restore RENAME TO mainbase;
No Comments