Как работать с postgresql в windows

Можем ли мы использовать нотацию «Создать базу данных, если не существует» в PostgreSQL в Windows 10?

Обозначение «Создать базу данных, если не существует» поддерживается некоторыми языками программирования. С помощью этой нотации вы можете проверить, существует ли указанная база данных на вашем сервере баз данных или нет, и если она не существует, то эта нотация просто создаст эту базу данных на вашем сервере. Однако поговорим конкретно о PostgreSQL. PostgreSQL не поддерживает эту нотацию, или, другими словами, вы можете сказать, что мы не можем использовать эту нотацию непосредственно в PostgreSQL в Windows 10.

Тем не менее, есть еще несколько способов, которые позволят вам достичь той же функциональности, которую вы можете достичь с помощью этой конкретной нотации. Чтобы узнать больше об этих обходных путях, вам придется продолжить чтение этой статьи.

Часто встречающиеся ошибки 1С и общие способы их решения Промо

Статья рассчитана в первую очередь на тех, кто недостаточно много работал с 1С и не успел набить шишек при встрече с часто встречающимися ошибками. Обычно можно определить для себя несколько действий благодаря которым можно определить решится ли проблема за несколько минут или же потребует дополнительного анализа. В первое время сталкиваясь с простыми ошибками тратил уйму времени на то, чтобы с ними разобраться. Конечно, интернет сильно помогает в таких вопросах, но не всегда есть возможность им воспользоваться. Поэтому надеюсь, что эта статья поможет кому-нибудь сэкономить время.

254

psql command not found

Вы хотите запустить Postgres скрипт из bash

но получаете эту ошибку

-bash: psql: command not found

Это значит, что путь до Postgres не прописан в $PATH

Чтобы узнать, что прописано в $PATH достаточно сделать

echo $PATH

/home/andrei/bin:/home/andrei/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath_target_1128437:/mnt/c/ProgramData/Oracle/Java/javapath_target_5252250:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0:/mnt/c/Program Files/OpenVPN/bin:/mnt/c/Program Files (x86)/Microsoft SQL Server/Client SDK/ODBC/130/Tools/Binn:/mnt/c/Program Files (x86)/Microsoft SQL Server/140/Tools/Binn:/mnt/c/Program Files (x86)/Microsoft SQL Server/140/DTS/Binn:/mnt/c/Program Files (x86)/Microsoft SQL Server/140/Tools/Binn/ManagementStudio:/mnt/c/Program Files/MiKTeX 2.9/miktex/bin/x64:/mnt/c/Users/andreyolegovich_ru/Documents/Software/axis2-1.6.2:/mnt/c/Users/andreyolegovich_ru/Documents/Software/axis2-1.6.2/bin:/mnt/c/Windows/System32/OpenSSH:/mnt/c/Program Files/TortoiseSVN/bin:/mnt/c/Program Files/Microsoft SQL Server/Client SDK/ODBC/130/Tools/Binn:/mnt/c/Program Files/Microsoft SQL Server/140/Tools/Binn:/mnt/c/Program Files/Microsoft SQL Server/140/DTS/Binn:/mnt/c/Program Files (x86)/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/Intel/Intel(R) Management Engine Components/DAL:/mnt/c/Program Files/TortoiseGit/bin:/mnt/c/Program Files/Git/cmd:/mnt/c/Program Files/nodejs:/mnt/c/Program Files/Intel/WiFi/bin:/mnt/c/Program Files/Common Files/Intel/WirelessCommon:/mnt/c/Program Files/PuTTY:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Continuum/anaconda3:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Continuum/anaconda3/Library/mingw-w64/bin:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Continuum/anaconda3/Library/bin:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Continuum/anaconda3/Scripts:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Programs/Python/Python36/Scripts:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Programs/Python/Python36:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/andreyolegovich_ru/AppData/Local/atom/bin:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Programs/Python/Python36-32:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Programs/Python/Python36-32/Scripts:/mnt/c/Program Files (x86)/Nmap:/mnt/c/Program Files (x86)/Mozilla Firefox:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Programs/Fiddler:/mnt/c/Program Files/JetBrains/PyCharm Community Edition 2018.3.2/bin:/mnt/c/Users/andreyolegovich_ru/AppData/Roaming/npm:/mnt/c/Program Files/Intel/WiFi/bin:/mnt/c/Program Files/Common Files/Intel/WirelessCommon:/mnt/c/Users/andreyolegovich_ru/AppData/Local/Programs/Microsoft VS Code/bin:/snap/bin

Установка PostgreSQL для 1С

Для работы с 1С лучше всего себя зарекомендовала сборка от компании PostgreSQL Pro, поэтому будем ставить именно её. На момент написания статьи, актуальной была версия PostgreSQL 13. Версия БД для 1С отличается от дефолтного дистрибутива наличием некоторых патчей, специфичных именно для приложения 1С.

Начинаем установку postgresql в ubuntu server. Первым делом подключим репозиторий.

curl -o apt-repo-add.sh https://repo.postgrespro.ru/pg1c-13/keys/apt-repo-add.sh
sudo sh apt-repo-add.sh

Устанавливаем PostgreSQL для 1С сервера:

sudo apt-get install postgrespro-1c-13

Запускаем службу БД и убеждаемся, что всё в порядке.

sudo systemctl start postgrespro-1c-13
sudo systemctl enable postgrespro-1c-13
sudo systemctl status postgrespro-1c-13

Базовая установка сервера баз данных для 1С завершена. Переходим к небольшой настройке PostgreSQL. Нам необходимо задать пароль пользователя, под которым будет подключаться сервер 1С к БД.

sudo -u postgres /usr/bin/psql -U postgres -c "alter user postgres with password 'parol';"
postgres пользователь БД, которого будем использовать в консоли 1С
parol пароль пользователя postgres

Имеет смысл перенести хранение временной статистики базы данных с жесткого диска в оперативную память (tmpfs ). Это снизит расход ресурса ssd и немного увеличит производительность. Данное действие не костыль и не грязный хак. Подобную рекомендацию можно увидеть в документации для postgres от команды postgresql pro.

sudo mkdir /var/lib/pgpro/stats_temp
sudo chown postgres:postgres /var/lib/pgpro/stats_temp

Добавляем tmpfs  диск в /etc/fstab.

tmpfs /var/lib/pgpro/stats_temp tmpfs size=256M,uid=postgres,gid=postgres 0 0

Пробуем подмонтировать этот диск.

sudo mount /var/lib/pgpro/stats_temp

Проверяем, что получилось:

sudo df -h | grep stats_temp
tmpfs           256M     0  256M   0% /var/lib/pgpro/stats_temp

Всё в порядке, tmpfs диск подключен. Теперь надо изменить параметр в конфигурационном файле postgresql, который отвечает за настройку каталога для хранения временной статистики. Открываем файл /var/lib/pgpro/1c-13/data/postgresql.conf и вносим изменение:

stats_temp_directory = '/var/lib/pgpro/stats_temp'

Перезапускаем службу postgrespro-1c-13 для того, чтобы применить изменение.

sudo systemctl restart postgrespro-1c-13

Можно проверить директорию stats_temp, чтобы убедиться в том, что статистика теперь хранится там:

sudo ls -l /var/lib/pgpro/stats_temp
total 12
-rw------- 1 postgres postgres 1244 сен  8 12:24 db_0.stat
-rw------- 1 postgres postgres 2129 сен  8 12:24 db_13416.stat
-rw------- 1 postgres postgres 1151 сен  8 12:24 global.stat

На этом настройка PostgreSQL для работы с 1С завершена. Можно переходить к созданию баз и тестирования всей связки.

Установка дистрибутивов PostgreSQL-Pro

Чтобы установить сервер, выполняем команды в последовательности:
sudo sh -c ‘echo «deb http:// 1c.postgrespro.ru/deb/ $(lsb_release -cs) main» > /etc/apt/sources.list.d/postgrespro-1c.list’
wget —quiet -O — http:// 1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C-92 | sudo apt-key add — && sudo apt-get update
sudo apt-get install postgresql-pro-1c-9.
Чтобы получить доступ к серверу, в файле pg_hba.conf редактируем параметры:
сd <Путь до каталога pg_hba.conf>
cp pg_hba.conf pg_hba.conf.old
bash -c «echo ‘local all postgres trust’ > pg_hba.conf»
bash -c «echo ‘host all all all md5’ >> pg_hba.conf»
Файл будет иметь следующую структуру.
Файл документирован достаточно подробно, но на английском языке. Давайте ознакомимся вкратце с наиболее важными параметрами:
TYPE

  • Local — подключение локальное через unix;
  • Host — по TCP/IP;
  • Hostssl — SSL-подключение (шифрованное) по TCP/IP;
  • Hostnossl подключение по TCP/IP нешифрованное.

METHOD

  • trust — допуск без аутентификации;
  • reject — отказ без аутентификации;
  • password запрос открытым текстом пароля;
  • md5 запрос пароля MD5;
  • ldap имя и пароль проверяются через сервер LDAP;
  • radius имя и пароль проверяются через сервер RADIUS;
  • pam имя и пароль проверяются через службу подключаемых модулей.

Если нужна более подробная, детализированная информация, посмотреть ее можно в документации к PostgreSQL.

Следующий и последний шаг — запуск сервера:
 root@NODE2:/home/asd# service —status-all |grep postgres
postgresql
root@NODE2:/home/asd# service postgresql start
root@NODE2:/home/asd# service —status-all |grep postgres
postgresql

После окончания установки настройте конфигурационный файл сервера postgresql.conf, в соответствии со спецификой работы PostgreSQL, конфигурации сервера 1С и сервера Ubuntu.

Звоните нашим специалистам, если вам нужна помощь и поддержка при переходе на PostgreSQL или оставьте заявку в форме ниже.

Конвертация данных в 1С
Отключение обновлений в Windows 10


Заказать помощь специалиста 1С

Другие коды ошибок

Коды ошибок Причина Решение
0x80070003— 0x20007 Возник сбой во время установки драйверов на этапе SafeOS. Проверьте драйверы устройств на компьютере и , чтобы определить проблемный драйвер.
0x8007025D — 0x2000C Эта ошибка возникает, если метаданные ISO-файла повреждены. Повторно скачайте ISO-образ или носитель и повторите попытку обновления.

Или же повторно создайте установочный носитель в средстве создания носителя.

0x80070490 — 0x20007 Существует несовместимый драйвер устройства. Проверьте драйверы устройств на компьютере и , чтобы определить проблемный драйвер.
0xC1900101 — 0x2000c Возникла неизвестная ошибка на этапе SafeOS во время применения WIM. Это может быть вызвано устаревшим драйвером или повреждением диска. Запустите программу checkdisk для восстановления файловой системы. Дополнительные сведения см. в разделе Быстрые исправления данного руководства.Обновите драйверы на компьютере и выберите параметр «Загрузить и установить обновления (рекомендуется)» в процессе обновления. Отключите все устройства, кроме мыши, клавиатуры и дисплея.
0xC1900200 — 0x20008 Компьютер не соответствует минимальным требованиям для скачивания или обновления до Windows 10. Изучите раздел Технические характеристики Windows 10 и проверьте, соответствует ли компьютер минимальным требованиям.

Изучите журналы на наличие сведений о совместимости.

0xC1900200 — 0x20008 Компьютер не соответствует минимальным требованиям для скачивания или обновления до Windows 10.

Изучите раздел Технические характеристики Windows 10 и проверьте, соответствует ли компьютер минимальным требованиям.

Просмотрите журналы для поиска технических характеристик Windows 10.

0x80070004 — 0x3000D Это проблема с переносом данных на первом этапе загрузки. Существует несколько возможных причин. , чтобы определить проблему.
0xC1900101 — 0x4001E Возникла ошибка установка на этапе SECOND_BOOT во время операции PRE_OOBE. Это общая ошибка, которая происходит на этапе первого включения компьютера. Изучите общие процедуры устранения неполадок, описанные в разделе данного руководства.
0x80070005 — 0x4000D Возникла ошибка установки на этапе SECOND_BOOT во время операции MIGRATE_DATA. Эта ошибка означает, что при попытке переноса данных было отказано в доступе. , чтобы определить точку данных, для которой было отказано в доступе.
0x80070004 — 0x50012 Программе установки Windows не удалось открыть файл. , чтобы определить точку данных, которая сообщает о проблемах с доступом.
0xC190020e0x80070070 — 0x500110x80070070 — 0x500120x80070070 — 0x60000 Эти ошибки указывают, что на компьютере недостаточно свободного места для установки обновления.

Для обновления компьютера до Windows 10 требуется 16 ГБ свободного места на диске для 32-разрядной операционной системы и 20 ГБ — для 64-разрядной операционной системы. Если не хватает места на диске, попробуйте освободить его перед продолжением обновления.

Примечание. Если устройство позволяет это, вы можете использовать внешний USB-накопитель для обновления. Программа установки Windows создаст резервную копию предыдущей версии Windows на внешнем USB-накопителе. Емкость внешнего диска должна быть не менее 8 ГБ (рекомендуется 16 ГБ). Внешний диск должен быть отформатированном с файловой системой NTFS. Диски, отформатированный с файловой системой FAT32, могут вызывать ошибки из-за ограничений размера файла для FAT32. USB-накопители предпочтительнее SD-карт, потому что драйверы для SD-карт не переносятся, если устройство не поддерживает режим ожидания с подключением.

Проверка репликации

Посмотреть статус

Статус работы репликации можно посмотреть следующими командами.

На мастере:

=# select * from pg_stat_replication;

На слейве:

=# select * from pg_stat_wal_receiver;

Создать тестовую базу

На мастере заходим в командную оболочку Postgre:

su — postgres -c «psql»

Создаем новую базу данных:

=# CREATE DATABASE repltest ENCODING=’UTF8′;

Теперь на вторичном сервере смотрим список баз:

su — postgres -c «psql»

=# \l

Мы должны увидеть среди баз ту, которую создали на первичном сервере:

   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access
————+———-+———-+————-+————-+——————
 …
 repltest  | postgres | UTF8     | ru_RU.UTF-8 | ru_RU.UTF-8 | 
 …

Что такое PostgreSQL и зачем она нужна

PostgreSQL – система управления базами данных, после появления которой стал постепенно вытесняться более привычный MySQL. Дело в том, что в отличие от него PostgreSQL имеет ряд непоколебимых преимуществ, среди которых:

  1. Доступные улучшенные или отсутствующие в MySQL функции.
  2. Поддержка расширения возможностей.
  3. Надежная передача данных.
  4. Отсутствие блокировок чтения при параллелизации.

Стоит отметить также то, что привыкать к новому синтаксису почти не придется, ведь используемый в данной СУБД PL/pgSQL является практически братом близнецом Oracle MySQL.

Встроенная библиотека SQLite идеально подходит для построения базы данных, используемой в локальном приложении с постоянным, прямым доступом к жесткому диску. Ведь все данные будут находиться в одном единственном файле, что очень положительно сказывается на скорости чтения находящихся в нем данных.

В завершении, важно упомянуть что данный продукт, в отличие от многих конкурентов, не требует денежных взносов или оформления подписки. PostgreSQL создавался исключительно как объектно-реляционное СУБД с открытым исходным кодом, при этом на голову обгоняющее некоторых титанов рынка

Использование оболочки SQL

Другой способ определить версию сервера PostgreSQL – войти в SQL-запрос сервера и использовать инструкцию SQL для распечатки версии.

Вы можете получить доступ к оболочке PostgreSQL с помощью GUI-клиента, такого как pgAdmin или с помощью psql:

sudo -u postgres psql

Следующий оператор отображает версию сервера PostgreSQL вместе с информацией о сборке:

SELECT version();
                                                  version                                                   
------------------------------------------------------------------------------------------------------------
 PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit
(1 row)

Если вы хотите получить только номер версии сервера PostgreSQL, используйте следующий запрос:

SHOW server_version;
 server_version 
----------------
 10.6
(1 row)

Как установить pgAdmin 4 в режиме рабочего стола в Ubuntu

Как установить pgAdmin 4 в режиме рабочего стола? В документации подробно описан только режим сервера.

В Ubuntu 16.04 вы можете установить с помощью

Я тестировал это 16.04.

источник для вышеуказанного подхода

165

Для pgAdmin 4 v4.21 в Ubuntu , согласно странице загрузки:

Настроить

Переопределите пути по умолчанию и установите для него однопользовательский режим в локальном файле конфигурации:

Запись:

Напишите:

Теперь вы можете просто запустить это с простым Команда r:

Конфликт с конфигурацией pgAdmin 3

не запустится в среде, где был ранее установлен и использовался из-за несовместимой конфигурации в каталоге . Самое простое решение – очистить этот каталог или настроить так, чтобы он указывал на новый чистый каталог .

Улучшить этот ответ

отредактировано 25 мая ’20 в 9:05

ответил 29 сен 2016 в 16:54

  • 404 на этом wget. – Черепахи милые, 14 апр. ’17 в 18:52

  • 7

    Я хотел бы добавить это, чтобы я мог быстро запустить его, я добавил это в свой ~/.bashrc: alias pgadmin = “source ~/pgadmin4/bin/activate && python ~/pgadmin4/ lib/python2.7/site-packages/pgadmin4/pgAdmin4.py “Таким образом, я могу просто набрать pgadmin, и он запустится, как будто он ДОЛЖЕН из коробки. Вы слушаете pgadmin? – light24bulbs 13 июня ’17 в 21:32

  • 1

    Вот правильная ссылка для FTP v2.1: ftp.postgresql.org/pub/pgadmin/pgadmin4/v2.1/pip/… – Aïssa Ghouti, 22 января. ’18 в 12:42

  • 1

    Может ли жесткая ссылка на зависимость python3.6 в удалить/заменить? Таким образом, ответ будет более надежным в будущем. – paul23 04 сен ’18 в 18:22

  • 1

    В Ubuntu 19.04, который поставляется с Python 3.7, заменяйте каждый случай 3.6 на 3.7 в инструкциях Python 3.x. – Карл Рихтер 19 мая ’19 в 9:15

| показать 8 дополнительных комментариев

Для pgAdmin 4 v4.21 на Ubuntu , согласно странице загрузки:

NAVICAT


Navicat — это, наверное, самая богатая фичами программа. Она умеет всё, что умеют другие GUI для БД: дизайнер объектов, просмотрщик таблиц, автокомплит, инструменты проектирования базы, отладка pl/pgsql, импорт/экспорт и так далее.

Поистине всеобъемлющий софт, который работает практически на любой ОС. Навскидку, намного удобнее EMS Studio.

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

Ценник, правда, что называется, «конский» — в два раза дороже, чем EMS. Но тут, похоже, это полностью оправдано.

Использование командной строки

Чтобы узнать, какая версия PostgreSQL работает в вашей системе, вызовите команду postgres с параметром –version или  -V:

postgres --version

Команда выведет версию PostgreSQL:

postgres (PostgreSQL) 10.6

В этом примере используется версия сервера PostgreSQL 10.6.

Если  двоичный файл postgres отсутствует в системном PATH, вы получите сообщение об ошибке «postgres: command not found». Обычно это происходит, когда пакет PostgreSQL не установлен из стандартных репозиториев дистрибутива.

Вы можете найти путь к двоичному файлу с помощью команды locate или find:

sudo find /usr -wholename '*/bin/postgres'
sudo updatedb
locate bin/postgres

Вывод должен выглядеть примерно так:

/usr/lib/postgresql/9.6/bin/postgres

Как только вы найдете путь к двоичному файлу, вы можете использовать его для получения версии сервера PostgreSQL:

/usr/lib/postgresql/9.6/bin/postgres -V

Версию клиентской утилиты psql в PostgreSQL  можно найти с помощью следующей команды:

psql --version

Вывод будет выглядеть примерно так:

postgres (PostgreSQL) 10.6

psql  – интерактивная утилита командной строки, которая позволяет вам взаимодействовать с сервером PostgreSQL.

Ректальное администрирование: Основы для практикующих системных АДминистраторов

Одной из самых популярных и зарекомендовавших себя методологий системного администрирования является так называемое ректальное. Редкий случай сопровождения и обслуживания информационных систем, инфраструктуры организации обходится без его использования. Зачастую без знания данной методологии сисадминам даже бывает сложно найти работу в сфере ИТ, потому что работодатели, особенно всякие аутсорсинговые ИТ фирмы, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям: практикам ITIL, нормальным ITSM и прочей ерунде.

Установка 1С:Предприятие на Ubuntu

Свою настройку сервера 1С на Linux начнём с установки 1С:Предприятие. Установочные пакеты можно загрузить с сайта https://releases.1c.ru. Для этого у вас должна быть активна учётная запись. В принципе, файлы можно скачать где-то в интернете и без неё, но так как сервер 1С нужно регулярно обновлять, без своей учётной записи будет неудобно. Загрузить нужно файл Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем.

Скопируйте файл на Ubuntu Server. Но перед тем, как начать установку 1С, выполним некоторые подготовительные действия в системе. Нам нужно установить шрифты mscorefonts.

sudo apt install ttf-mscorefonts-installer fontconfig

Во время установки шрифтов, идёт обращение к различным внешним серверам для загрузки файлов. Бывает так, что какое-то соединение отваливается по таймауту и не понятно, выполнилась ли установка шрифтов корректно. В этом случае установку mscorefonts можно перезапустить, чтобы получить гарантированно положительный результат:

sudo apt reinstall ttf-mscorefonts-installer

Проверить, всё ли прошло удачно, можно следующей командой:

sudo fc-cache -f -v

Установим еще несколько пакетов, которые нам пригодятся в дальнейшем:

# sudo apt install imagemagick curl

Для корректной работы сервера 1С на Ubuntu необходимо настроить кодировку локали на ru_RU.UTF-8 UTF-8. Делается это с помощью утилиты dpkg-reconfigure.

# sudo dpkg-reconfigure locales

Её же указываем в качестве Default. Перезайдите в систему, чтобы применилась новая локаль. Проверить, применилась ли русская локаль, можно просто запустив Midnight Commander. Всё управление будет на русском языке.

Дальше будем устанавливать сам сервер 1С. Для этого распакуйте загруженный ранее пакет.

mkdir 1csrv && mv deb64_8_3_19_1264.tar.gz 1csrv && cd 1csrv
tar -xzvf deb64_8_3_19_1264.tar.gz

У вас должен быть стандартный набор пакетов:

Устанавливаем необходимые нам пакеты 1С сервера:

sudo dpkg -i 1c-enterprise-8.3.19.1264-common_8.3.19-1264_amd64.deb 1c-enterprise-8.3.19.1264-server_8.3.19-1264_amd64.deb 1c-enterprise-8.3.19.1264-ws_8.3.19-1264_amd64.deb

На момент моей установки, актуальная версия 1с была 8.3.19.1264. Не забудьте заменить её на свою. Копируем вручную конфиг для управления службой srv1cv83. Почему-то никто не удосужился написать юнит для systemd, что выглядит странно.

sudo ln -s /opt/1cv8/x86_64/8.3.19.1264/srv1cv83 /etc/init.d/srv1cv83
sudo systemctl daemon-reload

Запускаем сервер 1С и добавляем его в автозагрузку.

sudo systemctl start srv1cv83
sudo systemctl enable srv1cv83

Убедимся, что сервис успешно запущен:

sudo systemctl status srv1cv83

На всякий случай можно проверить, слушает ли служба tcp порты.

sudo apt install net-tools
sudo netstat -tulnp

На вид всё в порядке. Сервер 1С успешно установлен на Ubuntu, сконфигурирован и запущен. Готов принимать подключения от клиентов. Далее необходимо заняться настройкой firewall. Так как я не знаю, используете ли вы его и какой конкретно, то не буду давать команд на управление правилами или отключение. Эта тема выходит за рамки данной статьи. Если делаете тестовую установку, то firewall можно просто отключить.

Копирование числовых ячеек из 1С в Excel Промо

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

33

Выводы

1.

Я никогда не видел OID чисел в этом диапазоне в системных каталогах ранее, и я работал со всеми видами больших баз данных. У вас есть проблема в вашем БД (кластер).

Улучшено с комментариями от Даниэля Верите:

Либо вы горите OID числа с безумной скоростью — уже 2,8 миллиарда чисел. ~ 1,5 миллиарда осталось до OID оборачивание) У вас есть какие-либо таблицы, созданные с помощью ? (Больше никто не должен. Эта функция устарела и удалена в Postgres 12 .) Или какой-то код чрезмерно создает/удаляет новые объекты? Счетчик OID для каждого экземпляра, а не для базы данных, поэтому все базы данных вносят вклад в потребление OID). Существует о том, как OID коллизии обрабатываются после обхода. Коллизии подвергаются незначительным снижение производительности.

Или кто-то/что-то напутал в ваших системных каталогах.

2.

Если приведенный выше запрос был сгенерирован pgAdmin4, существует серьезная ошибка .

Может быть, это еще не всплыло, поскольку еще ни у кого не было идентификаторов OID в этом диапазоне в системных каталогах?

Похоже, что он работает с представлением OID integer и наивно вставляет их в виде числовых литералов, включая ошибочный знак в запросах. A строка литерал будет работать: . Или скобки заставят это работать: .

Но это не делает :

Потому что:

    1. берется как числовой литерал и первоначально приводится к .
    1. Оператор приведения имеет приоритет над знаковым оператором и ​​целое число приведено к (неверно !!) .
    1. Наконец, Postgres пытается применить знаковый оператор и, к счастью, завершается неудачно с сообщением об ошибке:

    Если он не потерпит неудачу, может произойти серьезная ерунда.

db <> fiddle здесь

Я опубликовал примечание к списку pgadmin-hackers . A соответствующая ошибка уже была зарегистрирована тоже. (Доступ с учетной записью сообщества Postgres.) Это было связано с проблемой psycopg2 с использованием неверного типа данных для OID в 32-разрядных версиях. Должно быть исправлено в psycopg2 версия 2.8.4 (от которой зависит pgAdmin4).

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Вадлейд
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: