Как подключиться к базе данных postgres в Ubuntu - PullRequest
0 голосов
/ 15 октября 2019

Я унаследовал сервер Ubuntu с некоторыми php-страницами.

На одной из этих страниц есть следующий код:

 // Connessione al db
         $c_res = @pg_connect("", "", "", "", "timesheet");
         if ($c_res == 0)
            header_chiusura ("Errore nel collegamento all'origine dati<br>");

         // Impostazione stile variabili data
         $s_res = @pg_exec ($c_res, "SET DATESTYLE TO 'European'");
         if ($s_res == 0)
            header_chiusura ("Errore nell'esecuzione dell'istruzione SET<br>");

         // Lettura record utente e controlli vari
         if ($arg_nome_utente != "NULL" && $arg_password_utente != "NULL")
            $s_res = @pg_exec ($c_res, "SELECT * FROM utenti WHERE nome_utente = '" . $arg_nome_utente . "'");
         else
            $s_res = @pg_exec ($c_res, "SELECT * FROM utenti WHERE id_utente = " . $arg_id_utente);

         if ($s_res == 0)
            header_chiusura ("Errore nell'esecuzione dell'istruzione SELECT<br>");
         $rowcount = @pg_NumRows($s_res);
         if ($rowcount == 0)
            header_chiusura ("Utente non trovato<br>");
         if ($rowcount != 0 && $rowcount != 1)
            header_chiusura ("Errore, chiave duplicata nella tabella utenti<br>");
         $row = @pg_fetch_array($s_res,0);
         $f_id_utente = $row["id_utente"];
         $f_nome_utente = $row["nome_utente"];
         $f_password_utente = $row["password_utente"];
         $f_nome_completo = $row["nome_completo"];
         $f_id_connessione = $row["id_connessione"];

Чтение этого кода Я предполагаю, что существует база данных PostgreSQLнаходится в этой машине, и эта база данных называется «расписанием». Я хотел бы открыть эту базу данных в редакторе. но если я дам следующую команду:

root@ubuserver:~# psql timesheet

psql: FATAL:  role "root" does not exist

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

1 Ответ

0 голосов
/ 15 октября 2019

По умолчанию в PostgreSQL в Ubuntu используется пользователь postgres Unix с соответствующим пользователем базы данных postgres, который может подключаться к любой базе данных и также является суперпользователем базы данных.

При условии, что по умолчанию выв основном может перейти от пользователя root к пользователю postgres с помощью su - postgres, а затем psql timesheet должен начать сеанс SQL с пользователем базы данных postgres в базе данных timesheet без запроса пароля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...