Skip to main content

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;