15 команд для управления PostgreSQL
1. Как изменить root пароль в PostgreSQL?
$ /usr/local/pgsql/bin/psql postgres postgres Password: (oldpassword) ALTER USER postgres WITH PASSWORD ‘tmppassword’; $ /usr/local/pgsql/bin/psql postgres postgres Password: (tmppassword) |
Изменение пароля для обычного пользователя происходит таким же образом. Пользователь root может поменять пароль любому пользователю.
ALTER USER username WITH PASSWORD ‘tmppassword’; |
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. Проверяем состояние сервера
$ /etc/init.d/postgresql status Password: pg_ctl: server is running (PID: 6171) /usr/local/pgsql/bin/postgres “-D” “/usr/local/pgsql/data” |
[Замечание: Это сообщение говорит о том, что сервер запущен и работате нормально]
$ /etc/init.d/postgresql status Password: pg_ctl: no server running |
[Замечание: Это сообщение готоворит о том, что сервер не запущен]
4. Как запустить, остановить, перезапустить PostgreSQL?
# service postgresql stopStopping PostgreSQL: server stopped ok # service postgresql start Starting PostgreSQL: ok # service postgresql restart Restarting PostgreSQL: server stopped ok |
5. Как посмотреть какая версия PostgreSQL запущена?
$ /usr/local/pgsql/bin/psql testWelcome 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=# select version(); 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.
CREATE USER ramesh WITH password ‘tmppassword’;CREATE ROLE |
Метод 2: Создаем пользователя в через шелл команду createuser.
$ /usr/local/pgsql/bin/createuser sathiyaShall 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.
CREATE DATABASE mydb WITH OWNER ramesh;CREATE DATABASE |
Метод 2: Используем команду createdb.
$ /usr/local/pgsql/bin/createdb mydb -O ramesh CREATE DATABASE |
7. Получаем список всех баз в Postgresql?
# \l List of databases Name | Owner | Encoding ———-+———-+———- backup | postgres | UTF8 mydb | ramesh | UTF8 postgres | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8 |
8. Как удалить базу в PostgreSQL?
# \lList of databases Name | Owner | Encoding ———-+———-+———- backup | postgres | UTF8 mydb | ramesh | UTF8 postgres | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8 |
DROP DATABASE mydb; #DROP DATABASE |
9. Пользуемя встроенным хелпом к командам
Команда \? отобразит строку помощи для команда PSQL. \h CREATE покажет хелп для всех команд который начинаются с CREATE.
# \? # \h CREATE # \h CREATE INDEX |
10. Как получить список всех таблиц в базе данный в Postgresql?
# \d |
Для пустой базы вы получите сообщение “No relations found.”
11. Как узнать время выполнения запроса?
# \timing — после выполения данной команды каждый последующий запрос будет показывать время выполнения.
# \timingTiming IS ON. SELECT * FROM pg_catalog.pg_attribute ; TIME: 9.583 ms |
12. Как бэкапить и восстанавливать базы и таблицы в PostgreSQL?
Этот вопрос довольно велик и я опубликую его позднее отдельной статьей.
13. Как посмотреть список доступных функций в PostgreSQL ?
Для того чтобы получить список доступных функций, скажите \df+
# \df # \df+ |
14. Как отредактировать запрос к PostgreSQL в редакторе?
# \e |
\e откроет редактор, в котором вы можете отредактировать запрос и сохранить его.
15. Где я могу найти файл истории postgreSQL?
Подобно файлу ~/.bash_history, postgreSQL хранит все sql команды в файле ~/.psql_history.
$ cat ~/.psql_historyalter USER postgres WITH password ‘tmppassword’; \h ALTER USER SELECT version(); CREATE USER ramesh WITH password ‘tmppassword’; \timing SELECT * FROM pg_catalog.pg_attribute; |