Подключение к источнику данных PostgreSQL (мастер импорта и экспорта SQL Server)
В этом разделе показано, как подключаться к источникам данных PostgreSQL со страницы Выбор источника данных или Выбор назначения в мастере импорта и экспорта SQL Server.
Подробные требования и необходимые условия для подключения к базе данных PostgreSQL выходят за рамки этой статьи Майкрософт. В ней предполагается, что у вас уже установлено клиентское программное обеспечение PostgreSQL и вы можете успешно подключиться к целевой базе данных PostgreSQL. Для получения дополнительных сведений обратитесь к администратору базы данных PostgreSQL или к документации по PostgreSQL.
Получение драйвера ODBC для PostgreSQL
Установка драйвера ODBC с помощью построителя стека
Запустите построитель стека, чтобы добавить драйвер ODBC для PostgreSQL (psqlODBC) в вашу установку PostgreSQL.
Скачивание последней версии драйвера ODBC
Или скачайте установщик Windows для последней версии драйвера ODBC для PostgreSQL (psqlODBC) прямо с этого FTP-сайта — https://www.postgresql.org/ftp/odbc/versions/msi/. Извлеките содержимое ZIP-файла и запустите файл MSI.
Подключение к PostgreSQL с помощью драйвера ODBC для PostgreSQL (psqlODBC)
Драйверы ODBC не приводятся в раскрывающемся списке источников данных. Чтобы подключиться с помощью драйвера ODBC, сначала выберите поставщик данных .NET Framework для ODBC в качестве источника данных на странице Выбор источника данных или Выбор назначения. Этот поставщик служит оболочкой для драйвера ODBC.
Ниже показан экран, который появляется сразу после выбора поставщика данных .NET Framework для ODBC.
Указываемые параметры (драйвер ODBC для PostgreSQL)
Параметры подключения для этого поставщика данных и драйвера ODBC одинаковы независимо от того, является ли PostgreSQL источником или назначением. Таким образом, на страницах Выбор источника данных и Выбор назначения мастера отображаются одинаковые параметры.
Чтобы подключиться к PostgreSQL с помощью драйвера ODBC для PostgreSQL, соберите строку подключения, используя указанные ниже параметры и их значения. Полный формат строки подключения приведен после списка параметров.
Вы можете получить помощь в построении строки подключения. Кроме того, вместо указания строки подключения вы можете предоставить существующее имя DSN (имя источника данных) или создать новое. Дополнительные сведения об этих возможностях см. в разделе Подключение к источнику данных ODBC.
Драйвер
Имя драйвера ODBC — PostgreSQL ODBC Driver(UNICODE) или PostgreSQL ODBC Driver(ANSI).
Server
Имя сервера PostgreSQL.
порт.
Порт, используемый для подключения к серверу PostgreSQL.
База данных
Имя базы данных PostgreSQL.
Uid и Pwd
Uid (идентификатор пользователя) и Pwd (пароль) для подключения.
Формат строки подключения
Ниже приведен формат типичной строки подключения.
Driver=;Server=;Port=;Database=;UID=;PWD=
Ввод строки подключения
Введите строку подключения в поле ConnectionString либо введите имя DSN в поле Dsn на странице Выбор источника данных или Выбор назначения. После того как вы введете строку подключения, мастер проанализирует ее и отобразит отдельные свойства и их значения в списке.
В приведенном ниже примере используется следующая строка подключения:
Driver=;Server=127.0.0.1;Port=5432;Database=postgres;UID=postgres;PWD=********
Ниже показан экран, который появляется после ввода строки подключения.
Другие поставщики данных и дополнительные сведения
Сведения о подключении к PostgreSQL с помощью поставщика данных, не представленного в этом списке, см. в разделе Строки подключения PostgreSQL. Этот сторонний сайт также содержит дополнительные сведения о поставщиках данных и параметрах подключения, описанных на этой странице.
Как подключить postgresql к c
Создав базу данных, вы можете обратиться к ней:
Запустив терминальную программу PostgreSQL под названием psql , в которой можно интерактивно вводить, редактировать и выполнять команды SQL .
Используя существующие графические инструменты, например, pgAdmin или офисный пакет с поддержкой ODBC или JDBC , позволяющий создавать и управлять базой данных. Эти возможности здесь не рассматриваются.
Чтобы работать с примерами этого введения, начните с psql . Подключиться с его помощью к базе данных mydb можно, введя команду:
$
psql mydb
Если имя базы данных не указать, она будет выбрана по имени пользователя. Об этом уже рассказывалось в предыдущем разделе, посвящённом команде createdb .
В psql вы увидите следующее сообщение:
psql (9.6.24) Type "help" for help. mydb=>
Последняя строка может выглядеть и так:
mydb=#
Что показывает, что вы являетесь суперпользователем, и так скорее всего будет, если вы устанавливали экземпляр PostgreSQL сами. В этом случае на вас не будут распространяться никакие ограничения доступа, но для целей данного введения это не важно.
Если вы столкнулись с проблемами при запуске psql , вернитесь к предыдущему разделу. Команды createdb и psql подключаются к серверу одинаково, так что если первая работает, должна работать и вторая.
Последняя строка в выводе psql — это приглашение, которое показывает, что psql ждёт ваших команд и вы можете вводить SQL -запросы в рабочей среде psql . Попробуйте эти команды:
mydb=>
SELECT version();
version ------------------------------------------------------------------------------------------ PostgreSQL 9.6.24 on x86_64-pc-linux-gnu, compiled by gcc (Debian 4.9.2-10) 4.9.2, 64-bit (1 row)mydb=>
SELECT current_date;
date ------------ 2016-01-07 (1 row)mydb=>
SELECT 2 + 2;
?column? ---------- 4 (1 row)
В программе psql есть множество внутренних команд, которые не являются SQL-операторами. Они начинаются с обратной косой черты, « \ » . Например, вы можете получить справку по различным SQL -командам PostgreSQL , введя:
mydb=>
\h
Чтобы выйти из psql , введите:
mydb=>
\q
и psql завершит свою работу, а вы вернётесь в командную оболочку операционной системы. (Чтобы узнать о внутренних командах, введите \? в приглашении командной строки psql .) Все возможности psql документированы в справке psql . В этом руководстве мы не будем использовать эти возможности явно, но вы можете изучить их и применять при удобном случае.
Пред. | Наверх | След. |
1.3. Создание базы данных | Начало | Глава 2. Язык SQL |
Как подключить PostgreSQL с нуля
Я знаю что PostgreSQL довольно хорошая, быстрая и надежная. Но вот как бы мне подключиться на С++ к базе данных с нуля? Что нужно устанавливать?
Как настроить?
Какая библиотека С++ для подключения? Допустим SQLite(я использовал только в python django) это просто один файл . Но я сомневаюсь, что postresql тоже просто 1 файл. Ну вообщем, как мне настроить базу данных на postgreSQL локально(можно так же сказать как это потом на просторы интернета залить, но не обязательно). И как подключится через С++ к ней. Ну и выполнять запросы.
Отслеживать
26.9k 3 3 золотых знака 27 27 серебряных знаков 40 40 бронзовых знаков
задан 3 июл 2020 в 8:55
1,128 2 2 золотых знака 7 7 серебряных знаков 31 31 бронзовый знак
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Для разработки, пожалуй, может оказаться удобным не ставить его как сервис, а просто качнуть архив с бинарниками. В архиве есть батники для запуска и остановки сервера.
Как настроить — да никак, для использования в одну каску он готов к употреблению. Кроме постгреса вам может понадобится pgadmin4 (Или любой другой его аналог). Это инструмент администрирования, он работает через веб-браузер. Настройка там тривиальна:
Хост localhost Пользователь postgres Пароль пустой База postgres
Клиентская библиотека называется libpq
* testlibpq.c * * Test the C version of libpq, the PostgreSQL frontend library. */ #include #include #include static void exit_nicely(PGconn *conn) < PQfinish(conn); exit(1); >int main(int argc, char **argv) < const char *conninfo; PGconn *conn; PGresult *res; int nFields; int i, j; /* * If the user supplies a parameter on the command line, use it as the * conninfo string; otherwise default to setting dbname=postgres and using * environment variables or defaults for all other connection parameters. */ if (argc >1) conninfo = argv[1]; else conninfo = "dbname = postgres"; /* Make a connection to the database */ conn = PQconnectdb(conninfo); /* Check to see that the backend connection was successfully made */ if (PQstatus(conn) != CONNECTION_OK) < fprintf(stderr, "Connection to database failed: %s", PQerrorMessage(conn)); exit_nicely(conn); >/* * Our test case here involves using a cursor, for which we must be inside * a transaction block. We could do the whole thing with a single * PQexec() of "select * from pg_database", but that's too trivial to make * a good example. */ /* Start a transaction block */ res = PQexec(conn, "BEGIN"); if (PQresultStatus(res) != PGRES_COMMAND_OK) < fprintf(stderr, "BEGIN command failed: %s", PQerrorMessage(conn)); PQclear(res); exit_nicely(conn); >/* * Should PQclear PGresult whenever it is no longer needed to avoid memory * leaks */ PQclear(res); /* * Fetch rows from pg_database, the system catalog of databases */ res = PQexec(conn, "DECLARE myportal CURSOR FOR select * from pg_database"); if (PQresultStatus(res) != PGRES_COMMAND_OK) < fprintf(stderr, "DECLARE CURSOR failed: %s", PQerrorMessage(conn)); PQclear(res); exit_nicely(conn); >PQclear(res); res = PQexec(conn, "FETCH ALL in myportal"); if (PQresultStatus(res) != PGRES_TUPLES_OK) < fprintf(stderr, "FETCH ALL failed: %s", PQerrorMessage(conn)); PQclear(res); exit_nicely(conn); >/* first, print out the attribute names */ nFields = PQnfields(res); for (i = 0; i < nFields; i++) printf("%-15s", PQfname(res, i)); printf("\n\n"); /* next, print out the rows */ for (i = 0; i < PQntuples(res); i++) < for (j = 0; j < nFields; j++) printf("%-15s", PQgetvalue(res, i, j)); printf("\n"); >PQclear(res); /* close the portal . we don't bother to check for errors . */ res = PQexec(conn, "CLOSE myportal"); PQclear(res); /* end the transaction */ res = PQexec(conn, "END"); PQclear(res); /* close the connection to the database and cleanup */ PQfinish(conn); return 0; >
Установка и использование PostgreSQL в Ubuntu 22.04
Инструкция о том, как развернуть PostgreSQL на виртуальной машине и научиться работать с базовыми функциями сервиса.
Эта инструкция — часть курса «PostgreSQL для новичков».
Смотреть весь курс
Введение: что такое PostgreSQL
PostgreSQL (Postgres) — одна из популярных СУБД для проектов различных уровней: от стартапа до высоконагруженной системы. Она имеет большой набор функций, помогающий разработчикам и администраторам в разработке приложений, защите целостности данных и их управлении. PostgreSQL стандартизирована, надежна и способна осуществлять параллельность операций без блокировки при чтении. Она универсальна, подходит под любую операционную систему. В числе преимуществ также можно выделить:
- расширяемость (можно определять свои типы данных, создавать пользовательские функции);
- возможность индексирования географических объектов и присутствие расширения PostGIS;
- наследование (концепция ООП, считающая, что абстрактный тип данных способен наследовать данные и набор функций уже существующего типа, способствуя переиспользованию компонентов ПО;
- масштабируемая система встроенных языков программирования;
- устойчивые и надежные функции репликаций и транзакций.
Поскольку PostgreSQL продукт open-source, ее функции можно расширять и дополнять. Для дополнения функций можно воспользоваться одним из следующих языков:
- процедурный язык PL/pgSQL, встроенный язык, аналогичный PL/SQL, который используется в СУБД Oracle;
- классические языки C, C++, Java (с модулем PL/Java);
- скриптовые языки PL/v8 (JS), PL/Scheme, PL/Tcl, PL/sh, PL/Ruby, PL/Python, PL/PHP, PL/Perl, PL/LOLCODE, PL/Lua;
- Статистический язык R (используя модуль PL/R).
PostgreSQL поддерживает следующие объекты БД: B-дерево, хеш, GiST, BRIN, Bloom.
У PostgreSQL большой список поддерживаемых данных: численные типы, символьные типы, двоичные типы, «дата/время», булев тип, геометрические примитивы и т.д.
PostgreSQL позволяет нескольким пользователям работать одновременно с БД благодаря механизму MVCC (Multiversion Concurrency Control). За счет этого исключается необходимость блокировок чтения.
В этой инструкции мы развернем PostgreSQL на виртуальной машине. Рассмотрим базовые функции сервиса: генерацию роли, базы данных и таблицы, работу с консолью с добавленной ролью и удаление СУБД на виртуальной машине
Требования к серверу
СУБД развернем на виртуальной машине Ubuntu 22.04, аккаунтом без root прав с sudo и брандмауэром.
Создание виртуальной машины (сервера)
При написании этой инструкции мы воспользуемся Облачной платформой Selectel, на которой сконфигурируем сервер с нужной нам операционной системой.
На странице Облачная платформа перейдем в раздел Серверы и нажмем Создать сервер.
В поле Источник из выпадающего списка выберем Ubuntu 22.04.
В качестве ОС выберем образ Ubuntu 22.04. Для небольшого сервера PostgreSQL будет достаточно конфигурации с 1 CPU, 2 ГБ оперативной памяти и 5 ГБ диска. В настройках сети не забудьте выделить машине внешний IP-адрес, если планируете подключаться к ней из интернета. Также сохраните пароль от root-пользователя и проверьте, что выбран правильный SSH-ключ.
Минимальные настройки готовы, нажмем кнопку Создать — наша виртуальная машина готова и отображается в списке на вкладке Серверы. Как самостоятельно сконфигурировать сервер, развернуто написано в базе знаний.
Первичная настройка
До развертывания PostgreSQL настроим сервер: перейдем к нему по SSH и настроим брандмауэр с утилитой UFW.
Подключение по SSH
В терминале локальной машины введем:
$ ssh root@server_ip
server_ip — значение IP-адреса сервера, находится в разделе «Порты».
Для аутентификации потребуется пароль root-пользователя, его можно увидеть в разделе «Консоль».
Настройка брандмауэра
Чтобы сервер позволял подключаться пользователям по SSH, разберемся с брандмауэром.
На сервер мы подключились под root-пользователем и прежде чем настраивать, переключимся на аккаунт без root-прав с sudo.
$ sudo apt update
Для брандмауэра скачиваем утилиту UFW:
$ sudo apt install ufw
Список профилей UFW можно вывести, написав:
$ sudo ufw app list
OpenSSH будет отображаться в списке:
Available applications: OpenSSH
Разрешаем воспользоваться подключением по SSH:
$ sudo ufw allow OpenSSH
И стартуем брандмауэр:
$ sudo ufw enable
Проверим статус брандмауэра и список подключений OpenSSH:
$ sudo ufw status
Система даст ответ:
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6)
Займемся непосредственно развертыванием PostgreSQL.
Установка PostgreSQL на Ubuntu
В репозиториях Ubuntu уже включена PostgreSQL. Развертывание выполняется командой apt.
До загрузки PostgreSQL обновляем списки пакетов:
$ sudo apt update
Загрузим PostgreSQL с утилитой -contrib:
$ sudo apt install postgresql postgresql-contrib
Загрузятся драйверы PostgreSQL последней версии и развернутся необходимые компоненты на виртуальной машине с Ubuntu.
$ sudo systemctl start postgresql.service
Проверка статуса сервиса:
$ sudo systemctl status postgresql.service
Сервис развернули, разберемся в работе аккаунта postgres.
Работа с аккаунтом PostgreSQL
PostgreSQL применяет термин «Роль». Практически это тот же аккаунт в Ubuntu. При запуске СУБД роли сервиса привязываются к одноименным аккаунтам в Unix-системах. Другими словами, при наличии роли в PostgreSQL, войти в СУБД можно с аккаунтом Ubuntu. При запуске СУБД генерируется аккаунт postgres, привязываемый к роли PostgreSQL.
Вариант 1
Войдем в аккаунт:
$ sudo -i -u postgres
После ввода команды видим подтверждение о переходе в аккаунт:
postgres@postgresdoc:~$
Откроем консоль Postgres:
$ psql
Консоль открыта, что подтверждается записью в начале строки:
postgres=#
Работа в СУБД ведется из консоли.
Узнать статус подключения:
postgres=# \conninfo
Возврат в аккаунт:
postgres=# \q
Вариант 2
Войдем в аккаунт postgres с sudo. Если сейчас находимся в аккаунте postgres, нужно выйти, набрав exit. В этом варианте перейдем в аккаунт postgres с sudo:
$ sudo -u postgres psql
Возврат в аккаунт:
postgres=# \q
Создание роли
Аккаунт postgres обладает правами администратора. Напишем createuser, эта команда сообщает, что мы добавляем новую роль. Чтобы указать имя роли и выдать суперюзера, применим флаг —interactive.
Запись будет такой:
postgres@postgresdoc:~$ createuser --interactive
Вариант работы без переходов между аккаунтами:
$ sudo -u postgres createuser --interactive
Вводим имя, выдаем суперюзера:
Enter name of role to add: tester Shall the new role be a superuser? (y/n) y
Посмотреть другие ключи настроек:
postgres@postgresdoc:~$ man createuser
Роль создана, поднимаем БД.
Создание базы данных
Любому созданному аккаунту привязывается база данных с идентичным именем, то есть наш созданный tester начнет подключаться к базе данных tester.
Командой createdb добавим БД (поднимем новую базу PostgreSQL на Ubuntu), назвав ее tester:
postgres@postgresdoc:~$ createdb tester
Вариант работы без переходов между аккаунтами:
$ sudo -u postgres createdb tester
Переход в командную строку PostgreSQL с новой ролью
Работа в консоли PostgreSQL подразумевает наличие аккаунта Ubuntu с именем БД в Postgres.
Добавим аккаунт Ubuntu, используя adduser (предварительно выйдя из аккаунта postgres), назвав аналогично новой роли:
$ sudo adduser tester
Добавив аккаунт tester, переключаемся на него и подключаемся к консоли:
$ sudo -i -u tester $ psql
$ sudo -u tester psql
Переключиться на другую БД:
$ psql -d postgres
tester=# \conninfo
You are connected to database " tester " as user " tester " via socket in "/var/run/postgresql" at port "5432".
Проверку желательно выполнять для разных пользователей с разными БД.
Создание таблицы с данными
Команда создания имеет вид:
CREATE TABLE table_name ( column_name1 col_type (field_length) column_constraints, column_name2 col_type (field_length), column_name3 col_type (field_length) );
Создавая таблицу, указываем ее имя, столбцы, их типы, ограничения размеров полей. В качестве непосредственного примера добавим таблицу комплекта сноубордиста:
tester=# CREATE TABLE snowboarder ( equip_id serial PRIMARY KEY, title varchar (50) NOT NULL, company varchar (25) NOT NULL, size varchar (25) check (size in ('XS', 'S', 'M', 'L', 'XL', 'XXL')) );
СУБД выводит информацию:
CREATE TABLE
- Equip_id — столбец с идентификатором типа serial и автоинкрементом. Ему присвоили свойство primary key, указывающее на использование не нулевых показателей.
- Title и company указывают наименование и фирму-производителя единицы комплекта.
- Size хранит размеры наименований комплекта, предлагая выбор одного из предложенных размеров.
tester=# \d
List of relations Schema | Name | Type | Owner -----------+-------------------------------------+--------------+-------- public | snowboarder | table | tester public | snowboarder_equip_id_seq | sequence | tester (2 rows)
Создана таблица с переменной snowboarder_equip_id_seq, тип данных sequence. Переменная указывает на номера последовательности и генерируется автоматически.
Вывести таблицу без переменной:
tester=# \dt
List of relations Schema | Name | Type | Owner -----------+-------------------------------------+-------------+--------- public | snowboarder | table | tester (1 rows)
Работа с данными таблицы
Таблица есть, остается ее наполнить.
Добавление данных в таблицу
Состав комплекта нашего сноубордиста: snowboard (сноуборд), binding (крепления), boots (ботинки). Вызовем таблицу, где укажем столбцы и их значения. Добавим 3 строки:
tester=# INSERT INTO snowboarder (title, company, size) VALUES ('snowboard', 'burton', 'XL'); tester=# INSERT INTO snowboarder (title, company, size) VALUES ('binding', 'burton', 'XL'); tester=# INSERT INTO snowboarder (title, company, size) VALUES ('boots', 'burton', 'XL');
Пишем внимательно, избегая ошибок. Неверно использовать кавычки в названиях столбцов. Кавычки указываются в значениях столбцов. Значение столбца equip_id генерируется самостоятельно во время создания строки.
После добавления каждой строки СУБД подтверждает операцию:
INSERT 0 1
Вывод данных
Выведем таблицу с новыми данными:
tester=# SELECT * FROM snowboarder;
equip_id | title | company | size --------------+----------------+-------------+------ 1 | snowboard | burton | XL 2 | binding | burton | XL 3 | boots | burton | XL (3 rows)
Видим, что все поля заполнены значениями, прописанными нами, и в equip_id отображается нумерация строк.
Удаление данных
tester=# DELETE FROM snowboarder WHERE title = 'binding';
СУБД подтвердит удаление строки:
DELETE 1
tester=# SELECT * FROM snowboarder;
equip_id | title | company | size --------------+----------------+-------------+------ 1 | snowboard | burton | XL 3 | boots | burton | XL (2 rows)
Строка binding удалена.
Изменение данных
Иногда записи таблицы приходится менять. Для изменения записи указывают тип и устанавливают новое значение. Выберем boots и изменим компанию на blackfire:
tester=# UPDATE snowboarder SET company = 'blackfire' WHERE title = 'boots';
СУБД подтвердит обновление строки:
UPDATE 1
tester=# SELECT * FROM snowboarder;
СУБД даст ответ:
equip_id | title | company | size --------------+----------------+----------------+------ 1 | snowboard | burton | XL 3 | boots | blackfire | XL (2 rows)
Фирма-производитель ботинок изменилась на blackfire.
Работа со столбцами
Таблицы можно редактировать, меняя состав столбцов.
Добавление столбца
Введем столбец с отображением стоимости:
tester=# ALTER TABLE snowboarder ADD price varchar (25);
СУБД подтвердит добавление:
ALTER TABLE
Выведя таблицу, увидим пустой добавленный столбец, так как добавили его без указания данных. Как его заполнить данными, описано выше.
tester=# SELECT * FROM snowboarder;
СУБД даст ответ:
equip_id | title | company | size | price --------------+----------------+----------------+------+------- 1 | snowboard | burton | XL | 3 | boots | blackfire | XL | (2 rows)
Удаление столбца
Удалить столбец из таблицы:
tester=# ALTER TABLE snowboarder DROP price;
Команда удалит столбец price и значения внутри него.
СУБД подтвердит удаление столбца:
ALTER TABLE
Удаление таблицы
Удаляется таблица командой:
tester=# DROP TABLE snowboarder;
СУБД подтвердит операцию:
DROP TABLE
Введя команду \dt, увидим сообщение от СУБД:
Did not find any relations.
Установка phppgadmin
Утилита PhpPgAdmin доступна в репозитории по дефолту в Ubuntu 22.04. Устанавливаем утилиту PhpPgAdmin под пользователем Ubuntu:
$ sudo apt-get install phppgadmin
Когда утилита установится, переходим в файл конфигурации phppgadmin.conf в директории /etc/apache2/conf-available и закомментируем строку Require local. Пропишем строку Allow From all. Такие изменения в файле конфигурации позволят подключаться к серверу как с локальной машины, так и с других устройств.
$ sudo systemctl restart apache2
Удаление PostgreSQL
Перед удалением PostgreSQL и очисткой сервера от следов сервиса удостоверимся, что СУБД остановлена.
В аккаунте Ubuntu напишем, что хотим узнать:
$ ps -Cpostgres
Если СУБД остановлена, ответ на команду не должен показать никаких результатов. В ином случае, обслуживание нужно остановить. Остановить PostgreSQL:
$ sudo systemctl stop postgresql
$ sudo apt-get --purge remove postgresql\*
PostgreSQL удалена на нашей виртуальной машине.
После удаления пропишем команды:
$ sudo rm -r /etc/postgresql/ $ sudo rm -r /var/lib/postgresql/ $ sudo userdel -r postgres $ sudo groupdel postgres
Заключение
В этой инструкции мы развернули PostgreSQL на сервере Ubuntu 22.04.
Рассмотрели базовые функции по работе в СУБД:
- добавили роль, БД, таблицу;
- внесли в нее нужные нам значения;
- удалили таблицу и саму PostgreSQL.
Поскольку СУБД обладает множеством возможностей, рассчитанных на новых пользователей, со временем понадобятся и более продвинутые функции хранения и обработки данных. Все функции PostgreSQL можно изучить на странице официальной англоязычной версии документации.
Стоит отметить, что у PostgreSQL большое сообщество пользователей, а открытый исходный код СУБД способствует тому, что при новых релизах новые ошибки выявляются, быстро исправляются, и успешно осуществляется тестирование.
Подойдет ли PostgreSQL вообще всем проектам или нужны альтернативы
Как настроить репликацию в PostgreSQL
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Читайте также:
Инструкция
Как создать веб-приложение на базе Telegram Mini Apps
Инструкция
Что делает команда chmod и как ее использовать в Linux
Инструкция
Как разработать gRCP-сервис на Go