Linux и Windows: помощь админам и пользователям

Администрируем и настраиваем Windows, Linux.



15 команд для управления PostgreSQL

Метки: |
Воскресенье, 19 апреля 2009 г.
Просмотров: 141566
Подписаться на комментарии по RSS

В этой статье я покажу 15 наиболее полезных команд для управления postgreSQL.

 

1. Как изменить root пароль в PostgreSQL?

$ <strong>/usr/local/pgsql/bin/psql postgres postgres
</strong>Password: (oldpassword)
# <strong>ALTER USER postgres WITH PASSWORD ‘tmppassword’;</strong>
$ <strong>/usr/local/pgsql/bin/psql postgres postgres</strong>
Password: (tmppassword)
 

Изменение пароля для обычного пользователя происходит таким же образом. Пользователь root может поменять пароль любому пользователю.

# <strong>ALTER USER username WITH PASSWORD ‘tmppassword’;
</strong>

2. Как установить PostgreSQL в автозапуск?

$ su - root
# tar xvfz postgresql-8.3.7.tar.gz
# cd postgresql-8.3.7
# cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql
# chmod a+x /etc/rc.d/init.d/postgresql

3. Проверяем состояние сервера

$ <strong>/etc/init.d/postgresql status
</strong>Password:
pg_ctl: server is running (PID: 6171)
/usr/local/pgsql/bin/postgres “-D” “/usr/local/pgsql/data”
[<strong>Замечание</strong>: Это сообщение говорит о том, что сервер запущен и работате нормально]
$ <strong>/etc/init.d/postgresql status</strong>
Password:
pg_ctl: no server running
[<strong>Замечание</strong>: Это сообщение готоворит о том, что сервер не запущен]

4. Как запустить, остановить, перезапустить PostgreSQL?

# <strong>service postgresql stop
</strong>Stopping PostgreSQL: server stopped
ok
# <strong>service postgresql start</strong>
Starting PostgreSQL: ok
# <strong>service postgresql restart</strong>
Restarting PostgreSQL: server stopped
ok

5. Как посмотреть какая версия PostgreSQL запущена?

$ <strong>/usr/local/pgsql/bin/psql test
</strong>Welcome to psql 8.3.7, the PostgreSQL interactive terminal.
Type:  \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
test=# <strong>select version();</strong>
version
—————————————————————————————————-
PostgreSQL 8.3.7 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)
(1 row)
test=#

5. Как создать пользователя в PostgreSQL?

Для этого существуют два метода..

Метод 1: Создаем пользователя в через PSQL шелл, командой CREATE USER.

# <strong>CREATE USER ramesh WITH password ‘tmppassword’;
</strong>CREATE ROLE

Метод 2: Создаем пользователя в через шелл команду createuser.

$ <strong>/usr/local/pgsql/bin/createuser sathiya
</strong>Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
CREATE ROLE

6. Как создать базу в PostgreSQL ?

Для этого существует 2 метода.

Метод 1: Создаем базу черезе PSQL шелл, с помощью команды CREATE DATABASE.

# <strong>CREATE DATABASE mydb WITH OWNER ramesh;
</strong>CREATE DATABASE

Метод 2: Используем команду createdb.

$ <strong>/usr/local/pgsql/bin/createdb mydb -O ramesh
</strong>CREATE DATABASE

7. Получаем список всех баз в Postgresql?

# <strong>\l</strong> 
List of databases
Name | Owner | Encoding
———-+———-+———-
backup | postgres | UTF8
mydb | ramesh | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8

8. Как удалить базу в PostgreSQL?

# <strong>\l
</strong>List of databases
Name | Owner | Encoding
———-+———-+———-
backup | postgres | UTF8
mydb | ramesh | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
# <strong>DROP DATABASE mydb;</strong>
DROP DATABASE

9. Пользуемя встроенным хелпом к командам

Команда \? отобразит строку помощи для команда PSQL. \h CREATE покажет хелп для всех команд который начинаются с CREATE.

# <strong>\?
</strong>
# <strong>\h CREATE</strong>
# <strong>\h CREATE INDEX</strong>

10. Как получить список всех таблиц в базе данный в Postgresql?

# <strong>\d</strong>

Для пустой базы вы получите сообщение “No relations found.”

 

11. Как узнать время выполнения запроса?

# \timing — после выполения данной команды каждый последующий запрос будет показывать время выполнения.

# <strong>\timing
</strong>Timing is on.
# <strong>SELECT * from pg_catalog.pg_attribute ;</strong>
Time: 9.583 ms

12. Как бэкапить и восстанавливать базы и таблицы в PostgreSQL?

Этот вопрос довольно велик и я опубликую его позднее отдельной статьей.

13. Как посмотреть список доступных функций в PostgreSQL ?

Для того чтобы получить список доступных функций, скажите \df+

# <strong>\df
</strong>
# <strong>\df+</strong>

14. Как отредактировать запрос к PostgreSQL в редакторе?

# <strong>\e
</strong>

\e откроет редактор, в котором вы можете отредактировать запрос и сохранить его.

15. Где я могу найти файл истории postgreSQL?

Подобно файлу  ~/.bash_history, postgreSQL хранит все sql команды в файле ~/.psql_history.

$ <strong>cat ~/.psql_history
</strong>alter user postgres with password ‘tmppassword’;
\h alter user
select version();
create user ramesh with password ‘tmppassword’;
\timing
select * from pg_catalog.pg_attribute;

Разное

Лучшие выставочные стенды в Москве. Отличное качество выполнения, невысокие цены.

Курьерская служба, доставка по Москве и Московской области, срочная доставка, рассылки писем, счетов, журналов

 

 

Оригинал 111

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Комментариев: 10

  1. Очень хорошая статья, люблю живые примеры

    С удовольствием прочитаю статью про бэкапы в postgresql

  2. Отличная статья,

    ничего лишнего

  3. Спасибо, подборка очень выручила когда пришлось аврально разбираться, как с postgesql работать.

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

  4. AndrejChernov21 | 2011-11-30 в 07:44:27

    продвижение сайтов - SEO www.top5.com.ua и раскрутка в Киеве

  5. Как и везде - много полезного, но нет нужного( ничего не сказано про разрешения и полномочия для обычных пользователей постгреса..

  6. $ su - root
    # tar xvfz postgresql-8.3.7.tar.gz
    # cd postgresql-8.3.7
    # cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql
    # chmod a+x /etc/rc.d/init.d/postgresql

    Не получается :((( команда postgresql status говорит что он остановлен.

  7. Странно. Я пользуюсь Ruby On Rails и у меня иногда удаляется база данных. Причём, непонятно почему...

    А так - спасибо за список команд - помогло.

  8. Как посмотреть какая версия PostgreSQL запущена?

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

    в то время как простое --help нам подскажет, что достаточно и "psql --version".

    Автор просто скопипастил текст "статьи" откуда-то даже не удосужившись удалить html-тэги.

  9. При написании подобных статей почему-то не учитывается специфика дистрибутива. Да - они все похожи, это не оспоримо, но тем не менее хотелось бы дополнить.

    Первое с чем сталкиваются новички, а работает ли на нужном порту постгри. Решается командой

    lsof -i:5432
    , если вывод команды пустой, значит сервис не работает.

    Также хочется отметить, что способов запуска/остановки процессов в разных системах минимум 2, тут выделен самый неудачный в плане длинного пути и отсутствия стандартизации запуска процессов.

  10. Аноним | 2016-08-01 в 20:21:54

    Есть команда показывающая место расположения базы данных:

    SHOW data_directory;

    Вывод такой:

    data_directory
         _____
    /var/lib/pgsql/data
    (1 row)

    Как понимаю 1 row - это означает первая база. Как посмотреть вторую?

Оставьте комментарий!

Используйте нормальные имена.

Имя и сайт используются только при регистрации

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email. При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д., а также подписку на новые комментарии.

(обязательно)