Skip to content

Instantly share code, notes, and snippets.

@ShilGen
Last active May 23, 2024 13:15
Show Gist options
  • Save ShilGen/9e73b73ac39ae5589eb3afb445b48ca9 to your computer and use it in GitHub Desktop.
Save ShilGen/9e73b73ac39ae5589eb3afb445b48ca9 to your computer and use it in GitHub Desktop.

𝓟𝓸𝓼𝓽𝓰𝓻𝓮𝓢𝓠𝓛

Master заметка


Установка PostgreSQL на Ubuntu, Debian, Astra Linux

1) обновление доступных пакетов

sudo apt update

2) установка пакета

sudo apt install postgresql-12

3) Проверка настроек postgresql.conf

    SELECT current_setting('hba_file');

/etc/postgresql/14/main/pg_hba.conf

Отредактируйте файл «/etc/postgresql/10/main/postgresql.conf» с помощью любого текстового редактора (потребуются права суперпользователя)

 sudo vim /etc/postgresql/12/main/postgresql.conf

установив значение параметра «listen_addresses» равным «'*'»:

listen_addresses = '*'

4) Проверка настроек pg_hba.conf

sudo vim /etc/postgresql/12/main/pg_hba.conf

Убедитесь, что в файле ««/etc/postgresql/10/main/pg_hba.conf» присутствуют строки, не предварённые символом комментария («#»):

host all all 127.0.0.1/32 md5
host all all ::1/128 md5

step-1

vi /etc/postgresql/14/main# vi postgresql.conf
listen_addresses = '*'

step-2

vi /etc/postgresql/14/main# vi pg_hba.conf
# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             0.0.0.0/0            scram-sha-256
# IPv6 local connections:
host    all             all             ::1/128                 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     peer

5) Для подключения к СУБД удаленных клиентов

добавь в файл соответствующую запись, например, для обслуживания подсети 192.168.xxx.xxx:

host all all 192.168.0.0/16 md5

6) Перезагрузка службы

sudo service postgresql restart

sudo apt search postgresql
sudo apt install postgresql-client-common
sudo apt install postgresql-client-12
sudo service postgresql status

Создание базы данных

1) Запуск PostgreSQL в консоли

sudo -i -u postgres psql

Задать пароль для пользователя postgrs

 \password postgres

2) Создание пользователя

CREATE USER pyramid WITH PASSWORD 'password';

3) Создание базы данных

CREATE DATABASE pyramid WITH ENCODING 'utf8' OWNER pyramid;

4) Выбор базы данных

\c pyramid

5) Выдача требуемые права пользователю

REVOKE CONNECT ON DATABASE pyramid FROM PUBLIC;
GRANT CONNECT ON DATABASE pyramid TO pyramid;
REVOKE ALL ON SCHEMA public FROM PUBLIC;
GRANT ALL ON SCHEMA public TO pyramid;

6) Выход из консоли PostgreSQL

\q + Enter

error obtaining MAC configuration

Файл /etc/parsec/mswitch.conf, параметр zero_if_notfound установить в yes


Something about PostgreSQL

база в постгресе - это просто папка с файлами. а у файлов есть даты так можно посмотреть. вдруг чего интересного. файлы называются бессмысленно. но это можно разобрать а где они лежат?

переменная среды PGDATA - папка с данными постгрес

по умолчанию в линуксе

/var/lib/pgsql/data там смотришь папку base

вот такая команда дает имя файла данной таблицы:

select pg_relation_filepath('entity_data')
  • и получаешь ззапись, содержащую размер файла, время последнего обращения, время последнего изменения состяния (linux), время создания (windows)...
select pg_stat_file('{имя файла}')

Конфигурация СУБД после установки

  • Installation Directory:

C:\Program Files\PostgreSQL\11

  • Server Installation Directory:

C:\Program Files\PostgreSQL\11

  • Data Directory:

C:\Program Files\PostgreSQL\11\data

  • Database Port: 5432
  • Database Superuser: postgres
  • Operating System Account: NT AUTHORITY\NetworkService
  • Database Service: postgresql-x64-11
  • Command Line Tools Installation Directory:

C:\Program Files\PostgreSQL\11

  • pgAdmin4 Installation Directory:

C:\Program Files\PostgreSQL\11\pgAdmin 4

  • Stack Builder Installation Directory:

C:\Program Files\PostgreSQL\11

  • Installation Log:

C:\Users\GShilov\AppData\Local\Temp\install-postgresql.log

REM Установка переменных окружения

SET PGBIN=c:\Program Files\PostgreSQL\9.2.4-1.1C\bin
SET PGDATABASE=ut
SET PGHOST=localhost
SET PGPORT=5432
SET PGUSER=postgres
SET PGPASSWORD=123456
CALL "%PGBIN%\pg_dump.exe" --format=custom --verbose --file=%DUMPPATH% 2>%LOGPATH%
REM Анализ кода завершения
IF NOT %ERRORLEVEL%==0 GOTO Error
GOTO Successfull

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment