mac OS packages
You can get macOS PostgreSQL packages from several different sources.
Interactive installer by EDB
Download the installer certified by EDB for all supported PostgreSQL versions.
Note! This installer is hosted by EDB and not on the PostgreSQL community servers. If you have issues with the website it’s hosted on, please contact webmaster@enterprisedb.com.
This installer includes the PostgreSQL server, pgAdmin; a graphical tool for managing and developing your databases, and StackBuilder; a package manager that can be used to download and install additional PostgreSQL tools and drivers. Stackbuilder includes management, integration, migration, replication, geospatial, connectors and other tools.
This installer can run in graphical, command line, or silent install modes.
The installer is designed to be a straightforward, fast way to get up and running with PostgreSQL on macOS.
Advanced users can also download a zip archive of the binaries, without the installer. This download is intended for users who wish to include PostgreSQL as part of another application installer.
Platform support
The installers are tested by EDB on the following platforms. They will generally work on newer versions of macOS as well:
| PostgreSQL Version | 64-bit macOS Platforms |
|---|---|
| 16 | 11.x (amd64), 12.x (arm64) |
| 15 | 10.14 — 12.x (amd64), 12.x (arm64) |
| 14 | 10.14 — 12.x (amd64), 12.x (arm64) |
| 13 | 10.14 — 11.0 |
| 12 | 10.13 — 10.15 |
| 11 | 10.12 — 10.14 |
| 10 | 10.11 — 10.13 |
Postgres.app
Postgres.app is a simple, native macOS app that runs in the menubar without the need of an installer. Open the app, and you have a PostgreSQL server ready and awaiting new connections. Close the app, and the server shuts down.
Homebrew
PostgreSQL can also be installed on macOS using Homebrew. For example, to install PostgreSQL 15, you can use the following command:
brew install postgresql@15
You can use Homebrew Formulae to search for PostgreSQL and other packages. To find a specific major version of PostgreSQL, search for postgresql@NN , where NN represents the major version. For example, postgresql@15 .
MacPorts
PostgreSQL packages are also available for macOS from the MacPorts Project. Please see the MacPorts documentation for information on how to install ports.
A list of PostgreSQL packages can be found using the portfiles search tool on the MacPorts website.
Fink
PostgreSQL packages are available for macOS from the Fink Project. Please see the Fink documentation for information on how to install packages.
A list of PostgreSQL packages can be found using the package search tool on the Fink website.
PostgreSQL: зачем и как
По-умолчанию в качестве базы данных Rails предлагает использовать SQLite 3, автономную базу данных, которая неплохо подходит для получения первого опыта в разработке приложений. Одной из особенностей SQLite является невозможность одновременно выполнять более одной операции записи, поэтому чем скорее вы откажетесь от её использования, тем лучше. При разработке приложений зачастую практикуется подход, при котором development среда имеет минимум отличий от production среды. Это позволяет значительно уменьшить вероятность появления проблем, которые могут возникнуть из-за использования различных инструментов при разработке и при работе приложения в продакшене. Этот подход является одной из причин для того, чтобы задуматься об использовании PostgreSQL в разработке.
Здесь можно спросить себя: а почему именно PostgreSQL? Почему не MySQL или другая СУБД? Дело в том, что PostgreSQL стал фактически уже стандартом при работе над приложениями на Ruby on Rails. Он быстрый, расширяемый, адаптирован к высоким нагрузкам и использует такой подход к хранению данных, при котором достаточно сложно ошибиться, принимая те или иные решения (по сравнению, например, с MySQL).
Вот несколько ссылок, которые наглядно перечисляют все за и против:
- Преимущества PostgreSQL
- PostgreSQL vs. MS SQL Server
- SQLite vs PostgreSQL vs MySQL
- PostgreSQL vs MySQL (на русском)
- PostgreSQL vs MySQL
- MySQL? Choose something else
Поскольку для разработки на Rails имеет смысл использовать OS X или ОС семейства Linux, рассмотрим установку PostgreSQL для Ubuntu и Mac OS X.
Содержание:
- Установка PostgreSQL на Ubuntu 14.04
- Установка PostgreSQL на Mac OS X через Homebrew
- Установка PostgreSQL на Mac OS X через Posgresapp
- Проверка установки
- Базовые команды PostgreSQL
- Команды терминала psql
Установка PostgreSQL на Ubuntu 14.04
Во-первых, обновим удаленные репозитории:
sudo apt-get update
Затем непосредственно установим PostgreSQL:
sudo apt-get install postgresql-9.3
Строго говоря, база данных установлена. Убедимся в этом, войдя в терминал СУБД под стандартным пользователем postgres:
sudo -u postgres psql
Если СУБД установлена корректно, в терминале появится ответ с приглашением к вводу команд:
psql (9.3.5) Type "help" for help. postgres=#
Установка PostgreSQL на Mac OS X через Homebrew
Одним из наиболее простых способов установки PostgreSQL на OS X является Homebrew. Обновим список пакетов:
brew update
brew install postgresql
Если вы хотите, чтобы СУБД запускалась при старте системы, выполните команду:
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Установка PostgreSQL на Mac OS X через Postgresapp
Помимо Homebrew СУБД PostgreSQL можно установить так же при помощи специального комплекта приложений, доступного для скачивания по адресу http://postgresapp.com/.
Пакет включает в себя саму PostgreSQL, PostGIS и еще несколько популярных расширений, отсутствие которых, впрочем, нисколько не помешает вам начать разрабатывать Rails-приложения использующие PostgreSQL.
Установка производится перетаскиванием иконки из загруженного пакета в папку Applications (Программы).
Проверка установки
Создадим тестовую базу данных:
postgres=# CREATE DATABASE rainbow_db;
postgres=# CREATE USER happy_user WITH password 'gottasecret';
Выйдем из терминала СУБД, введя команду \q и попробуем войти туда снова, используя свежесозданного пользователя:
psql -h localhost rainbow_db happy_user
После ввода пароля, терминал PostgreSQL поприветствует нас приглашением к вводу команд:
psql (9.3.5) Type "help" for help. rainbow_db=>
Для надежности проверим, может ли пользователь работать с текущей базой данных:
raindbow_db=> CREATE TABLE unicorns(happy BOOLEAN); CREATE TABLE
Таблица unicorns создалась, значит все в порядке, PostgreSQL установлен и готов к работе.
Базовые команды PostgreSQL
Чтобы работать с PostgreSQL, необходимо знать некоторые базовые команды. Некоторые из них, наиболее полезные, приведены ниже.
Вход в PostgreSQL:
psql -d имя_базы_данных -U имя_пользователя -W psql -h удаленный_хост -d имя_базы_данных -U имя_пользователя -W
Стандартный администраторский вход:
sudo -u postgres psql -U postgres sudo -u postgres psql
Команды терминала psql
- \dt – показать все таблицы
- \q – выход из терминала psql
- \dn – показать все схемы
- \du – показать всех пользователей
- \d имя_таблицы — показать информацию о таблице
И помните, что в любой непонятной ситуации стоит обращаться к официальной документации: http://www.postgresql.org/docs/, которой, в отличии от доков к MySQL, удобно пользоваться 😉
© Copyright 2014 — 2023 mkdev | Privacy Policy
Установка и подключение PostgreSQL на Mac Os
Admin
28.06.2020 , обновлено: 30.11.2022
Mac OS, PostgreSQL
Устанавливаем PostgreSQL на Mac OS.
Установка PostgreSQL на Mac Os
brew install postgres
Добавляем в автозапуск при старте системы Mac OS.
brew services start postgresql
Также можно запустить вручную:
pg_ctl -D /usr/local/var/postgres start
brew services restart postgresql
Провекра версии PostgreSQL в HomeBrew:
brew info postgresql
Ошибки в командах
После установки могут быть такие ошибки:
zsh: command not found: psql
Formula `postgresql@14` is not installed.
Может понадобиться установить так:
brew install postgresql
Проинициализировать дб по умолчанию:
initdb —locale=C -E UTF-8 /opt/homebrew/var/postgresql@14
export PATH=/opt/homebrew/bin:$PATH
Не обязательно
Если автозагрузка не сработает. Можно провести такие манипуляции:
Директория автозагрузки находится здесь:
~/Library/LaunchAgents
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
Добавляем в автозагрузку
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Подключение к PostgreSQL на Mac OS
Подключение на Mac OS немного отличается от Linux. Проверим пользователей:
Для подключения указываем Owner из таблицы выше:
sudo psql -U Dream -d postgres
Пример создания нового пользователя и БД
Полная инструкция по созданию пользователей и БД:
https://ploshadka.net/postgresql/
Правильный пример создания
Сначала подключаемся как описано выше:
sudo psql -U пользователь_важен_регистр -d postgres
Создаем пользователя с паролем:
CREATE USER ploshadka WITH PASSWORD ‘123456’;
Назначаем ему кодировку:
ALTER ROLE ploshadka SET client_encoding TO ‘utf8’;
Создаем БД для русской локали, чтобы была возможность поиска:
CREATE DATABASE dbname TEMPLATE=template0 ENCODING ‘UTF-8’ LC_COLLATE ‘ru_RU.UTF-8’ LC_CTYPE ‘ru_RU.UTF-8’;
Назначаем этому пользователю новую БД:
GRANT ALL PRIVILEGES ON DATABASE dbname TO ploshadka;
Проверим по таблице все ли верно:
Как подключиться к PostgreSQL на Mac OS
На localhost достаточно создать базу данных и подключиться к ней указав только её имя:
dbname=’stocks’
Остальное подхватиться по умолчанию.
Исправление ошибок
Статья по исправлению некоторых ошибок с правами доступа.
Подключение в сторонней программе к БД
DataGrip
На примере программы DataGrip:

pg_restore и pg_dump
pg_restore и pg_dump это инструменты postgresql, они устанавливаются вместе с ним.
Нужно изменить пути:
/usr/local/bin/pg_dump
на установленные в homebrew:
Установка и настройка PostgreSQL на MacOS
В этой заметке будут описаны установка и настройка PostgreSQL для локальной разарботки на MacOS.
Устанавливаем PostgreSQL при помощи brew и добавляем базу данных с именем системного пользователя:
brew install postgres
brew services start postgresql
createdb $
Запускаем консоль сервера PostgreSQL:
В консоли создаем схему и пользователя для проекта:
CREATE ROLE example LOGIN PASSWORD ‘example’ NOINHERIT CREATEDB;
CREATE SCHEMA example AUTHORIZATION example;
GRANT ALL ON ALL TABLES IN SCHEMA example TO example;
\q
