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.
- Чтобы указать конкретный IP-адрес, нужно использовать
где 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
Предварительный запрос на удаление
- . Введите пользователя postgres, и нам нужно остановить службу postmaster.
- . Удалить список оборотов
- . Удалите путь к корзине и путь к данным
- . Удалить пользователя 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 и обнаружил, что следующие шаги в терминале помогли настроить локальный сервер базы данных.
-
sudo apt-get install postgresql
для настройки Postgres. -
sudo service postgresql start
для запуска своего сервера. -
sudo -u postgres createuser — суперпользователь <ваше имя пользователя>
для создания вашего имени пользователя. - Затем войдите в его консоль через команду
psql
. Измените свой пароль на\password
и выйдите с помощью\q
. - Наконец, создайте базу данных имен пользователей с
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
- Начните с загрузки предпочтительной версии базы данных PostgreSQL по адресу https://www.enterprisedb.com/downloads/postgres-postgresql-downloads.
- Перед запуском мастера установки вам необходимо использовать права администратора или суперпользователя вашей учетной записи.
- Мастер установки PostgreSQL откроется и отобразит ряд экранов. Когда откроется «Каталог установки», в нем будет указана версия и расположение каталога. Подобно настройке Linux выше, вам нужно будет изменить файл
pg_hba.conf
, поэтому запишите расположение каталога. - Затем вам будет предложено выбрать компоненты для установки, такие как PostgreSQL Server, pgAdmin 4, инструменты командной строки и Stack Builder. На всякий случай установите все четыре компонента. Если ваш
Команда psql
не работает в конце этого руководства, это может означать, что инструменты командной строки не были установлены должным образом. - Далее необходимо ввести пароль. Postgres использует этот пароль как для суперпользователя базы данных, так и для своей служебной учетной записи.
- После установки Postgres мастер инициализирует установку Stack Builder. Более подробную информацию о его дополнениях можно найти здесь.
Пароль для доверительной аутентификации
Теперь перейдите к C:\Program Files\PostgreSQL\<версия>\data
, расположение каталога по умолчанию, и откройте файл pg_hba.conf.
Когда md5
заменяется на trust
, Postgres будет предполагать, что пользователям, которые могут подключиться к серверу, также разрешен доступ к базе данных.
На своем веб-сайте PostgreSQL признает, что эта конфигурация имеет смысл для однопользовательской рабочей станции с локальным подключением, но не подходит для многопользовательской машины.
Графический клиент: pgAdmin
После входа в pgAdmin щелкните правой кнопкой мыши «Логин/Групповые роли» в папке Серверы\<версия>\
и перейдите к «Логин/Групповая роль…» внутри «Создать».
На вкладке «Общие» введите <ваше имя пользователя>
, как оно будет отображаться в командной строке.
На вкладке «Привилегии», которая все еще находится внутри «Роль входа/группы», переключите все параметры, кроме нижнего, на «Да» и нажмите «Сохранить».
Теперь создайте базу данных для своего пользователя, щелкнув правой кнопкой мыши «Базы данных» внутри Servers\<версия>\
и выберите «База данных…» внутри «Создать». На вкладке «Общие» в разделе «База данных» выберите только что созданную роль имени пользователя. Теперь назовите вашу базу данных после <ваше имя пользователя>
, чтобы поля «Владелец» и «База данных» были идентичными.
Подобно владельцу postgres по умолчанию, между пользователем и базами данных, которыми владеет пользователь, существует отношение «один ко многим».