понедельник, 26 сентября 2016 г.

Справка / Установка PostgreSQL


Установка:
yum -y install https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpm
yum -y install postgresql95 postgresql95-server postgresql95-contrib postgresql95-libs

Инициализация:
/usr/pgsql-9.5/bin/postgresql95-setup initdb

Настройка авторизации
vi /var/lib/pgsql/9.5/data/pg_hba.conf
 Блок
# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident
 Заменить на 
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5 
Запуск
systemctl start postgresql-9.5

Автозагрузка
 systemctl enable postgresql-9.5

*Управление службой
service postgresql-9.5 start 
service postgresql-9.5 stop
service postgresql-9.5 restart 

Первый вход
sudo -u postgres psql
 
Для сброса пароля в файле  
vi /var/lib/pgsql/9.5/data/pg_hba.conf
поменять md5 на trust
и перезапустить сервис 
 
Создание базы
CREATE DATABASE имя_базы ;
 
CREATE DATABASE "confluence"
  WITH OWNER "confluence"
  ENCODING 'UTF8'
  LC_COLLATE = 'en_US.UTF-8'
  LC_CTYPE = 'en_US.UTF-8'; 
Список баз
\l;

Создание пользователя
CREATE USER имя_пользователя WITH PASSWORD 'пароль';

 
Список пользователей
\du;
 
Предоставление прав на базу

#GRANT ALL PRIVILEGES ON DATABASE имя_базы TO имя_пользователя; 
GRANT ALL PRIVILEGES ON DATABASE confluence TO confluence; 
  
#ALTER DATABASE имя_базы_данных OWNER TO Имя_пользователя; 
ALTER DATABASE confluence OWNER TO confluence; 


Изменение директории PostgreSQL
mkdir /opt/data
chown -R postgres /opt/
rm -rf /var/lib/pgsql/9.5/data; ln -s /opt/data /var/lib/pgsql/9.5/data

Инициализация
/usr/pgsql-9.5/bin/postgresql95-setup initdb

Удалённый доступ к PostgreSQL
# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local              all                     all                                                      md5
# IPv4 local connections:
host               all                     all             127.0.0.1/32                     md5
# IPv6 local connections:
host               all                     all                ::1/128                           md5 
host               prc                   prc            10.10.105.14/24                md5
host               prc                   prc            10.10.105.15/24                md5

*пользователю prc разрешён доступ с указанных IP только к базе prc и только с использованием пароля



Тестирование подключения к базе


psql -h localhost -p 5432 -U rhodecode -W
или 
psql -h localhost -p 5432 -d Имя Базы -U Имя Пользователя -W
 

https://www.digitalocean.com/community/tutorials/how-to-use-roles-and-manage-grant-permissions-in-postgresql-on-a-vps--2

Удаление PostgreSQL
yum -y remove postgresql93 postgresql93-server postgresql93-contrib postgresql93-libs
mv /var/lib/pgsql /var/lib/old.pgsql
 

Комментариев нет:

Отправить комментарий