Как установить postgresql mac os
Перейти к содержимому

Как установить postgresql mac os

  • автор:

Установка и подключение 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: зачем и как

По-умолчанию в качестве базы данных 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 — 2024 mkdev | Privacy Policy

Как установить PostgreSQL — решения для Windows, Mac OS X, Linux

Как установить PostgreSQL? Для Microsoft Windows , Mac OS X и Linux существует один установщик. Его можно скачать здесь . Кликните по иконке нужной версии установки PostgreSQL , соответствующей вашей операционной системе.

В некоторых из инструкций предполагается, что вы устанавливаете PostgreSQL 9.1. Если устанавливаете более новую версию, замените в этих инструкциях 9.1 на номер инсталлируемой вами версии СУБД.

Обновлено: 2022-01-17 17:16:41 Вадим Дворников автор материала

Запустите установку

Когда программа попросит выбрать один из вариантов, сделайте следующее:

  • Когда вас попросят выбрать локаль, выберите UTF-8 . Если варианта UTF-8 в списке нет, выберите вариант UTF-8 в списке локалей для языка. Например, en_US.UTF-8 для английского языка США;
  • Если программа попросит установить StackBuilder – он инсталлирует некоторые дополнительные инструменты Web , репликации и ODBC , которые не требуются для CollectionSpace . Но может потребоваться инсталляция некоторых модулей PostgreSQL , таких как PostGIS .

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

Настройка PostgreSQL

Чтобы установленный PostgreSQL работал с CollectionSpace, необходимо настроить пользователей и изменить некоторые параметры.

  • Найдите конфигурационный файл pg_hba.conf . Он расположен в подкаталоге data каталога, в котором установлена PostgreSQL ;
  • Откройте этот файл в текстовом редакторе и следуйте приведенным ниже инструкциям;

В Mac OS X по умолчанию это папка /Library/PostgreSQL/9.1.
В Mac OS X нужно иметь права супер пользователя, чтобы редактировать любой из следующих файлов конфигурации.

  • Убедитесь, что для » local section » указано последнее слово md5 , а не ident :
# "local" is for Unix domain socket connections only local all all md5
  • Измените раздел » IPv4 local connections » следующим образом:
# IPv4 local connections: host all csadmin samehost md5

Это ограничивает набор пользователей PostgreSQL , которым предоставляется локальный доступ к трем базам данных, используемым CollectionSpace: jbossdb , nuxeo и cspace . Например, только пользователь с именем cspace или супер пользователь PostgreSQL с именем postgres может получить доступ к базе данных cspace с локальной машины.

При установке PostgreSQL 9.x на Windows 7 может не принять термин samehost в столбце CIDR-ADDRESS . Если это произойдет, используйте адресную форму 127.0.0.1/32 :

# IPv4 local connections: host all csadmin 127.0.0.1/32 md5
  • Убедитесь, что записи в разделе » IPv6 local connections » отключены. В качестве первого символа в строках указывается символ хэш ( # ), если только в вашей системе не активен IPv6 :
# IPv6 local connections: #host all all ::1/128 md5

Современные системы, работающие под управлением Windows 7 и Windows Vista , могут поставляться с включенным по умолчанию IPv6 . Если в вашей системе включен IPv6 , можно поэкспериментировать со следующей конфигурацией — указать ::1/128 для адреса localhost :

# IPv6 local connections: host all csadmin ::1/128 md5
  • Если нужно разрешить создание отчетов при подключении к БД с удаленных хостов, тогда следует добавить запись, подобную приведенной ниже, но указав свой адрес подсети. Приведенная ниже конфигурация позволит создавать отчеты удаленно с хостов в определенной подсети UC Berkeley . Для получения дополнительной информации о том, как указать адрес подсети, ознакомьтесь с документацией по pg_hba.conf для используемого релиза PostgreSQL .
host all cspace_reader 169.229.0.0/16 md5

Чтобы автор отчетов мог работать, придется внести еще одно изменение в значение listen_addresses в файле postgresql.conf . Подробнее о поиске этого файла рассказано ниже.

Если вы можете контролировать доступ к PostgreSQL через брандмауэр, то проще ввести значение listen_addresses «*» . Для большей безопасности можно ввести список разделенных запятыми IP-адресов , с которых будут связываться авторы отчетов.

Далее после PostgreSQL установки и настройки Windows нужно внести изменения в конфигурационный файл PostgreSQL :

  • Найдите файл postgresql.conf , находящийся в папке data каталога, в котором установлен PostgreSQL ;
  • Откройте этот файл в текстовом редакторе и внесите следующие изменения:
max_prepared_transactions = 64

Значение переменной max_prepared_transactions , равное 64 , может оказаться большим для вашей системы. Если это так, установите меньшее значение.

Если это значение действительно слишком велико для вашей системы, вы получите сообщение об ошибке при перезапуске PostgreSQL :
Restarting PostgreSQL . database server: main The PostgreSQL server failed to start. Please check the log output . FATAL: could not create shared memory segment: .

Перезапустите службу PostgreSQL

Если при запуске сервера после установки PostgreSQL выводятся сообщения об ошибках, обратитесь к разделу « Сбои при запуске сервера » в документации PostgreSQL по запуску сервера .

Если вы являетесь пользователем root или sudo , можно выполнить следующую команду:

service postgresql restart

Убедитесь, что вы являетесь пользователем postgres :

sudo su - postgres pg_ctl restart -D /Library/PostgreSQL/9.1/data

Флаг -D указывает местоположение каталога данных PostgreSQL, который также может быть установлен как переменная среды PGDATA. По умолчанию его можно найти по адресу /Library/PostgreSQL/9.1/data.

Если при попытке запустить pg_ctl вы получаете сообщение об ошибке «not found», попробуйте указать полный путь к этому файлу в подкаталоге bin каталога, в котором установлен PostgreSQL. Например: /Library/PostgreSQL/9.1/bin/pg_ctl restart -D /Library/PostgreSQL/9.1/data

Чтобы добавить PGDATA в качестве глобальной переменной среды в / etc / profile , выполните следующие шаги:

sudo vi /etc/profile

Затем добавьте следующую строку:

После этого можно будет выполнить предыдущую команду для перезапуска сервера PostgreSQL без флага -D .

При установке PostgreSQL Windows у вас должны быть права администратора. Кликните правой кнопкой мыши по ярлыку « Мой компьютер » и выберите пункт « Управление ». В пользовательском интерфейсе « Управление » выберите « Службы и приложения » — « Службы ». Найдите службу PostgreSQL ( «postgresql-9.0 — PostgreSQL Server 9.0» ), выберите ее и нажмите на кнопку « Перезапустить службу ».

Настройка типов данных

Откройте консоль PostgreSQL для базы данных template1 :

Если при попытке запустить psql на экране появится сообщение not found», попробуйте указать полный путь к этому файлу в подкаталоге bin; например на Mac OS X: /Library/PostgreSQL/9.1/bin/psql.

Выполните в консоли две следующие команды:

su - postgres psql -d template1 #open the database template1

Под пользователем postgres выполните следующие две команды:

Sudo su - postgres Psql -d template1

При первом запуске команды psql на OS X 10.8.X вы можете увидеть сообщение об ошибке:

dyld: Library not loaded: @loader_path/../lib/libssl.dylib Referenced from: /usr/lib/libpq.5.dylib Reason: Incompatible library version: libpq.5.dylib requires version 1.0.0 or later, but libssl.0.9.8.dylib provides version 0.9.8

Это связано с тем, как Homebrew в Mac OS X и Mountain Lion конфликтуют с определенными системными библиотеками. Решение этой проблемы заключается в том, чтобы скопировать и связать версии библиотеки. PostgreSQL упакован в /usr/lib , где библиотеки хранятся в Mountain Lion .

sudo cp /Library/PostgreSQL/9.1/lib/libssl.1.0.0.dylib /usr/lib sudo cp /Library/PostgreSQL/9.1/lib/libcrypto.1.0.0.dylib /usr/lib sudo ln -fs /usr/lib/libssl.1.0.0.dylib /usr/lib/libssl.dylib sudo ln -fs /usr/lib/libcrypto.1.0.0.dylib /usr/lib/libcrypto.dylib

Еще одним решением может стать пересмотр Homebrew и проверка совместимости с Mountain Lion .

При установке PostgreSQL на Mac OS X в один клик создается ярлык для оболочки PostgreSQL в каталоге Applications / PostgreSQL 9.0 / . Нажмите SQL Shell (psql).app , чтобы открыть новое окно терминала с запущенным psql .

Из этого окна терминала можно получить доступ к базе данных template1 , введя:

psql c template1

psql запускается из командной строки ( cmd ) Windows . Убедитесь, что путь к папке postgres bin хранится в переменной PATH , или просто вызовите ее с полным путем к месту расположения исполняемого файла psql :

psql -d template1 -U postgres

Выполните команды консоли:

CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));'; CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT; COMMENT ON FUNCTION pg_catalog.text(integer) IS 'convert integer to text'; CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));'; CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT; COMMENT ON FUNCTION pg_catalog.text(bigint) IS 'convert bigint to text';

Создайте пользователя csadmin

Для PostgreSQL установки и настройки в командной строке psql ( заканчивающейся на # ) переключитесь с базы данных template1 на postgres , введя следующее:

Введите следующую команду, чтобы создать пользователя csadmin с соответствующими привилегиями. Не забудьте заменить пароль replacemewithyourpassword в приведенном ниже примере на пароль по вашему выбору.

CREATE ROLE csadmin LOGIN PASSWORD ‘replacemewithyourpassword’ SUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

В результате вы должны увидеть сообщение, подобное этому: CREATE ROLE .

Закройте программу psql , введя q ( или нажав Ctrl + d ).

Теперь перезапустите сервер PostgreSQL еще раз ( как описано выше ).

Дополнительная настройка

Дополнительная настройка базы данных является необязательной! CollectionSpace будет выполняться, даже если ни одно из описанных ниже действий не будет выполнено.

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

PostgreSQL установка и настройка Windows выполняется через postgresql.conf . Откройте этот файл в текстовом редакторе и отредактируйте следующие значения:

Теперь через командную строку задайте значение kernel.shmmax . Оно должно как минимум равняться shared_buffer + 128MB :

Затем перезапустите сервер PostgreSQL . Если на экране появится сообщение об ошибке, то нужно будет увеличить значение kernel.shmax .

Затем необходимо определить окончательное значение shmmax :

Откройте файл /etc/sysctl.conf .

И добавьте следующую строку — заменив значение для shmmax :

Наконец, установите необходимое значение cache_size :

Для этого запустите ( и выведите статистику в мегабайтах ):

В результате на экране вы увидите что-то наподобие этого:

free -m total used free shared buffers cached Mem: 4096 3302 793 0 253 1226 -/+ buffers/cache: 1822 2273 Swap: 511 216 295

Эффективное значение для cache_size определяется путем сложения значений buffers и cached . В приведенном выше примере:

253 + 1226 = 1479

К этому числу добавляется значение shared_buffers , поэтому в общей сложности мы получаем:

1479 + 512 = 1991 ~ 2 ГБ

Снова отредактируйте файл postgres.conf и установите эффективный размер кэша — значение, выведенное нами в предыдущих шагах:

effective_cache_size = 2GB

Также задайте следующие значения:

work_mem = 16MB # min 64kB maintenance_work_mem = 32MB # min 1MB random_page_cost = 2.0

Перезагрузите установленный PostgreSQL , чтобы изменения вступили в силу.

Мы закончили настройку PostgreSQL . Обратите внимание, что приведенные в этом разделе значения являются примерными. Их необходимо устанавливать в соответствии с настройками вашей системы. Более подробную информацию о настройках можно найти здесь.

Установка PostgreSQL на MacOS

Иконка канала Чистый дом - чистые мысли

#tutorial #hoto #macos #postgresql По просьбам моих подписчиков, расширенная версия установки Postgres на MacOS ==================================================== Экспорты для zshrc: export PATH=»/usr/local/opt/postgresql@15/bin:$PATH» export LDFLAGS=»-L/usr/local/opt/postgresql@15/lib» export CPPFLAGS=»-I/usr/local/opt/postgresql@15/include» export PKG_CONFIG_PATH=»/usr/local/opt/postgresql@15/lib/pkgconfig» ======================================================= создание локального пользователя: createuser -P -s postgres ==================================================== команды для создания базы данных и пользователя: postgres=# create database mydb; postgres=# create user myuser with encrypted password ‘mypass’; postgres=# grant all privileges on database mydb to myuser; взято с сайта: https://medium.com/coding-blocks/creating-user-database-and-adding-access-on-postgresql-8bfcd2f4a91e

Показать больше

Войдите , чтобы оставлять комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *