Postgresql установка: Установка и базовая настройка PostgreSQL в Windows 10

Содержание

PHP: Установка — Manual

Change language:
EnglishBrazilian PortugueseChinese (Simplified)FrenchGermanJapaneseRussianSpanishTurkishOther

Submit a Pull Request
Report a Bug

Для того, чтобы включить поддержку PostgreSQL необходимо скомпилировать PHP
с директивой —with-pgsql[=DIR]. Параметр
DIR определяет путь к установочной директории PostgreSQL, по умолчанию это
/usr/local/pgsql. Если доступен динамический модуль, то он
может быть включён директивой extension
в php.ini, либо функцией dl().

add a note

User Contributed Notes 7 notes

up

down

11

sean at cockroachlabs dot com

6 years ago


Starting with PHP 7, on Ubuntu (i.e., 16+), you can run:

`sudo apt-get install php-pgsql`

up

down

7

Serjik

13 years ago


On a Windows server, configured with Apache, adding the following line to httpd. conf to load libpq.dll can save you a lot of time :

LoadFile "C:/Program Files/PostgreSQL/8.4/bin/libpq.dll"

Note that you will have to change your folder accordingly to the installation path and version of PostgreSQL you have installed. Also note that having Apache and PostgreSQL on the same server for production environments is not recommended.

Cheers,
Serjik

up

down

-7

Anonymous

6 years ago


for php 7, "sudo apt install php7.0-pgsql" worked for me

up

down

-12

Anto Binish Kaspar

13 years ago


An easy way to install in ubuntu(debain)
Just run " apt-get install php5-pgsql "

up

down

-23

zonetejasmikel at yahoo dot com

9 years ago


if you get
/pgsql.c:789: error: 'from' undeclared (first use in this function)
etc. compiling in linux its a typo in the define of pgsql.c file

change to this
#if !HAVE_PQESCAPE_CONN
#define PQescapeStringConn(conn, to, from, len, error) PQescapeString(to, from, len)
#endif

up

down

-31

samuel+php dot net at dionne-riel dot com

12 years ago


On PHP 5.3, you may encounter this error.
    Cannot create new link. Too many open links

I did with Archlinux. pgsql.so was active.

To resolve the issue, I had to active pdo.so and pdo_pgsql.so. Hope this helps!

up

down

-33

Simon

14 years ago


Windows users should be mindful that since 5.2.6 it seems that the version of php_pgsql.dll supplied is dynamically linked and requires libpq.dll.

The version supplied in 5.2.5 is statically linked and does not have this dependency, if you cannot load the Postgres extension grab php_pgsql. dll from the 5.2.5 distribution

add a note

Sprintbox — PostgreSQL

PostgreSQL — объектно-реляционная система управления базами данных, доступная для работы на различных операционных системах. В данной инструкции мы установим PostgreSQL-сервер на виртуальную машину с ОС семейства Unix.

CentOS/Fedora/RedHat

  • Находим ссылку на RPM-файл нужной версии PostgreSQL для ОС на официальном сайте
  • Подключаем репозиторий:
 yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
  • Устанавливаем PostgreSQL-пакеты вместе с phpPgAdmin:
 yum install postgresql postgresql-server postgresql-contrib
  • Инициализируем базы данных кластера:
 service postgresql initdb
  • Запускаем сервер базы данных:
 service postgresql start

Ubuntu/Debian

  • Выполняем установку пакетов для PostgreSQL:
 apt-get install postgresql postgresql-contrib
  • Перезапускаем сервис базы данных:
 service postgresql restart

Однако в PPA разработчиков PostgreSQL можно найти актуальную версию. Для этого добавьте репозиторий PostgreSQL в системный список источников и добавьте для него ключ:

 sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
 wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -

Это позволит при обновлении пакетов получать наиболее актуальные версии.

Установка из исходного кода

Также имеется возможность установить PostegreSQL нужной версии из исходного кода. Для этого достаточно воспользоваться инструкцией, выгрузив перед этим требуемую версию с официального сайта.

Установка phpPgAdmin

Debian/Ubuntu

  • Устанавливаем пакет:
$ apt-get install phppgadmin
  • Разрешаем внешний доступ в файле /etc/apache2/conf-available/phppgadmin.conf, снимая комментирования со строки #Require all granted
  • Чтобы указать конкретный IP-адрес, нужно использовать:

 Require ip X. X.X.X.

где X.X.X.X. — ваш IP-адрес

  • Можно отключить дополнительную защиту при авторизации в файле /etc/phppgadmin/config.inc.php
$conf['extra_login_security']=false
  • Для применения изменений перезагружаем веб-сервер:
service httpd restart

CentOS

  • Устанавливаем репозиторий EPEL:
yum install epel-release
  • Обновляем менеджер пакетов:
$ yum update
  • Устанавливаем phpPgAdmin:
$ yum -y install phpPgAdmin
  • Разрешаем внешний доступ в файле /etc/httpd/conf.d/phpPgAdmin.conf, снимая комментирования со строки #Require all granted
    • Чтобы указать конкретный IP-адрес, нужно использовать Require ip X.X.X.X.

где X.X.X.X. — ваш IP-адрес

  • Можно отключить дополнительную защиту при авторизации в файле /etc/phppgadmin/config.inc.php
  • Перезагружаем веб-сервер:
service httpd restart

Vesta

Помимо установки согласно инструкции для ОС, нужно выполнить дополнительные действия для интеграции с панелью.

  • Включаем поддержку баз данных PgSQL в Vesta:
$ open /usr/local/vesta/conf/vesta.conf and set DB_SYSTEM to 'mysql,pgsql'
  • Регистрируем экземпляр pg в панели управления:
$ v-add-database-host pgsql localhost postgres pgp4sw0rd
$ service httpd restart
  • Устанавливаем пользовательский пароль:
$ su - postgres
$ psql -c "ALTER USER postgres WITH PASSWORD 'pgp4sw0rd'" 
$ exit

Изменение версии

Перед работами обязательно сохранить бекап, так как параметры версий могут быть несовместимы.

ISPManager

  • Для изменения основной версии PostgreSQL необходимо воспользоваться инструкцией

На операционных системах без установленной панели управления

  • Вначале необходимо установить новую версию PostgreSQL, руководствуясь инструкцией из пункта «Установка PostgreSQL»
  • Если установка происходит из исходного кода, то необходимо производить её в другой каталог, изменив стандартный порт (его значение 5432) с помощью дополнительных ключей —with-pgport=НОМЕР и —prefix=ПРЕФИКС
  • Запустив параллельно оба сервера, старый и новый, с разными портами, можно будет перенести данные с помощью следующей команды
pg_dumpall -p 5432 | psql -d postgres -p 5433

Сброс пароля суперпользователя

  • Первым делом необходимо найти файл pg_hba. conf любой доступной утилитой.
  • Создаем резервную копию данного файла:
cp pg_hba.conf pg_hba.conf-backup
  • Указываем в файле pg_hba.conf следующую строку:
local  all   all   trust
  • Перезагружаем PostgreSQL:
sudo /etc/init.d/postgresql restart

Если у сервер не перезагружается, выдавая следующую ошибку: local connections are not supported by this build , то необходимо заменить строчку, начинающуюся с local на

host  all   all  127.0.0.1/32  trust
  • Теперь  доступно подключение к серверу PostgreSQL под любым пользователем:
psql -U postgres
  • Задаём новый пароль для нужного пользователя:
ALTER USER user_name with password 'password';
  • Восстанавливаем исходный файл pg_hba.conf:
cp pg_hba.conf-backup pg_hba.conf
  • Перезагружаем сервер PostgreSQL:
sudo /etc/init.d/postgresql restart

Настройка PostgreSQL

Найти конфигурационный файл postgresql. conf можно командой:

ps aux | grep postgres | grep -- -D

Внешнее подключение к базе данных

  • В файле postgresql.confизменяем значение listen_addresses
    • «*» для любых адресов или IP для конкретного источника
listen_addresses = '*'
  • В файле pg_hba.conf (лежит в там же, что и postgresql.conf) добавляем строчку с параметрами
    • host — подключаемся через SSL
    • all — разрешаем подключение ко всем базам
    • postgreadmin — имя пользователя, которому разрешаем подключение
    • 0.0.0.0/0 — маска сети с которой можно подключаться
    • md5 — способ шифрования пароля
host  all  postgreadmin  0.0.0.0/0  md5
  • Создаем пользователя postgreadmin в postgresql, через которого будет происходить подключение с помощью . Используемые опции команды createuser:
    • -s — добавить пользователю права суперпользователя
    • -r — разрешить пользователю создавать других пользователей
    • -d — разрешает пользователю создавать базы данных
    • -P — добавить к пользователю пароль
> createuser -s -r -d -P postgreadmin
# ввести пароль
> exit
  • Перезагружаем postqresql:
$ service postgresql restart

Кодировка

Узнать кодировку

  • На стороне сервера:
 psql -l
  • Получить текущую клиентскую кодировку:
> SHOW client_encoding;

Задать кодировку на стороне клиента

  • Клиентская кодировка устанавливается SQL-командой:
> SET CLIENT_ENCODING TO 'value';
  • Также можно использовать стандартный синтаксис SQL SET NAMES
> SET NAMES 'value';

Вернуть кодировку по умолчанию

> RESET client_encoding;

Была ли эта инструкция полезной?

Установка и удаление PostgreSQL

В этой статье я рассказал об установке базы данных PostgreSQL 12. 1 в Red Hat Linux / CentOS

  • PostgreSQL — это система управления базами данных с открытым исходным кодом.
  • Предназначен для работы на разных платформах.
  • Его исходный код доступен по лицензии PostgreSQL.
  • PostgreSQL поддерживает как SQL для реляционных запросов, так и NoSQL для нереляционных запросов.
  • Rpm, yum, методы установки исходного кода объясняются в базе данных PostgreSQL

Требования к оборудованию

 

Требования к памяти

Минимальные требования к физическому ОЗУ — 2 ГБ.

RAM Память

Минимальные требования к памяти.

$ grep MemTotal /proc/meminfo

Подкачка памяти

$ grep SwapTotal /proc/meminfo

Архитектура системы

Системная архитектура ОС 64-битная.

$ uname -m

Требование к дисковому пространству

Каталог tmp должен содержать не менее 1 ГБ свободного места на диске.

$ df -h /tmp 

Требования к программному обеспечению

Требования к операционной системе

Версия ОС: Red Hat Enterprise Linux 7/8 и Centos.

Версия ядра 2.6.32.

$ cat /proc/version

Требования к пакету

Ниже приведены установленные пакеты с указанием версии.

(В базе данных PostgreSQL 12 до выпуска 12.1.0 требуется как 64-разрядный, так и 32-разрядный пакет, показанный в следующей таблице.)

$ Rpm-q package postgres
rpm -ivh postgresql12-libs-12.1 -1 PGDG.rhel7.x86_64.rpm
об/мин -ivh postgresql12-12.1-1PGDG.rhel7.x86_64.rpm
об/мин -ivh postgresql12-contrib-12.1-1PGDG.rhel7.x86_64.rpm
об/мин -ivh postgresql12-serv э-12.1 -1PGDG.rhel7.x86_64.rpm

Установка PostreSQL

Мы можем установить PostgreSQL, используя любой из следующих типов.

Установка RPM вручную

Если вы не можете или не хотите использовать метод установки на основе yum, все пакеты RPM, находящиеся в репозитории yum, доступны для прямой загрузки и ручной установки.

YUM -Онлайн-установка

Репозиторий PostgreSQL Yum интегрируется с вашими обычными системами и системой управления исправлениями, а также обеспечивает автоматические обновления для всех поддерживаемых версий PostgreSQL в течение поддерживаемого жизненного цикла PostgreSQL.

В настоящее время репозиторий PostgreSQL Yum поддерживает

  • Red Hat Enterprise Linux
  • CentOS
  • Научный Linux
  • Постгрес Linux
  • Федора*

ИСТОЧНИК — Требование Установка

С помощью команды make, make all мы можем создать новый источник на основе наших требований создание пользователя ,

Создать пользователя postgres
Useradd postgres
Пароль postgres
Создать путь данных /var/lib/data12pgsql
Chmod -R 755 data12pgsql/
Chown -R postgres. data12pgsql/
Создание пути к корзине:

Путь к корзине автоматически создается в /usr при запуске initdb.

Postgresql 12.

1 Этапы установки

Шаг 1. Загрузите и установите Repo

Ссылка: https://yum.postgresql.org/12/redhat/rhel-7-x86_64/

[root@s Программное обеспечение vgen] # rpm -ivh pgdg-redhat-repo-42.0-11.noarch.rpm

Подготовка… ################################ [100%]

Шаг 2 — Загрузите необходимый «Rpm» по ссылке ниже

Ссылка: https://download.postgresql.org/pub/repos/yum/12/redhat/rhel-7-x86_64/

[root@gokul Postgres_sw]# Rpm сохраняются в каталоге «Postgres_sw» 12.1-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-server-12.1-1PGDG.rhel7.x86_64.rpm

Шаг 3 — Сменить пользователя su — postgres

[postgres@gokul ~]$
/usr /pgsql-12/бин/ initdb -D /var/lib/data12pgsql

Файлы, принадлежащие этой системе баз данных, будут принадлежать пользователю «postgres».

Этот пользователь также должен владеть серверным процессом.

Кластер базы данных будет инициализирован с локалью «en_US. UTF-8″.

Кодировка базы данных по умолчанию была соответственно установлена ​​на «UTF8».

Конфигурация текстового поиска по умолчанию будет установлена ​​на «english».

Контрольные суммы страницы данных отключены.

Успех. Теперь вы можете запустить сервер базы данных, используя

/usr/pgsql-12/bin/pg_ctl -D /var/lib/data12pgsql -l logfile start

Шаг 4 — Запустите службу

/usr /pgsql-12/bin/pg_ctl -D /var/lib/data12pgsql статус
/usr/pgsql-12/bin/pg_ctl -D /var/lib/data12pgsql start
/usr/pgsql-12/bin/pg_ctl -D /var/lib/data12pgsql остановить
[postgres@gokul ~]$ /usr/pgsql-12/bin/pg_ctl -D /var/lib/data12pgsql start

сервер запущен.

Шаг 5 — подключение базы данных

После установки — настройка

cd /var/lib/data12pgsql
vi pg_hba.conf
# Локальные подключения IPv4: 9001 7 хост все все ::1/128 идентификатор
host all all 0. 0.0.0/0 trust
vi postgresql.conf
listen_addresses = ‘db.gokulakrishna.me’ # IP-адрес(а) для прослушивания;
port = 5432 # (для изменения требуется перезагрузка)
max_connections = 100 # (для изменения требуется перезагрузка)

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

Шаг 7 — Удаленный доступ -12/bin/postgresql-12-setup initdb
systemctl включить postgresql-12.service
systemctl start postgresql-12.service

​​​​​​​​​​​​​После установки — настройка

cd /var/lib/psql/12/datal
vi pg_hba.conf
# Локальные соединения IPv4:
host all all ::1/128 ident
host all all 0.0.0.0/0 trust
vi postgresql.conf
listen_addresses = ‘10.1.4.78’ # IP-адрес(а) для прослушивания;
порт = 5432 # (для изменения требуется перезагрузка)
max_connections = 300 # (для изменения требуется перезагрузка)

Примечание
После редактирования конфигурационного файла необходимо перезапустить службу для репликации изменений.

Удаленный доступ

Установка источника

Шаг 1

Шаг 2 9 0025

ШАГ 3

Поместите файл в /opt/ местоположение источника.

[root@postgres source]# pwd
/opt/source

Распакуйте файл tar 9Шаг 4 wx. 6 1107 1107 4096 31 января 14:43 postgresql-12.0
-rw-r—r—. 1 root root 26393892 31 января 13:01 postgresql-12.0.tar.gz
[root@postgres source]# cd postgresql-12.0/

Шаг 5

[root@postgrespostgresql -12.0]# ll

всего 1204

drwxrwxrwx. 2 1107 1107 4096 1 окт 01:39 config

Шаг 6

./configure —prefix=/var/lib/pg1sql

Шаг 7

сделать
сделать установить

Шаг 8

mkdir /var/lib/data
chmod 700 /data
chown -R postgres. Данные

Шаг 9

su — postgres
cd /var/lib/pg1sql/bin
-bash-4.2$ cd pg1sql/
-bash-4.2$ ll
drwxr-xr-x. 2 root root 4096 31 января 14:50 bin
-bash-4.2$ cd bin/
-bash-4.2$ ll
-rwxr-xr-x. 1 root root 142520 31 января 14:50 initdb

Шаг 10

.-bash-4.2$ ./initdb -D /var/lib/data

9 0024 Шаг 11

-баш- 4.2$ ./pg_ctl —help

pg_ctl — это утилита для инициализации, запуска, остановки или управления сервером PostgreSQL.

Использование

pg_ctl init[db] [-D КАПАЛ ДАННЫХ] [-s] [-o ОПЦИИ]
pg_ctl start [-D КАПАЛ ДАННЫХ] [-l ИМЯ ФАЙЛА] [-W] [-t СЕК] [-s]
[- o ОПЦИИ] [-p ПУТЬ] [-c]
pg_ctl stop [-D КАТАЛОГ ДАННЫХ] [-m РЕЖИМ ВЫКЛЮЧЕНИЯ] [-W] [-t СЕК] [-s]
pg_ctl перезапуск [-D КАПАЛ ДАННЫХ] [- m SHUTDOWN-MODE] [-W] [-t SECS] [-s]
[-o ОПЦИИ] [-c]
pg_ctl reload [-D DATADIR] [-s]
pg_ctl status [-D DATADIR]
pg_ctl продвижение [-D DATADIR] [-W] [-t SECS] [-s]
pg_ctl logrotate [-D DATADIR] [-s]
pg_ctl kill SIGNALNAME PID

Общие параметры

-D, —pgdata=DATADIR расположение области хранения базы данных
-s, —silent только ошибки печати, никаких информационных сообщений используя параметр -w
-V, —version вывести информацию о версии, затем выйти
-w, —wait дождаться завершения операции (по умолчанию)
-W, —no-wait не ждать завершения операции
-?, —help показать эту справку, затем выйти

Если опция -D опущена, используется переменная среды PGDATA.

Варианты остановки или перезапуска

-m, —mode=РЕЖИМ РЕЖИМ может быть «интеллектуальным», «быстрым» или «немедленным»

Режимы выключения: отключились

Быстрый — выйти сразу, с правильным завершением работы (по умолчанию)

Немедленно — выйти без полного завершения работы; приведет к восстановлению при перезапуске

Допустимые имена сигналов для уничтожения,

ABRT HUP INT KILL QUIT TERM USR1 USR2

Шаг 12. КАК ОСТАНОВИТЬ СЛУЖБУ

-bash-4.2$ pwd
/var/lib/pg1sql/bin
postgres-# \q
-bash-4.2$ ./pg_ctl -D /var /библиотека /data stop

ожидание выключения сервера…. готово.

сервер остановлен.

Шаг 13. КАК ЗАПУСТИТЬ СЛУЖБУ

-bash-4.2$ ./pg_ctl -D /var/lib/data start
ожидание запуска сервера….2020-02-03 17:57: 07.810 IST [10281] ЖУРНАЛ: запуск PostgreSQL 12.0 на x86_64-pc-linux-gnu, скомпилированный gcc (GCC) 4. 8.5 20150623 (Red Hat 4.8.5-39), 64-разрядный
03.02.2020 17:57:07.810 IST [10281] ЖУРНАЛ: прослушивание IPv4-адреса «10.1.4.88», порт 5432
03.02.2020 17:57:07.811 IST [10281] ЖУРНАЛ : прослушивание сокета Unix «/tmp/.s.PGSQL.5432»
03 февраля 2020 г. 17:57:07.820 IST [10282] ЖУРНАЛ: система базы данных была отключена 03 февраля 2020 г. 17:54:01 IST
2020-02-03 17:57:07.826 IST [10281] ЖУРНАЛ: система базы данных готова принимать подключения

выполнено.

сервер запущен.

Шаг 14. КАК СТАТУС УСЛУГИ

-bash-4.2$ ./pg_ctl -D /var/lib/data status
pg_ctl: сервер запущен (PID: 10281)
/var/lib/pg1sql/bin/postgres «-D» «/var /lib/data»

Шаг 15

postgres 7125 7124 0 14:34 pts/1 00:00:00 -bash УРОВЕНЬ ОС УЗНАТЬ СТАТУС СЛУЖБЫ
[root@postgres source ]# пс -эф | grep postgres
postgres 10281 1 0 17:57 ? 00:00:00 /var/lib/pg1sql/bin/postgres -D /var/lib/data

Шаг 16

-bash-4. 2$ ./pg_ctl -D /var/lib/data status
pg_ctl: сервер запущен (PID: 10281)
/var/lib/pg1sql/bin/postgres «-D» «/var/lib /data»
-bash-4.2$ ./psql -p 5432
psql (12.0)

Введите «help» для получения справки. Шаг 17 postgres=# \dn

Список схем,

​​​​ После установки – конфигурация

cd /var/lib/psql/12/datal
vi pg_hba.conf
# Локальные соединения IPv4:
host all all ::1/128 ident
host all all 0.0.0.0/0 trust
vi postgresql.conf

listen_addresses = ‘10.1.4.78’ # IP-адрес(а) для прослушивания,

port = 5432 # (изменение требует перезагрузки)
max_connections = 300 # (изменение требует перезагрузки)

​​​​ Примечание
После редактирования файла конфигурации мы должны перезапустить службу для репликации изменений.

Удаленный доступ

Удаление Postgresql

Удаление версии 11.7

Предварительный запрос на удаление

  1. . Введите пользователя postgres, и нам нужно остановить службу postmaster.
  2. . Удалить список оборотов
  3. . Удалите путь к корзине и путь к данным
  4. .

  5. . Удалить пользователя Postgres

Шаг 1 — остановить службу

[ postgres@gokul ~]$ /usr/pgsql-11/bin/pg_ctl -D /var/lib/datapg11.7 статус
/usr/pgsql-11/bin/postgres «-D» «/var/lib/datapg11.7″pg_ctl: сервер запущен (PID: 2236)
[postgres@gokul ~]$ /usr/pgsql-11/ bin/pg_ctl -D /var/lib/datapg11.7 stop

ожидание выключения сервера…. готово

сервер остановлен

Шаг 2 — удалить rpm из gokul Environment

[root @ gokul ~]# об/мин -qa | grep postgres
postgresql11-libs-11.7-1PGDG.rhel7.x86_64
postgresql11-11.7-1PGDG.rhel7.x86_64
postgresql11-server-11.7-1PGDG.rhel7.x86_64
postgresql11-contrib-11.7-1PGDG.rhel7.x86_64
[root@gokul ~]#rpm -e postgresql11-11.7-1PGDG. rhel7.x86_64
[root@gokul ~]#rpm -e postgresql11-server-11.7-1PGDG .rhel7.x86_64
[root@gokul ~]#rpm -e postgresql11-libs-11.7-1PGDG.rhel7.x86_64
[root@gokul ~]#rpm -e postgresql11-contrib-11.7-1PGDG.rhel7.x86_64
900 03

Шаг 3. Введите пользователя root, удалите путь к корзине и путь к данным из среды gokul0017 [root@gokul usr]# rm -rf pgsql-11

Удаление пути к данным,

[root@gokul ~]# cd /var/lib
[root@gokul lib]# rm -rf datapg11.7

Шаг 4. Удаление пользователя postgres

[root@gokul ~]# userdel -r postgres

Успешно удалена версия 11.7

Установка PostgreSQL для Mac, Linux и Windows | Дэн Чиниара

6 минут чтения

·

23 сентября 2019 г.

Руководство по настройке однопользовательской рабочей станции для Mac, Linux и Windows

При регулярном переключении между Windows и Mac приятно видеть, что Powershell и Git Bash создают возможности кодирования, аналогичные оболочке Unix. Мне всегда будет нужен ПК для определенных программных пакетов, и мысль о том, что я могу кодировать на том же компьютере без раздела или виртуальной машины, приносит облегчение. До сих пор моим самым большим препятствием при переключении между Windows и Mac в стеке NERD (Node.js, Express, React и база данных с использованием SQL) была моя база данных PostgreSQL.

На Mac или Linux установка PostgreSQL занимает несколько минут; установка в Windows заняла у меня гораздо больше времени. Чтобы избавить вас от поиска всей этой документации в один единственный раз, который вам понадобится для установки, вот пошаговый подход к настройке Postgres на Mac, Linux и особенно на Windows.

Все, что вам нужно, это графический установщик, такой как Postgres.app, или менеджер пакетов, такой как Homebrew, через командную строку. (Примечание: у BigSQL были установщики PostgreSQL с графическим интерфейсом для Windows и OSX, но они были заархивированы.)

Графический установщик: Postgres. app

После загрузки Postgres.app со страницы загрузок поместите его в папку приложения и дважды щелкните значок.

Затем выберите «Инициализировать», чтобы автоматически настроить сервер с базой данных postgres по умолчанию и базой данных <ваше имя пользователя> .

Затем настройте $PATH для включения инструментов командной строки. Просто выполните эти строки в своем терминале:

 sudo mkdir -p /etc/paths.d && 
echo /Applications/Postgres.app/Contents/Versions/latest/bin | sudo tee /etc/paths.d/postgresapp

Пользователи Mac, все готово! Установка Homebrew почти так же проста.

Графический клиент: Postico

Теперь вы можете добавить графический клиент, такой как Postico, собственное приложение для Mac. Другой вариант — pgAdmin 4, совместимый с Linux и Windows. Postico подходит для пользователей, которые хотят визуализировать свои данные и не требуют столько функций.

Я бы не рекомендовал использовать Postgres.app, если вы планируете использовать pgAdmin в качестве графического клиента, поскольку установка EDB Postgres в Mac OS X более проста. Хотя графический интерфейс и навигация могут различаться, этапы установки EDB Postgres и pgAdmin, как правило, одинаковы и их можно найти в разделе Windows.

В качестве альтернативы, Postico предоставляет интуитивно понятный интерфейс, поэтому давайте рассмотрим его установку.

Загрузите его с https://eggerapps.at/postico/ и заполните все, что хотите, в приведенной выше форме. По умолчанию Postico создаст учетную запись «localhost», связанную с вашим <имя пользователя> . Еще раз, вы сделали! Это довольно быстро.

Аналогичные варианты для Linux существуют, но, похоже, зависят от дистрибутива. Многие дистрибутивы Linux даже имеют Postgres по умолчанию. Различия в установке каждого дистрибутива в основном заключаются в синтаксисе соответствующих инструментов управления пакетами.

  • Системы на базе Debian (например, Debian, Ubuntu, Pop_OS!) используют sudo apt-get install postgresql .
  • Системы на основе Arch (например, Arch, Manjaro, Endeavour) используют sudo pacman -S postgresql .
  • Системы на основе Red Hat (например, RHEL и Fedora) используют sudo dnf install postgresql-server .

Хотя эти команды и являются хорошей отправной точкой, они не универсальны. Например, RHEL 8 и Fedora 29+ могут использовать dnf , но в более старых версиях требуется yum .

В отличие от версии для Mac, <ваше имя пользователя> и его база данных не будут генерироваться автоматически. Я попробовал установить Ubuntu 18.04 и обнаружил, что следующие шаги в терминале помогли настроить локальный сервер базы данных.

  1. sudo apt-get install postgresql для настройки Postgres.
  2. sudo service postgresql start для запуска своего сервера.
  3. sudo -u postgres createuser — суперпользователь <ваше имя пользователя> для создания вашего имени пользователя.
  4. Затем войдите в его консоль через команду psql . Измените свой пароль на \password и выйдите с помощью \q .
  5. Наконец, создайте базу данных имен пользователей с createdb <ваше имя пользователя> .

Чтобы обойти требования PostgreSQL к имени пользователя и паролю, измените файл pg_hba.conf , расположенный в /etc/postgresql/<версия>/main/pg_hba.conf . Затем замените md5 на trust . Как упоминалось ниже, эта установка идеальна для однопользовательской рабочей станции.

Графические клиенты также зависят от дистрибутива. У производных Red Hat есть RPM, а у Debian есть установка APT.

Для настройки двойной загрузки или подсистемы Windows для Linux ознакомьтесь с этой статьей о создании этих сред разработки. Обычному пользователю Windows эти решения, вероятно, не нужны.

Что касается Windows, давайте начнем с просмотра EDB Postgres Docs. Если у вас есть дополнительные вопросы по настройке вашей установки, используйте ее в качестве справочной информации.

Графический мастер установки EnterpriseDB Postgres

  1. Начните с загрузки предпочтительной версии базы данных PostgreSQL по адресу https://www.enterprisedb.com/downloads/postgres-postgresql-downloads.
  2. Перед запуском мастера установки вам необходимо использовать права администратора или суперпользователя вашей учетной записи.
  3. Мастер установки PostgreSQL откроется и отобразит ряд экранов. Когда откроется «Каталог установки», в нем будет указана версия и расположение каталога. Подобно настройке Linux выше, вам нужно будет изменить файл pg_hba.conf , поэтому запишите расположение каталога.
  4. Затем вам будет предложено выбрать компоненты для установки, такие как PostgreSQL Server, pgAdmin 4, инструменты командной строки и Stack Builder. На всякий случай установите все четыре компонента. Если ваш Команда psql не работает в конце этого руководства, это может означать, что инструменты командной строки не были установлены должным образом.
  5. Далее необходимо ввести пароль. Postgres использует этот пароль как для суперпользователя базы данных, так и для своей служебной учетной записи.
  6. После установки Postgres мастер инициализирует установку Stack Builder. Более подробную информацию о его дополнениях можно найти здесь.

Пароль для доверительной аутентификации

Теперь перейдите к C:\Program Files\PostgreSQL\<версия>\data , расположение каталога по умолчанию, и откройте файл pg_hba.conf. Когда md5 заменяется на trust , Postgres будет предполагать, что пользователям, которые могут подключиться к серверу, также разрешен доступ к базе данных.

На своем веб-сайте PostgreSQL признает, что эта конфигурация имеет смысл для однопользовательской рабочей станции с локальным подключением, но не подходит для многопользовательской машины.

Графический клиент: pgAdmin

После входа в pgAdmin щелкните правой кнопкой мыши «Логин/Групповые роли» в папке Серверы\<версия>\ и перейдите к «Логин/Групповая роль…» внутри «Создать».

На вкладке «Общие» введите <ваше имя пользователя> , как оно будет отображаться в командной строке.

На вкладке «Привилегии», которая все еще находится внутри «Роль входа/группы», переключите все параметры, кроме нижнего, на «Да» и нажмите «Сохранить».

Теперь создайте базу данных для своего пользователя, щелкнув правой кнопкой мыши «Базы данных» внутри Servers\<версия>\ и выберите «База данных…» внутри «Создать». На вкладке «Общие» в разделе «База данных» выберите только что созданную роль имени пользователя. Теперь назовите вашу базу данных после <ваше имя пользователя> , чтобы поля «Владелец» и «База данных» были идентичными.

Подобно владельцу postgres по умолчанию, между пользователем и базами данных, которыми владеет пользователь, существует отношение «один ко многим».