Огромное спасибо, авторы очень стараются дать максимум знаний и навыков, такое усердие и на коммерческих проектах редко встретишь, а тут все в открытом доступе.
Авторам огромное спасибо за курс! Столкнулся с необходимостью изучения при поиске работы. ________________ # дополнения к видео для новичков в Linux: 1. Информацию о статусе запущенного сервера можно также посмотреть командой: sudo systemctl status postgresql (см. управление процессами systemd, помимо status посмотрите что обозначают start, stop, restart и enable ) ; 2. версию СУБД установленной в системе можно посмотреть с помощью команды: sudo apt list | grep postgresql ( команда составляет список установленных в системе пакетов | оставляет только строчки (имена пакетов) содержащие "postrgesql" )
Команда sudo apt list | grep postgresql отобразит все доступные для установки пакеты. Чтобы отобразить установленные пакеты нужно добавить ключ --installed: apt list --installed | grep postgresql
Сначала немного сбило с толку использование термина "обёртка" (над pg_ctl) в тексте. После просмотра видео понял, что подразумевается тоже, что раньше было названо "оболочка" (над initdb). Долго размышлял, осмысляя суть того, что понимал под понятием "оболочка" раньше, например "оболочка Windows". Что называется "прозрел"... Благодарю за отличный материал. Тем кто прочитает комментарий - советы: 1. после установки ВМ сделайте "снимок" 2. прочитайте текстовые материалы и проделайте сразу то, что в них написано. 3. восстановите ВМ из снимка и проделайте это еще раз. 4. Послушайте видео и получите больше данных о том, что вы проделали. Это закрепить полученную основу и практику. Всем добра
Вот именно что это обертка (wrapper), а не оболочка (shell).. Это общепринятый термин в Linux для обозначения программ, которые используются для удобства использования других программ..
Спасибо большое за прекрасный курс. Небольшое уточнение: make install , в отличие от make и configure, нужно выполнять с увеличенными привилегиями, то есть sudo make install . Иначе получите /usr/bin/mkdir: cannot create directory ‘/usr/local/pgsql’: Permission denied или что то в этом роде.
Насколько подсчет контрольных сумм нагружает процессор? Есть какие-то эмпирические данные, собственный опыт? Интересны не конкретные проценты, а хотя бы порядок цифр - десятые/единицы/десятки процентов. И да, я понимаю, что всё зависит и от процессора, и от объема памяти под кэш, и, соответственно, частоты и объемов считывания/записи на диск. Но всё же.
Жаль тема кодировок и локалей никак не затрагивается. А то можно поставить сервер так, что криво будет полнотекстовый поиск работать или тормозить при поиске даже при наличии индексов. Хотя, возможно, это исправлено или будет исправлено в будущих версиях. А чтобы исправить, нужно пересоздавать кластер БД и переносить нужные базы. Это, конечно, вопрос больше темы оптимизации БД. Но неплохо было бы сказать, что локаль и кодировка прибита гвоздями к созданному кластеру и неплохо было бы посмотреть там-то и там-то, чтобы выбрать нужную, а в этом курсе будем использовать дефольную/такую-то такую-то.
в видео пропущено как перекинуть пользователя в группу sudo, как вообще добавить пользователя и права, как ставить readline (в 2023 он 8 версии), zlib (который вообще zlib1g). в итоге собрать из исходников весьма сложное дело
В принципе можно, но что-то будет работать не совсем так, как показано в демонстрациях, и вам придется преодолевать сложности. Но если вы разберетесь с отличиями, будет еще и лучше.
не могу перейти к этапу "make" возвращаемый ответ "make: command not found" кроме того, результатом конфигурации в конце выдается следующий ответ: configure: error: in `/home/student/postgresql-13.6': configure: error: no acceptable C compiler found in $PATH
36:52 - "программное обеспечение сервера принадлежит суперпользователю" 43:29 - "сервер всегда должен выполняться под выделенным пользователем, не под суперпользователем" это как?
сорян за тупой вопрос, я воще новичок просто. ЧСтавим себе на домашний ПК Линукс Кубунту, на него запрягаем виртуальную машину, на виртуалку себе ставим далее Постгрес? Я все верно запейсал?
sudo apt install -y postgresql-13 А если я продолжаю установку в той же версии ОС, что была в инструкции к занятиям по 10 версии, что надо предварительно было сделать?
pg_ctl: could not start server Examine the log output. лог файл: LOG: could not bind IPv4 address "127.0.0.1": Permission denied HINT: Is another postmaster already running on port 555? If not, wait a few seconds and retry. WARNING: could not create listen socket for "localhost" FATAL: could not create any TCP/IP sockets LOG: database system is shut down в conf пытался менять порт и всё остальное, ничего не помогло. Что можно сделать ещё?
было бы здорово, если бы, хотя бы кратко, описали как правильно удалять лишние СУБД после экспериментов, а то apt remove сделал, а папки всеравно var/lib/postgresq остались
Проблемы лучше отправлять на почту edu@postgrespro.ru с максимальным количеством подробностей. По одному сообщению об ошибке обычно трудно что-то конкретное сказать.
Добрый день. Не могу понять: если остановил сервер, выключил машину, то как его потом запустить утилитой pg_ctl? Из какого-то определённого каталога? При всех попытках запуска возвращается: "pg_ctl: command not found"
В этой версии курса мы перешли на установку PostgreSQL из пакета. Сервер сам запускается при старте системы, а управляется утилитой pg_ctlcluster (вот это место в лекции: ruclips.net/video/355mjgmli28/видео.html)
@@PostgresProfessionalта же проблема. В том месте, на которое Вы оставили ссылку, как раз говорится о том, что Вы создаёте сервер из сходных кодов. Можете ещё раз пояснить, как устранить эту проблему?
@@ЛюбовьЩербакова-м1с в предыдущем ответе ссылку не правильную вставили. Вот то место ruclips.net/video/355mjgmli28/видео.htmlsi=-tG8RL2RObbwhtgA&t=1728
с первого урока ничего не понятно, делаю все команды как в ролике, некоторые работает а некотоыре вообще не реагирует, при этом образ я скачивал прикрепленному пдф файле
Во введении к курсу не зря говорится, что нужно понимание основ Юникса. Без этого могут возникать сложности, да. Но нам всегда можно написать на edu@postgrespro.ru и рассказать подробности - что делали, что не получилось. Мы поможем.
Далеко не всегда на сервере, с которым вам придется работать, будет хоть какая-то графическая оболочка. Очень вероятно, что часто это будет просто голая консоль, поэтому нужно уметь в ней работать.
Мне понравилось человек ратует за правильное произношение и то, что постгрю нельзя называть постгрей, а сам говорит «суду». Да какое же там «суду», написано же почти по русски sudo! 😂
@@PostgresProfessional хохо, аргумент, согласен. Substitute User and do, а do реально звучит как «дю». В следующем видео напишу такую же предъяву по поводу “false”)))))
При выполнении команды initdb -U postgres -k -D /home/student/pgsql13/data ругается: "The files belonging to this database system will be owned by user "student". This user must also own the server process."
добрый вечер, это нормально что у меня в терминале при написании команд идет не как в курсе показано student$ а student: ~/postgresql-13.6$ а еще дальше стала student: ~/postgresql-13.6/contrib$
Да, это нормально. Стандартное приглашение системы включает текущий путь, поэтому оно меняется. А в курсе мы просто подсказываем, от имени какого пользователя вводить команды.
student:~$ psql -U postgres -p 5555 -c 'SELECT now();' psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5555" failed: No such file or directory Is the server running locally and accepting connections on that socket? Хммм...
Если выполнить все команды, показанные в демонстрации, все должно работать. Попробуйте повторить "с чистого листа". Мы сможем помочь, если вы покажете полностью все, что у вас происходило в терминале (на почту edu@postgrespro.ru).
Добрый день. На все попытки запустить утилиту pg_checksums возвращает сообщение "pg_checksums: command not found" Не важно с какими параметрами и под каким пользователем пытаться её выполнить. Например, student:/usr/lib/postgresql/13/bin$ pg_checksums --help pg_checksums: command not found При этом в каталоге она есть student:/usr/lib/postgresql/13/bin$ ls -l total 11992 -rwxr-xr-x 1 root root 51952 мая 10 2022 clusterdb -rwxr-xr-x 1 root root 60280 мая 10 2022 createdb -rwxr-xr-x 1 root root 52304 мая 10 2022 createuser -rwxr-xr-x 1 root root 47792 мая 10 2022 dropdb -rwxr-xr-x 1 root root 47728 мая 10 2022 dropuser -rwxr-xr-x 1 root root 118296 мая 10 2022 initdb -rwxr-xr-x 1 root root 39752 мая 10 2022 oid2name -rwxr-xr-x 1 root root 39224 мая 10 2022 pg_archivecleanup -rwxr-xr-x 1 root root 101784 мая 10 2022 pg_basebackup -rwxr-xr-x 1 root root 151240 мая 10 2022 pgbench -rwxr-xr-x 1 root root 56024 мая 10 2022 pg_checksums В чём может быть причина?
Надо добавить /usr/lib/postgresql/13/bin в путь поиска (переменную $path), или указать точный путь до утилиты (например, находясь в этом каталоге, можно использовать точку, как написали в соседнем сообщении).
Скорее всего, была проблема с сохранением директории bin/ в PATH - потому система и не видела initdb. В этом случае возможны два варианта: либо при исполнении команды директория некорректно сохранилась в путь (опечатка?), либо вы перезапустили терминал (или систему целиком), а переменная стирается после перезапуска терминала. У меня был именно второй вариант - выключал компьютер, чтобы вернуться позже, потом запустил, и такая же, как у вас, ошибка выскочила. Выяснил, что для постоянного сохранения директории в пути нужно править файл ~/.bashrc - сохранить указанную в презентацию команду об экспорте в нем. Ну, или заново в терминале запустить эту команду, до очередного перезапуска. Не знаю, почему об этом не рассказали в лекции.
Огромное спасибо, авторы очень стараются дать максимум знаний и навыков, такое усердие и на коммерческих проектах редко встретишь, а тут все в открытом доступе.
Вы превосходный лектор.
Благодарю за труд!
Авторам огромное спасибо за курс! Столкнулся с необходимостью изучения при поиске работы.
________________
# дополнения к видео для новичков в Linux:
1. Информацию о статусе запущенного сервера можно также посмотреть командой:
sudo systemctl status postgresql
(см. управление процессами systemd, помимо status посмотрите что обозначают start, stop, restart и enable ) ;
2. версию СУБД установленной в системе можно посмотреть с помощью команды:
sudo apt list | grep postgresql
( команда составляет список установленных в системе пакетов | оставляет только строчки (имена пакетов) содержащие "postrgesql" )
Команда sudo apt list | grep postgresql отобразит все доступные для установки пакеты. Чтобы отобразить установленные пакеты нужно добавить ключ --installed:
apt list --installed | grep postgresql
Сначала немного сбило с толку использование термина "обёртка" (над pg_ctl) в тексте. После просмотра видео понял, что подразумевается тоже, что раньше было названо "оболочка" (над initdb). Долго размышлял, осмысляя суть того, что понимал под понятием "оболочка" раньше, например "оболочка Windows". Что называется "прозрел"... Благодарю за отличный материал. Тем кто прочитает комментарий - советы:
1. после установки ВМ сделайте "снимок"
2. прочитайте текстовые материалы и проделайте сразу то, что в них написано.
3. восстановите ВМ из снимка и проделайте это еще раз.
4. Послушайте видео и получите больше данных о том, что вы проделали. Это закрепить полученную основу и практику.
Всем добра
Вот именно что это обертка (wrapper), а не оболочка (shell).. Это общепринятый термин в Linux для обозначения программ, которые используются для удобства использования других программ..
Большое спасибо за курс) Все понятным языком, без воды, прям оооочень круто!
Спасибо большое за прекрасный курс. Небольшое уточнение: make install , в отличие от make и configure, нужно выполнять с увеличенными привилегиями, то есть sudo make install . Иначе получите /usr/bin/mkdir: cannot create directory ‘/usr/local/pgsql’: Permission denied или что то в этом роде.
надо делать все под пользователем postgres.
не нужно в данном случае для инстала использовать повышение привелегий, т.к. задан префикс который поставить в домашнюю директорию пользователя 11:22
Большое спасибо!
крутяк, спасибо)
можно взять больше джобов запустить при сборке. например make -j32 значительно быстрее сборка пойдет
Насколько подсчет контрольных сумм нагружает процессор? Есть какие-то эмпирические данные, собственный опыт? Интересны не конкретные проценты, а хотя бы порядок цифр - десятые/единицы/десятки процентов.
И да, я понимаю, что всё зависит и от процессора, и от объема памяти под кэш, и, соответственно, частоты и объемов считывания/записи на диск. Но всё же.
По тем данным, которые попадались - в районе нескольких процентов. Но лучше, конечно, не верить, а проверить.
Жаль тема кодировок и локалей никак не затрагивается. А то можно поставить сервер так, что криво будет полнотекстовый поиск работать или тормозить при поиске даже при наличии индексов. Хотя, возможно, это исправлено или будет исправлено в будущих версиях. А чтобы исправить, нужно пересоздавать кластер БД и переносить нужные базы. Это, конечно, вопрос больше темы оптимизации БД. Но неплохо было бы сказать, что локаль и кодировка прибита гвоздями к созданному кластеру и неплохо было бы посмотреть там-то и там-то, чтобы выбрать нужную, а в этом курсе будем использовать дефольную/такую-то такую-то.
Про кодировки и локали есть в теме Локализация курса DBA2 (postgrespro.ru/education/courses/DBA2).
Да шесть вы
в видео пропущено как перекинуть пользователя в группу sudo, как вообще добавить пользователя и права, как ставить readline (в 2023 он 8 версии), zlib (который вообще zlib1g). в итоге собрать из исходников весьма сложное дело
Добрый день! Подскажите, возможно ли проходить курс напрямую в ОС Ubuntu? Или использование виртуальной машины обязательно?
В принципе можно, но что-то будет работать не совсем так, как показано в демонстрациях, и вам придется преодолевать сложности. Но если вы разберетесь с отличиями, будет еще и лучше.
не могу перейти к этапу "make" возвращаемый ответ "make: command not found" кроме того, результатом конфигурации в конце выдается следующий ответ: configure: error: in `/home/student/postgresql-13.6':
configure: error: no acceptable C compiler found in $PATH
36:52 - "программное обеспечение сервера принадлежит суперпользователю"
43:29 - "сервер всегда должен выполняться под выделенным пользователем, не под суперпользователем"
это как?
Так и есть: владелец исполняемых файлов - root, а выполнять их должен не root.
Есть еще вариант установки postgres в контейнере. Со своими плюсами и минусами.
Да, но контейнер - та же виртуальная среда.
сорян за тупой вопрос, я воще новичок просто. ЧСтавим себе на домашний ПК Линукс Кубунту, на него запрягаем виртуальную машину, на виртуалку себе ставим далее Постгрес? Я все верно запейсал?
Было бы лучше, если бы показывали наглядно, что нужно делать.
sudo apt install -y postgresql-13
А если я продолжаю установку в той же версии ОС, что была в инструкции к занятиям по 10 версии, что надо предварительно было сделать?
Сложно сказать. Но лучше всего взять виртуальную машину от этого курса.
"Практика +" на этой же виртуальной машине выполнять? Как это сделать, если сервер уже установлен?
Да. Можно собрать еще один сервер, на другом порту.
pg_ctl: could not start server
Examine the log output.
лог файл:
LOG: could not bind IPv4 address "127.0.0.1": Permission denied
HINT: Is another postmaster already running on port 555? If not, wait a few seconds and retry.
WARNING: could not create listen socket for "localhost"
FATAL: could not create any TCP/IP sockets
LOG: database system is shut down
в conf пытался менять порт и всё остальное, ничего не помогло. Что можно сделать ещё?
HINT: Is another postmaster already running on port 555?
Или порт еще кем-то занят.
Попробуйте запустить на другом порту, например.
Здравствуйте, а возможно ли удаленное прохождение тестирование и получение сертификата ?
К сожалению (а может и к счастью) тестирование только очное. В настоящий момент это Москва, Барнаул, Новосибирск.
было бы здорово, если бы, хотя бы кратко, описали как правильно удалять лишние СУБД после экспериментов, а то apt remove сделал, а папки всеравно var/lib/postgresq остались
Подумаем над этим, спасибо!
apt purge можно использовать, он удалить все папки связанные с утилитой/приложением
Помогите пожалуйста в she'll выдаёт ошибку ошибка подключения к серверу localhost (::1), порту 5432 не удалось fe_sendauth: no password supplied
Проблемы лучше отправлять на почту edu@postgrespro.ru с максимальным количеством подробностей. По одному сообщению об ошибке обычно трудно что-то конкретное сказать.
Добрый день. Не могу понять: если остановил сервер, выключил машину, то как его потом запустить утилитой pg_ctl? Из какого-то определённого каталога? При всех попытках запуска возвращается: "pg_ctl: command not found"
В этой версии курса мы перешли на установку PostgreSQL из пакета. Сервер сам запускается при старте системы, а управляется утилитой pg_ctlcluster (вот это место в лекции: ruclips.net/video/355mjgmli28/видео.html)
@@PostgresProfessional Спасибо
@@PostgresProfessionalта же проблема. В том месте, на которое Вы оставили ссылку, как раз говорится о том, что Вы создаёте сервер из сходных кодов. Можете ещё раз пояснить, как устранить эту проблему?
@@ЛюбовьЩербакова-м1с в предыдущем ответе ссылку не правильную вставили. Вот то место ruclips.net/video/355mjgmli28/видео.htmlsi=-tG8RL2RObbwhtgA&t=1728
с первого урока ничего не понятно, делаю все команды как в ролике, некоторые работает а некотоыре вообще не реагирует, при этом образ я скачивал прикрепленному пдф файле
Во введении к курсу не зря говорится, что нужно понимание основ Юникса. Без этого могут возникать сложности, да.
Но нам всегда можно написать на edu@postgrespro.ru и рассказать подробности - что делали, что не получилось. Мы поможем.
зачем собирать сервер? почему бы просто не скачать Debeaver и не подключиться через него к Postresql?
Далеко не всегда на сервере, с которым вам придется работать, будет хоть какая-то графическая оболочка. Очень вероятно, что часто это будет просто голая консоль, поэтому нужно уметь в ней работать.
@@vadimrudakov8907 понятно. Спасибо за ответ!
Мне понравилось человек ратует за правильное произношение и то, что постгрю нельзя называть постгрей, а сам говорит «суду». Да какое же там «суду», написано же почти по русски sudo! 😂
en.wikipedia.org/wiki/Sudo
@@PostgresProfessional хохо, аргумент, согласен. Substitute User and do, а do реально звучит как «дю». В следующем видео напишу такую же предъяву по поводу “false”)))))
@@kamsikamsa Делай мейк инстол.
Что-то на китайском
нихрена не понятно
А вы начните с чего-нибудь попроще. Например, можно почитать как себя на людях вести.
При выполнении команды
initdb -U postgres -k -D /home/student/pgsql13/data
ругается:
"The files belonging to this database system will be owned by user "student". This user must also own the server process."
Нашёл, надо сделать
chown student -R /home/student/pgsql13
права на папку слетели
добрый вечер, это нормально что у меня в терминале при написании команд идет не как в курсе показано
student$
а
student: ~/postgresql-13.6$
а еще дальше стала
student: ~/postgresql-13.6/contrib$
Да, это нормально. Стандартное приглашение системы включает текущий путь, поэтому оно меняется. А в курсе мы просто подсказываем, от имени какого пользователя вводить команды.
student:~$ psql -U postgres -p 5555 -c 'SELECT now();'
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5555" failed: No such file or directory
Is the server running locally and accepting connections on that socket?
Хммм...
Если выполнить все команды, показанные в демонстрации, все должно работать. Попробуйте повторить "с чистого листа". Мы сможем помочь, если вы покажете полностью все, что у вас происходило в терминале (на почту edu@postgrespro.ru).
pg_ctl -D /home/student/pgsql13/data -l logfile start так запускай
@@artembragilev7019
Да спасибо! Но там проблема была в другом.
Добрый день. На все попытки запустить утилиту pg_checksums возвращает сообщение "pg_checksums: command not found"
Не важно с какими параметрами и под каким пользователем пытаться её выполнить.
Например,
student:/usr/lib/postgresql/13/bin$ pg_checksums --help
pg_checksums: command not found
При этом в каталоге она есть
student:/usr/lib/postgresql/13/bin$ ls -l
total 11992
-rwxr-xr-x 1 root root 51952 мая 10 2022 clusterdb
-rwxr-xr-x 1 root root 60280 мая 10 2022 createdb
-rwxr-xr-x 1 root root 52304 мая 10 2022 createuser
-rwxr-xr-x 1 root root 47792 мая 10 2022 dropdb
-rwxr-xr-x 1 root root 47728 мая 10 2022 dropuser
-rwxr-xr-x 1 root root 118296 мая 10 2022 initdb
-rwxr-xr-x 1 root root 39752 мая 10 2022 oid2name
-rwxr-xr-x 1 root root 39224 мая 10 2022 pg_archivecleanup
-rwxr-xr-x 1 root root 101784 мая 10 2022 pg_basebackup
-rwxr-xr-x 1 root root 151240 мая 10 2022 pgbench
-rwxr-xr-x 1 root root 56024 мая 10 2022 pg_checksums
В чём может быть причина?
student:/usr/lib/postgresql/13/bin$ ./pg_checksums --help
Вот так!
Надо добавить /usr/lib/postgresql/13/bin в путь поиска (переменную $path), или указать точный путь до утилиты (например, находясь в этом каталоге, можно использовать точку, как написали в соседнем сообщении).
initdb -U postgres -k -D /home/student/pgsql13/data
initdb: command not found
Не понимаю ничего
Привет! У меня та же проблема, когда собираю из исходников нету утилиты initdb. Не нашел как решить?
Такс, просто удалил, папку /home/student/pgsql13, потом собрал и установил все по новой и заработало. Магия!
Скорее всего, была проблема с сохранением директории bin/ в PATH - потому система и не видела initdb. В этом случае возможны два варианта: либо при исполнении команды директория некорректно сохранилась в путь (опечатка?), либо вы перезапустили терминал (или систему целиком), а переменная стирается после перезапуска терминала. У меня был именно второй вариант - выключал компьютер, чтобы вернуться позже, потом запустил, и такая же, как у вас, ошибка выскочила. Выяснил, что для постоянного сохранения директории в пути нужно править файл ~/.bashrc - сохранить указанную в презентацию команду об экспорте в нем. Ну, или заново в терминале запустить эту команду, до очередного перезапуска. Не знаю, почему об этом не рассказали в лекции.