Просмотров: 31260
										Дата последнего изменения: 12.02.2025					
					
			
							
			
			
				
									
						Сложность урока:
						
							
								
									
										3 уровень - средняя сложность. Необходимо внимание и немного подумать.
									 
								 
							 
														
															
									4
								
																
									5
								
														 
					 
				
				
				
							 
		 
	 	
	
		 
Установка на CentOS 7 (BitrixVM)
Инструкция на сайте PostgreSQL 
- Обновите BitrixVM
yum -y update 
-  В стандартном репозитории - старая версия PostgreSQL , поэтому запретите установку из нее. Для этого в файле /etc/yum.repos.d/CentOS-Base.repoв секции [base] добавьте:exclude=postgresql* 
- Добавьте в систему репозиторий PostgreSQL и уточните доступные версии:
yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
 
yum list -y postgre*-server*
 Отобразиться примерно такое: 
Available Packages
postgresql-server.x86_64                           9.2.24-8.el7_9                            updates
postgresql12-server.x86_64                         12.15-1PGDG.rhel7                         pgdg12
postgresql13-server.x86_64                         13.11-1PGDG.rhel7                         pgdg13
postgresql14-server.x86_64                         14.8-1PGDG.rhel7                          pgdg14
postgresql15-server.x86_64                         15.3-1PGDG.rhel7                          pgdg15
 
- Установите 12 версию БД и дополнения для него:
yum -y install postgresql12-server
 
yum -y install postgresql12-contrib 
- Инициализируйте БД:
[root@pg ~]# /usr/pgsql-12/bin/postgresql-12-setup initdb
Initializing database ... OK
 Будет создана папка /var/lib/pgsql/12/data/и файлы конфигурации в ней.
 Не ищите эти файлы в /etc/! 
- Активируйте запуск сервиса при загрузке системы и следом запустите службу:
systemctl enable postgresql-12
 
service postgresql-12 start
 
- Установите расширение pgsql для PHP: 
yum -y install php-pgsql
 
- Уберите лишнее расширение pdo_pgsql и перезапустите веб-сервер:
mv /etc/php.d/30-pdo_pgsql.ini /etc/php.d/30-pdo_pgsql.ini.disabled
 
service restart httpd
 
 
Установка на MacOS
Инструкция на сайте PostgreSQL
- Установите 11 или выше версию БД:
brew install postgresql@11 
- Запустите сервис при загрузке системы:
brew services start postgresql@11 
 
Конфигурация PostgreSQL
- Добавьте пользователя:
root@max:/# sudo -u postgres createuser www-data
 Для версии начиная с 15: 
root@max:/# sudo -u postgres psql
postgres=> grant create on schema public to "www-data";
 
- Добавьте базу данных:
root@max:/# sudo -u postgres createdb www-data --owner www-data  --lc-ctype C.UTF-8 --template=template0 
- Добавьте расширение pgcrypto:
root@max:/# sudo -u postgres psql -d www-data
postgres=# CREATE EXTENSION IF NOT EXISTS pgcrypto; 
- Задайте пароль:
root@max:/# sudo -u www-data psql --user www-data
www-data=> ALTER USER "www-data" WITH PASSWORD 'passwd'; Если вы при соединении из PHP получили ошибку типа Ident authentication error..., то нужно в конфигурационных файлах разрешить аутентификацию по паролю. Для этого в файле /var/lib/pgsql/11/data/pg_hba.confизмените строки, заменяя последнюю колонку на password.
 # IPv4 local connections:
host    all             all             127.0.0.1/32            password
# IPv6 local connections:
host    all             all             ::1/128                 password 
- Перезапустите сервер.