1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
# Как настроить сетевое подключение
 Обновлено: 11.12.2024  Опубликовано: 11.10.2016
По умолчанию, сервер баз данных pgsql разрешает подключение только с локального компьютера. Данная инструкция показывает, как разрешить подключения с удаленных систем.
Для настройки нам нужно будет внести изменения в два файла:
## Основной конфигурационный файл postgresql.conf
Для начала посмотрим путь расположения конфигурационного файла **postgresql.conf**:
su - postgres -c "psql -c 'SHOW config_file;'"
Команда выдаст, примерно, следующее:
-----------------------------------------
/var/lib/pgsql/data/postgresql.conf
(1 row)
_* нас интересует строчка **/var/lib/pgsql/data/postgresql.conf** — это путь расположения нужного нам конфигурационного файла._
Теперь открываем на редактирование основной файл конфигурации PostgreSQL по найденному пути:
vi /var/lib/pgsql/data/postgresql.conf
Находим и редактируем следующее:
listen_addresses = '*'
_* по умолчанию, параметр закомментирован и настроен на прослушивание запросов только с локального сетевого интерфейса. В данном примере мы разрешили прослушивание запросов на всех IP-адресах **(*)**, но, если требуется более безопасная настройка, можно просто перечислить последние через пробел._
Чтобы изменения вступили в силу, перезапускаем службу postgresql:
systemctl restart postgresql
_* данное имя службы (**postgresql**) может сильно отличаться, в зависимости от системы. Иногда, необходимо добавить версию postgresql или использовать другое имя. Стоит обратиться к документации, чтобы выяснить точное название сервиса._
Проверим, что настройка применилась:
ss -tunlp | grep 5432
_* где **5432 —** порт, на котором работает postgresql. Данный номер используется по умолчанию, но в вашей системе он может быть другим._
В ответ мы должны получить строку, содержащую что-то на подобие:
... 0.0.0.0:5432 ...
Первые **0.0.0.0** говорят о том, что PostgreSQL слушает сетевые запросы на всех сетевых интерфейсах. Если мы ограничили прослушивание, настраивая опцию **listen_addresses**, то вместо нулей мы увидим конкретный IP, на котором разрешили работать службе.
## Файл host-based authentication (pg_hba.conf)
Смотрим путь расположения конфигурационного файла **pg_hba.conf**:
su - postgres -c "psql -c 'SHOW hba_file;'"
Команда выдаст, примерно, следующее:
---------------------------------
/var/lib/pgsql/data/pg_hba.conf
(1 row)
Открываем на редактирование файл, путь до которого вернула команда выше:
vi /var/lib/pgsql/data/pg_hba.conf
Находим:
# IPv4 local connections:
и сразу под ним добавляем строку на подобие:
host all all 192.168.0.10/32 md5
* в данном примере мы:
- разрешаем удаленные подключения к серверу с компьютера **192.168.0.10**.
- доступ предоставляется всем базам (первое **all**).
- доступ предоставляется всем учетным записям (второе **all**).
- обратите внимание на **md5** — способ хэширования пароля. В зависимости от версии postgresql может потребоваться использовать другой вариант.
** При желании, вместо all можно указать конкретные данные для повышения безопасности.
Чтобы изменения вступили в силу, перезапускаем службу postgresql:
systemctl restart postgresql
## Проверка подключения
Проверить подключение можно с удаленного компьютера следующей командой:
psql -h 192.168.0.15 -U usersql
_* где **192.168.0.15** — IP-адрес сервера баз данных; **usersql** — имя учетной записи, от которой идет подключение._
==================================================
```sh
# Установка POSTGRES из исходников:
curl ............
sudo tar xzvf postgresql.tar.gz
cd postgresql
./configure --prefix=/var/lib/postgresql
make world
sudo make install world
sudo chown -R vlapa:vlapa /var/lib/postgresql
export PGDATA=/var/lib/postgresql
./bin/pg_ctl initdb
./bin/pg_ctl -D /var/lib/postgresql/main/ start
./bin/psql -h localhost -U vlapa postgres
\d
create database some_temp_db;
\c some_temp_db
#=============================
sudo tar xzvf file_name*.tgz -C /opt/
cd /opt/file_name
./install
tar -xvzf имя_файла
# Для архивов сжатых с помощью BZIP (bz, bz2 и т.д.) выполняем:
tar -xvjf имя_файла
#Команды Tar:
-x — извлечь файлы из архива;
-v — подробный вывод информации на экран;
-f — Обязательная опция. Если не указать, Tar будет пытаться использовать магнитную ленту;
-z — обработать архив сжатый gzip’ом;
-j — обработать архив сжатый bzip’ом.
vim `~/.local/share/applications/PyCharm.desktop
```
```bash
[Desktop Entry]
Version=1.1
Type=Application
Name=nsnake
GenericName=Classic snake game on the terminal
NoDisplay=false//отображать в меню
Icon=nsnake
Exec=nsnake
Terminal=true//запускать в терминале
Actions=
Categories=ActionGame;Game;
Keywords=snake;ncurses;textual;terminal;
```
```bash
[Desktop Entry] //desktop-файл всегда начинается с этого
Encoding=UTF-8 //кодировка
Type=Application //тип
Name=Eclipse C/C++IDE //имя
Comment=Eclipse C/C++IDE //комментарий в лаунчере
Terminal=false
Exec=/home/kofed/eclipse/eclipse //путь к исполняемому файлу
Icon=/home/kofed/eclipse/icon.xpm //путь к иконке
```
|