PostgreSQL работает с путаницей версий 12 и 13
Я новичок в PostgreSQL, но кое-что знаю о SQL. Я использовал базу данных с таблицами и данными в postgres, которая (я предполагаю) поставляется с MacOS, потому что, когда я запускаю сервер, получаю доступ к данной базе данных и запускаю
SELECT version();
на терминале я получаю следующее:PostgreSQL 12.3 on x86_64-apple-darwin19.4.0, compiled by Apple clang version 11.0.3 (clang-1103.0.32.59), 64-bit
Однако я не вижу этого в
Library/PostgreSQL
потому что его не существует.
Итак, теперь я установил PostgreSQL 13, чтобы работать с ним во время прохождения курса, а также установил pgAdmin. Он должен был быть установлен под
Library/PostgreSQL/13/
но его тоже не существует. Тем не менее, я могу получить доступ к серверам как для 12 (порт 5432), так и для 13 (порт 5433) через pgAdmin и все его таблицы. Я могу получить доступ к таблицам из 12 в pgAdmin и на терминале.
Я немного смущен тем, как все было настроено, и я не смог найти подходящего руководства, чтобы решить эту проблему, поэтому у меня есть несколько вопросов:
- Как мне избавиться от двух версий и запустить только одну со всеми моими базами данных одновременно? Такое ощущение, что было бы более организованно.
- Как мне получить доступ к серверу версии 13 через терминал?
- Как удалить версию 12? Я пробовал бежать
open uninstall_postgresql.app
но папка больше не существует. - Если я получаю доступ через:
psql -U postgres -p 5433
: тогдаpsql (12.3, server 13.0) WARNING: psql major version 12, server major version 13.
это почему?
1 ответ
Как я могу избавиться от двух версий и запустить только одну со всеми моими базами данных одновременно? Такое ощущение, что было бы более организованно.
Как мне получить доступ к серверу версии 13 через терминал?
Вы сказали, что это был порт 5433, так что это должно быть просто
psql -U postgres -p 5433
Как удалить версию 12? Я попытался запустить open uninstall_postgresql.app, но папка больше не существует.
Это полностью зависит от того, как вы его установили, о чем вы здесь не упомянули. Вы использовали postgres.app, варили или компилировали из исходников или?
Если я получаю доступ через: psql -U postgres -p 5433: затем psql (12.3, сервер 13.0) ВНИМАНИЕ: основная версия psql 12, основная версия сервера 13. Почему это так?
Первым на вашем пути будет psql версии 12. Ваша версия 13 тоже может быть на вашем пути, а может и нет. Пытаться
which -a psql
чтобы увидеть, появятся ли другие версии. Версия 12 будет в основном работать, но некоторые команды \ могут вызывать ошибки.
Работающие версии postgres состоят из двух частей. Каталог данных, который можно найти, подключившись к серверу и запустив
show data_directory;
и исполняемые файлы. Вы можете найти тех, у кого
which psql
(или подобное), потому что хотя бы один из них кажется вам на пути. Если это не сработает, вы можете использовать lsof для поиска файлов, которые используются для портов 5432 и 5433.