Краткое описание работы с PostgreSQL | Professional IT Solutions - IT аутсорсинг
Профессиональные IT решения для Вашего бизнеса
(499)704-25-26
/\--------------------------\/
Разное -> Краткое описание работы с PostgreSQL

Краткое описание работы с PostgreSQL

В данной статье будет кратко описано как работать с PosgreSQL, будет полезно при переходе с MySQL на PostgreSQL.
В статье используется OS Ubuntu server 12.04 и DB  PosgreSQL 9.1, с небольшими отличиями в разделе Команды из консоли ОС подойдет ко всем операционным системам.
 

Команды из консоли ОС:

Проинициализировать новую базу с необходимыми настройками:

su -c "/usr/lib/postgresql/9.1/bin/initdb --locale=ru_RU.UTF-8 -D /var/lib/postgresql/9.1/main" postgres

Сделать дамп базы

pg_dump -a -t {table_name} -f {file_name} {dbname}

Команды из командной строки PostgreSQL:

Создание БД:

CREATE DATABASE {database};

Создание пользователя:

CREATE USER {user} WITH PASSWORD '{password}';

Удалить пользователя:

DROP USER {user};

Дать права на базу пользователю:

GRANT ALL PRIVILEGES ON DATABASE {dbname} to {user};

Посмотреть список баз:

\l

Посмотреть список таблиц в базе:

\d

Сменить базу:

\connect {dbname} {user}

Узнать размер базы:

select pg_database_size('имя базы');

Узнать размер всех таблиц в базе:

SELECT relname AS name, relfilenode AS oid, (relpages / 128)::int as size_mb, reltuples as count FROM pg_class WHERE relname NOT LIKE 'pg%' ORDER BY relpages DESC;

Удаление слота репликации в PostgreSQL 9.4

postgres=# SELECT * FROM pg_replication_slots ;

                slot_name                | plugin | slot_type | datoid |  database  | active | xmin | catalog_xmin | restart_lsn

-----------------------------------------+--------+-----------+--------+------------+--------+------+--------------+-------------

 bdr_16393_6538263765086424688_1_16393__ | bdr    | logical   |  16393 | postgres   | f      |      |        10334 | 0/625B3A0


Запомним имя слота, и можно удалять:

postgres=# SELECT pg_drop_replication_slot('bdr_16393_6538263765086424688_1_16393__');

При возникновении ошибки как показано снизу будет обозначать, что слот активен:

ERROR:  replication slot "bdr_16393_6538263765086424688_1_16393__" is already active for pid 308

и необходимо будет завершить процесс:

postgres=# SELECT pg_terminate_backend(308) FROM pg_stat_replication;

и повторить команду удаления.

Рейтинг: 3.9/5 (Голосов: 16)
PITSol© 2010 - 2018. При использовании материалов ссылка на сайт обязательна.
Рейтинг@Mail.ru