У меня есть несколько версий postgresql, установленного на моем поле человечности. 9.3 является настоящим материал. Я просто установил 9.4, чтобы сделать некоторые тесты с репликацией.
Вот то, почему я думаю, что у меня есть два выполнения версий:
test@testdev:/usr/lib/postgresql$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
9.4 main 5433 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log
test@testdev:/usr/lib/postgresql$
Также:
test@testdev:/usr/lib/postgresql$ ls
9.3 9.4
И наконец:
test@testdev:~$ /etc/init.d/postgresql stop
* Stopping PostgreSQL 9.3 database server
* Error: You must run this program as the cluster owner (postgres) or root [fail]
* Stopping PostgreSQL 9.4 database server
* Error: You must run this program as the cluster owner (postgres) or root [fail]
Вопросы:
У меня есть два вопроса.
Принятие я правильно установил два различных сервера, как я запускаю командные строки для каждой версии серверов, которые я имею?
Я обычно вхожу в эти 9,3 баз данных путем выполнения чего-то вроде этого:
test@testdev:/usr/lib/postgresql$ sudo -i -u postgres postgres@testdev:~$ psql psql (9.4.1, server 9.3.5) Type "help" for help. postgres=# select version(); version ------------------------------------------------------------------------------------------------------ PostgreSQL 9.3.5 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.9.1-16ubuntu6) 4.9.1, 64-bit (1 row)
Спасибо.
РЕДАКТИРОВАНИЕ 1
я просто попробовал:
test@testdev:/usr/lib/postgresql$ sudo -i -u postgres:5433
sudo: unknown user: postgres:5433
sudo: unable to initialize policy plugin
и также:
test@testdev:/usr/lib/postgresql$ sudo -i -u postgres --port 5433
sudo: unrecognized option '--port'
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-u user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-u user] file ...
Если я правильно установил два разных сервера, как мне запускать командные строки для каждой версии серверов, которые у меня есть?
blockquote>Команда для подключения к определенному порту для postgres:
psql -h localhost -p 5433
Я полагаю, вам нужно использовать ...
sudo -i -u postgres psql -p 5433
как минимум (5432 по умолчанию). Из psql man :
-p port --port=port Specifies the TCP port or the local Unix-domain socket file extension on which the server is listening for connections. Defaults to the value of the PGPORT environment variable or, if not set, to the port specified at compile time, usually 5432
Что за ссылка на «psql (9.4.1, server 9.3.5)» выше?
blockquote>
- "psql 9.4.1" - это версия psql. Этот скрипт, вероятно, обновился, когда вы установили сервер 9.4.
psql --version
показывает версию команды. Вам потребуется версия psql 9.4.1 для поддержки сервера 9.4, и она, вероятно, обратно совместима с 9.3, но версия psql 9.3 не будет поддерживать сервер 9.4. Так что мне кажется правильным.- «Сервер 9.3.5» - это сервер.