← Все курсы · Курс SQL · Все руководства

Как установить PostgreSQL для начинающих

Установка, четыре вещи, необходимые для каждого подключения, и честный ответ о том, нужно ли вам это уже · Часть Analyst Prep Kit

К , аналитик данных · Опубликовано

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

Вот что на самом деле нужно сделать сегодня, и здесь есть одна оговорка. Если вы изучаете SQL для собеседований, возможно, тебе это пока не нужно, и в разделе 1 об этом прямо говорится. Если в объявлении о вакансии указано Постгрес или вам предоставлены настоящие учетные данные, загрузите интерактивный установщик из EDB, запишите пароль и оставьте порт 5432 по умолчанию.

Краткая версия: установите, задайте записываемый пароль, подключитесь. localhost:5432 как пользователь postgresи создайте свою собственную базу данных, а не работайте в базе данных по умолчанию.

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

A file you open, a service you connect to Two panels. In the left panel a hand-drawn arrow runs straight from a small application window directly into a file icon, touching it, with nothing in between. In the right panel the same application window connects instead to a large rounded box representing a running service, and the connection must pass through a narrow doorway in the wall of that box. Four small key shapes hang beside the doorway in a row, indicating four separate pieces of information required to pass through it. Inside the service box sit several small database cylinders, showing that one running service holds many databases. SQLite PostgreSQL
Слева инструмент напрямую достигает данных. Да, он должен пройти через дверной проем, и чтобы открыть его, необходимы четыре отдельных факта. Одна работающая служба содержит множество баз данных, поэтому присвоение имени одной из них является частью подключения.
Что ты будешь делать
  1. Первый: тебе это нужно?
  2. Установите его
  3. Четыре вещи, которые нужны каждому соединению
  4. Создайте свою собственную базу данных
  5. Подключение с помощью инструмента
  6. Загрузите в него CSV-файл
  7. Полное до и после
  8. Что пошло не так и как это исправить
  9. Зачем вообще существует сервер
  10. Использование этого на вашей машине
  11. Все на одном экране
Сведения о версии и установщике были проверены 8 августа 2026 г. против postgresql.org. PostgreSQL 18 — текущая основная версия, предлагаемая для Окна; 19 находился в стадии бета-тестирования, и это не то, что нужно для обучающейся машины. Возьмите новейшую стабильную версию, которую предлагает вам страница.

1. Первое: тебе это нужно?

Перед пояснением: вы изучали SQL на SQLite. Как вы думаете, какие части того, что вы узнали, перестанут работать в Постгрес?

Почти ничего из этого. SELECT, WHERE, JOIN, GROUP BY, HAVING, CTE и оконные функции ведут себя одинаково. Отличие заключается в арифметике дат, некоторых строковых функциях и более строгой типизации. Это действительно небольшая поверхность, и именно поэтому честный ответ на вопрос «стоит ли мне установить Постгрес для изучения SQL» обычно — нет.

Установите его, если одно из этих утверждений верно.

Если ни один из них не применим, пятнадцатиминутная установка SQLite учит вас большему количеству SQL в час, потому что ни одно из часов не уходит на настройку службы. Сравнение в какую базу данных SQL следует установить это более длинная версия этого решения.

2. Установите его

Перейдите на сайт postgresql.org, выберите «Загрузить» и выберите свою операционную систему. В Окна рекомендуемый маршрут — интерактивный установщик от EDB. О нем стоит знать две вещи: он размещается на серверах EDB, а не на серверах сообщества PostgreSQL, и включает в себя не только базу данных.

Что при этом приходит:

Во время установки вас просят указать две важные вещи. Пароль для postgres пользователь. Запишите его где-нибудь, где он будет у вас еще через три месяца, потому что удобного сброса нет, а переустановка, чтобы избежать забытого пароля, — это действительно обычная трата вечера. И порт, предлагается как 5432. Оставьте себе. Каждое руководство, строка подключения по умолчанию для инструмента и пример строки подключения предполагают 5432, и ее изменение не принесет вам ничего, кроме несоответствий.

3. Четыре вещи, необходимые для любого соединения

Это тот раздел, который сэкономит вам больше всего времени в дальнейшем. Любой инструмент, подключающийся к Постгрес, pgAdmin, Excel, Tableau, Python, запрашивает одни и те же четыре факта. Это четыре ключа на картинке.

Как это называетсяЧто это значитВаш, местный
ХозяинНа какой машине работает служба.localhost
ПортВ какую дверь этой машины постучать.5432
база данныхКакая база данных внутри сервиса. Одна услуга содержит множество.postgres сначала
Пользователь и парольКто вы?postgres и пароль, который вы установили

Те же самые четыре — это то, что строка подключения упаковывает в одну строку в следующем порядке:

postgresql://postgres:yourpassword@localhost:5432/postgres

Прочтите ее слева направо, и вы поймете, что это та же таблица, что и выше: какой тип базы данных, кто вы, ваш пароль, какая машина, какая дверь, какая база данных. Как только это предложение обретет смысл, соединение с Python, Excel или Tableau перестают быть четырьмя разными процедурами и превращаются в одну форму, заполняемую четыре раза.

Прежде чем читать дальше, скажите, почему файловой базе данных ничего из этого не нужно. Потому что дорвея нет: файл лежит тут же и инструмент читает его напрямую. Каждый из четырех существует только потому, что что-то еще хранит данные от вашего имени.

4. Создайте свою собственную базу данных

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

Откройте pgAdmin, подключитесь, используя установленный вами пароль, затем запустите:

CREATE DATABASE analytics;

Или из терминала:

psql -U postgres -c "CREATE DATABASE analytics;"

Отныне связывайтесь с analytics как база данных, а не postgres. Еще один словарный запас, с которым вы сразу же познакомитесь: внутри базы данных таблицы живут в схема, а тот, который используется по умолчанию, называется public. Вот почему имена таблиц иногда выглядят как public.customers. Это та же самая таблица, записанная с полным адресом.

5. Подключение с помощью инструмента

pgAdmin поставляется с установщиком и является естественным первым средством, но это более тяжелый инструмент, чем Браузер БД, и стоит знать, что вы не застряли с ним. Любой инструмент, который запрашивает эти четыре факта, сработает.

Из Python, используя шаблон из подключение Python к базе данных SQL:

python -m pip install sqlalchemy psycopg2-binary
from sqlalchemy import create_engine
import pandas as pd

engine = create_engine('postgresql+psycopg2://postgres:yourpassword@localhost:5432/analytics')
df = pd.read_sql("SELECT version()", engine)
print(df)

SELECT version() — хороший первый запрос именно потому, что ему не нужны таблицы. Если он возвращает строку, все четыре факта верны, и ваша проблема, если она у вас возникнет позже, связана с вашими данными, а не с вашим соединением.

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

6. Загрузите в него CSV-файл.

В отличие от инструментов SQLite, Постгрес не будет создавать для вас таблицу из файла. Вы создаете таблицу, затем заполняете ее. Это два шага, а не один, и дополнительный шаг — вот где живет строгость.

CREATE TABLE sales (
    order_id    INTEGER,
    order_date  DATE,
    region      TEXT,
    amount      NUMERIC(10,2)
);
\copy sales FROM 'sales.csv' WITH (FORMAT csv, HEADER true);

Обратная косая черта имеет значение. \copy это команда psql, которая читает файл из Твой машина, пока обычная COPY это команда сервера, которая считывает данные с машины сервера. При локальной установке это один и тот же компьютер, что скрывает разницу до тех пор, пока вы не подключитесь к серверу в другом месте и не станете очевидным. COPY не могу найти ваш файл. Использовать \copy и привычка уже права.

Постгрес отклонит строку, значения которой не соответствуют типам столбцов, вместо того, чтобы спокойно сохранить ее. Это более строго, чем SQLite, и это особенность: ошибка называет строку и проблему, что гораздо лучше, чем обнаружить несколько месяцев спустя, что числовой столбец содержит текст «Н/Д».

Теперь представьте файл, который вы где-то загрузили раньше. Если бы инструмент прямо отказался от него, вместо того чтобы спокойно принять его, узнали бы вы об этом раньше или позже, чем на самом деле?

Полное до и после

Цель та же: работающий Постгрес, который вы можете запросить.

До

Installed, clicked through, chose a password
Changed the port because 5432 "looked taken"
Worked inside the default postgres database
Two weeks later: cannot remember the password, cannot remember the port

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

после

Installed, kept port 5432, wrote the password in a password manager
CREATE DATABASE analytics;
Tested with SELECT version() before doing anything else
Connection facts noted: localhost / 5432 / analytics / postgres
Loaded data with \copy after CREATE TABLE

Четыре факта записаны, порт соответствует каждому руководству, которое вы прочитаете, а ваша работа находится в собственной базе данных. Тестирование с version() первый означает, что когда что-то сломается позже, вы уже знаете, что проблема не в соединении.

Что пошло не так и как это исправить

Шесть из них составляют большую часть первых дней.

"В соединении отказано." Служба не работает. В Окна откройте «Службы» и запустите службу PostgreSQL. Это ошибка, которой нет эквивалента в SQLite, потому что нечего запускать.

«Ошибка аутентификации пароля для пользователя Постгрес». Неправильный пароль или другой пользователь, чем вы думаете. Простого сброса не существует, поэтому его запись во время установки так важна.

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

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

psql не признается. Установщик bin папка не находится в вашем PATH. Добавьте его или используйте ярлык SQL-оболочка, созданный установщиком.

Порт 5432 уже используется. Более старая версия Постгрес все еще установлена. Удалите его, а не переходите на 5433, иначе вы будете годами объяснять каждому инструменту странный порт.

Зачем вообще существует сервер

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

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

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

Одно замечание по поводу написания этой страницы. Он постоянно просил вас дать ответ, что перестанет работать, почему файлу не нужен ни один из четырех ключей, прежде чем дать его. Попытка дать ответ до того, как вы увидите правильный, достоверно повышает, насколько хорошо сохраняется правильный ответ, даже если попытка неверна (Бисра, Лю, Несбит, Салими и Винн, 2018, Обзор педагогической психологии, 30(3), 703–725).

Использование этого на вашей машине

Пять шагов по порядку.

  1. Решите, нужно ли вам это используя раздел 1. Установка сервера для изучения операторов SELECT требует часов, которые вы могли бы потратить на их написание.
  2. Оставьте порт 5432 и запишите пароль в момент его установки. И то, и другое дешево сейчас и дорого потом.
  3. Создайте свою собственную базу данных вместо того, чтобы работать по умолчанию.
  4. Запишите четыре факта связи где-то вы ведете записи. Каждый инструмент потребует одни и те же четыре.
  5. Тест с SELECT version() перед загрузкой чего-либо, чтобы вы знали, что соединение подтверждено, прежде чем данные можно будет обвинить.

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

Подробнее об этом и еще что-нибудь подобное. Все инструкции находятся в одном месте на индекс направляющих: настройка, SQL, Excel, Python и навыки работы с ними.

Все на одном экране

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

вещьЧто это такое или что оно делает
Основной сдвигЭто не файл, который вы открываете. Сервис, к которому вы подключаетесь.
Тебе это нужно?Только если задание называет его, у вас есть учетные данные или несколько программ совместно используют данные.
установщик ОкнаИнтерактивный инсталлятор от EDB. Хостинг ЕАБР, а не сообщества.
Что с этим связаноСервер, pgAdmin, psql, СтекБилдер. Пропустите СтекБилдер.
Текущая версия18 стабильная по состоянию на август 2026 г. Не устанавливайте бета-версию для обучения.
Порт5432. Держи. Каждый пример предполагает это.
Четыре фактаХост, порт, база данных, пользователь и пароль.
Строка подключенияpostgresql://user:pass@host:port/database
База данных по умолчаниюpostgres, собственный сервис. Вместо этого сделайте свой собственный.
схемаГруппировка внутри базы данных. По умолчанию public, как в public.sales.
\copy против COPYВаша машина против машины сервера. Использовать \copy.
Загрузка CSV-файлаСначала СОЗДАЙТЕ ТАБЛИЦУ. Постгрес не будет его изобретать.
Чехол складнойИмена без кавычек становятся строчными. Придерживайтесь нижнего регистра.
"В соединении отказано"Служба не работает. Начни это.
Забытый парольНет простого сброса. Запишите его во время установки.
Первый тестовый запросSELECT version(). Таблицы не нужны.
Единственная привычка, которую следует сохранить. Запишите четыре факта подключения в день установки и протестируйте с помощью SELECT version() прежде всего. В таком случае каждая будущая проблема с подключением — это вопрос о том, какое из четырех известных значений неверно, а не открытая загадка. Если что-то сломалось так, как не описано на этой странице, существует общая шлейф диагностики на предмет застревания.

Еще одна мысль, и мне бы искренне хотелось услышать ответы других людей. Больше всего я сожалею об установке, в которой я изменил порт без уважительной причины, а затем потратил два года, объясняя нечетное число каждому инструменту, который я подключил. Какие настройки по умолчанию вы изменили вначале и хотели бы, чтобы вас оставили в покое?

Ссылки

Постгрес запущен, и терминал ожидает еще не написанного вами запроса.

SQL для аналитиков состоит из 458 страниц, каждый запрос читается построчно простыми словами, с практическими вопросами, в которых печатается ответ и причина, по которой он правильный.

SQL для аналитиков, 19 $ →
Сервер работает. SQL — это тот же SQL.

Почти все, что вы пишете для Постгрес, вы бы написали где угодно. Курс SQL охватывает соединения, группировку и оконные функции с активной базой данных на вкладке браузера, а также SQL-практикум передает вам один выполняемый запрос за раз, поэтому вы печатаете, а не читаете.

Откройте набор SQL →