Как вы подключаетесь к недавно созданной базе данных postgres? - PullRequest
0 голосов
/ 03 октября 2010

Я только изучаю sql и начинаю с PostgreSQL. Вот что я пытаюсь сделать:

psql postgres
CREATE DATABASE newdb;

Тогда я хочу сделать что-то подобное (в том же сеансе PSQL)

CONNECT DATABASE newdb;

Конечно, это не работает. Но после выполнения заявления я смогу сделать что-то вроде:

CREATE TABLE newtable

И «newtable» должен появиться в базе данных newdb. Я чувствую, что есть что-то простое, что мне не хватает.

Ответы [ 2 ]

3 голосов
/ 03 октября 2010

На оболочке вы просто делаете \c для подключения:

\c newdb
2 голосов
/ 03 октября 2010

Вам не хватает чего-то простого: как использовать имеющуюся документацию. Я предлагаю это, потому что ваш вопрос довольно прост, и PostgreSQL имеет обширную документацию, которая будет очень полезна в будущем - это может сэкономить вам много времени.

У вас есть несколько вариантов:

  1. посмотрите документацию :)
  2. выполнить \? из командной строки для справки по команде
  3. посмотрите на man запись страницы

Хотя следующее не поможет с командой выполнения, например \c or \connect, которая вам нужна; для других команд, которые ставят под сомнение SQL, вы можете установить ECHO_HIDDEN для отображения системных запросов.
Пример:

    psql -E <rest of your db connection>
    -- then do something like "\d"

Затем вы увидите, как Postgres выполняет запросы:

postgres@ubuntu:/home/fooUser$ psql -E
postgres=# \d

********* QUERY **********
SELECT n.nspname as "Schema",
      c.relname as "Name",
      CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
      pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class c
     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','v','S','')
      AND n.nspname <> 'pg_catalog'
      AND n.nspname <> 'information_schema'
      AND n.nspname !~ '^pg_toast'
      AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;
**************************
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...