PostgreSQL инсталляция в Ubuntu

Делаю:

19.08.2018


$ sudo su -

$ PG_VERSION=9.6

-- bionic
# echo 'deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main' > /etc/apt/sources.list.d/pgdg.list

-- xenial
# echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list

-- trusty
# echo 'deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main' > /etc/apt/sources.list.d/pgdg.list

# wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

# apt-get update
# apt-get install -y postgresql-$PG_VERSION postgresql-server-dev-$PG_VERSION

# service postgresql restart
# service postgresql status
# systemctl enable postgresql


Подключение к базе

su - postgres

$ psql

postgres-# \dx List of installed extensions Name | Version | Schema | Description
———+———+————+—————————— plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language (1 row)


Добавление расширения jsonbx-1.0.0

# apt install -y gcc make
# cd /home/marley/Desktop/jsonbx-1.0.0
# make

# pg_config --pkglibdir
/usr/lib/postgresql/9.6/lib

# cp jsonbx.o /usr/lib/postgresql/9.6/lib
# cp jsonbx.so /usr/lib/postgresql/9.6/lib

# cp jsonbx.control /usr/share/postgresql/9.6/extension/
# cp jsonbx--1.0.sql /usr/share/postgresql/9.6/extension/


$ psql
psql (9.6.9)
Type "help" for help.

postgres=# CREATE EXTENSION IF NOT EXISTS jsonbx;
CREATE EXTENSION
postgres=#
postgres=#
postgres=# \dx
                 List of installed extensions
  Name   | Version |   Schema   |         Description          
---------+---------+------------+------------------------------
 jsonbx  | 1.0     | public     | Jsonb extension
 plpgsql | 1.0     | pg_catalog | PL/pgSQL procedural language
(2 rows)


Импорт базы

Разные способы имеются


// Создание бекапа
$ pg_dump database_name > database_name_20160527.sql

// Восстановление

$ su - postgres
$ psql

-- Если база не создана
$ CREATE DATABASE <db_name>;

exit

$ psql database_name < database_name_20160527.sql


https://www.netguru.co/tips/how-to-dump-and-restore-postgresql-database


ЕЩе есть такой вариант:


$ cd <db_dump_dir>

-- Данные будут перезаписаны
$ pg_restore -d <db_name> myDump.dump -j 4 -c