как войти в систему определенной postgresql версии

У меня есть несколько версий 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]

Вопросы:

У меня есть два вопроса.

  1. Принятие я правильно установил два различных сервера, как я запускаю командные строки для каждой версии серверов, которые я имею?

    Я обычно вхожу в эти 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. что "psql (9.4.1, сервер 9.3.5)" ссылка выше?
    Это означает, что у меня есть 9.4.1 клиента, работающие на 9,3 серверах?

Спасибо.

РЕДАКТИРОВАНИЕ 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 ...
5
задан 18 February 2015 в 08:13

1 ответ

Если я правильно установил два разных сервера, как мне запускать командные строки для каждой версии серверов, которые у меня есть?

Команда для подключения к определенному порту для 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)» выше?

  • "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» - это сервер.
1
ответ дан 23 November 2019 в 10:42

Другие вопросы по тегам:

Похожие вопросы: