Traccar + PostgreSQL

nyQ9 years ago

Добрый день!
Не могу найти в конфигурационном файле указанные значения, которые нужно сменить при установке Traccar + PostgreSQL:

Change INT PRIMARY KEY AUTO_INCREMENT to SERIAL PRIMARY KEY Change BIT to BOOLEAN For boolean fields with default values change 0 to FALSE and 1 to TRUE

Устанавливаю по инструкции по ссылке https://www.traccar.org/postgresql/

Вот содержимое traccar.xml:

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE properties SYSTEM 'http://java.sun.com/dtd/properties.dtd'>

<properties>

&lt;!-- SERVER CONFIG --&gt;

&lt;entry key='web.enable'&gt;true&lt;/entry&gt;
&lt;entry key='web.port'&gt;8082&lt;/entry&gt;
&lt;entry key='web.path'&gt;C:\Program Files (x86)\Traccar\web&lt;/entry&gt;

&lt;entry key='geocoder.enable'&gt;true&lt;/entry&gt;
&lt;entry key='geocoder.type'&gt;google&lt;/entry&gt;

&lt;entry key='logger.enable'&gt;true&lt;/entry&gt;
&lt;entry key='logger.level'&gt;all&lt;/entry&gt;
&lt;entry key='logger.file'&gt;C:\Program Files (x86)\Traccar\logs\tracker-server.log&lt;/entry&gt;

&lt;!-- DATABASE CONFIG --&gt;

&lt;entry key='database.driver'&gt;org.postgresql.Driver&lt;/entry&gt;
&lt;entry key='database.url'&gt;jdbc:postgresql://127.0.0.1:5432/traccar&lt;/entry&gt;
&lt;entry key='database.user'&gt;$$$$$&lt;/entry&gt;
&lt;entry key='database.password'&gt;$$$$$&lt;/entry&gt;

&lt;entry key='database.changelog'&gt;C:\Program Files (x86)\Traccar\data\db.changelog-master.xml&lt;/entry&gt;

&lt;entry key='database.selectServers'&gt;
    SELECT * FROM server;
&lt;/entry&gt;

&lt;entry key='database.updateServer'&gt;
    UPDATE server SET
    registration = :registration,
    readonly = :readonly,
    map = :map,
    bingKey = :bingKey,
    mapUrl = :mapUrl,
    language = :language,
    distanceUnit = :distanceUnit,
    speedUnit = :speedUnit,
    latitude = :latitude,
    longitude = :longitude,
    zoom = :zoom
    WHERE id = :id;
&lt;/entry&gt;

&lt;entry key='database.loginUser'&gt;
    SELECT * FROM users
    WHERE email = :email;
&lt;/entry&gt;

&lt;entry key='database.selectUser'&gt;
    SELECT * FROM users
    WHERE id = :id;
&lt;/entry&gt;

&lt;entry key='database.selectUsersAll'&gt;
    SELECT * FROM users;
&lt;/entry&gt;

&lt;entry key='database.insertUser'&gt;
    INSERT INTO users (name, email, hashedPassword, salt, admin)
    VALUES (:name, :email, :hashedPassword, :salt, :admin);
&lt;/entry&gt;

&lt;entry key='database.updateUser'&gt;
    UPDATE users SET
    name = :name,
    email = :email,
    admin = :admin,
    map = :map,
    language = :language,
    distanceUnit = :distanceUnit,
    speedUnit = :speedUnit,
    latitude = :latitude,
    longitude = :longitude,
    zoom = :zoom
    WHERE id = :id;
&lt;/entry&gt;

&lt;entry key='database.updateUserPassword'&gt;
    UPDATE users SET hashedPassword = :hashedPassword, salt = :salt WHERE id = :id;
&lt;/entry&gt;

&lt;entry key='database.deleteUser'&gt;
    DELETE FROM users WHERE id = :id;
&lt;/entry&gt;

&lt;entry key='database.getPermissionsAll'&gt;
    SELECT userId, deviceId FROM user_device;
&lt;/entry&gt;

&lt;entry key='database.selectDevicesAll'&gt;
    SELECT * FROM devices;
&lt;/entry&gt;

&lt;entry key='database.selectDevices'&gt;
    SELECT * FROM devices d INNER JOIN user_device ud ON d.id = ud.deviceId WHERE ud.userId = :userId;
&lt;/entry&gt;

&lt;entry key='database.insertDevice'&gt;
    INSERT INTO devices (name, uniqueId) VALUES (:name, :uniqueId);
&lt;/entry&gt;

&lt;entry key='database.updateDevice'&gt;
    UPDATE devices SET name = :name, uniqueId = :uniqueId WHERE id = :id;
&lt;/entry&gt;

&lt;entry key='database.updateDeviceStatus'&gt;
    UPDATE devices SET status = :status, lastUpdate = :lastUpdate WHERE id = :id;
&lt;/entry&gt;

&lt;entry key='database.deleteDevice'&gt;
    DELETE FROM devices WHERE id = :id;
&lt;/entry&gt;

&lt;entry key='database.linkDevice'&gt;
    INSERT INTO user_device (userId, deviceId) VALUES (:userId, :deviceId);
&lt;/entry&gt;

&lt;entry key='database.unlinkDevice'&gt;
    DELETE FROM user_device WHERE userId = :userId AND deviceId = :deviceId;
&lt;/entry&gt;

&lt;entry key='database.selectPositions'&gt;
    SELECT * FROM positions WHERE deviceId = :deviceId AND fixTime BETWEEN :from AND :to ORDER BY fixTime;
&lt;/entry&gt;

&lt;entry key='database.insertPosition'&gt;
    INSERT INTO positions (deviceId, protocol, serverTime, deviceTime, fixTime, valid, latitude, longitude, altitude, speed, course, address, attributes)
    VALUES (:deviceId, :protocol, :now, :time, :time, :valid, :latitude, :longitude, :altitude, :speed, :course, :address, :attributes);
&lt;/entry&gt;

&lt;entry key='database.selectLatestPositions'&gt;
    SELECT * FROM positions WHERE id IN (SELECT positionId FROM devices);
&lt;/entry&gt;

&lt;entry key='database.updateLatestPosition'&gt;
    UPDATE devices SET positionId = :id WHERE id = :deviceId;
&lt;/entry&gt;

&lt;!-- PROTOCOL CONFIG --&gt;

&lt;entry key='gps103.port'&gt;5001&lt;/entry&gt;
&lt;entry key='tk103.port'&gt;5002&lt;/entry&gt;
&lt;entry key='gl100.port'&gt;5003&lt;/entry&gt;
&lt;entry key='gl200.port'&gt;5004&lt;/entry&gt;
&lt;entry key='t55.port'&gt;5005&lt;/entry&gt;
&lt;entry key='xexun.port'&gt;5006&lt;/entry&gt;
&lt;entry key='xexun.extended'&gt;false&lt;/entry&gt;
&lt;entry key='totem.port'&gt;5007&lt;/entry&gt;
&lt;entry key='enfora.port'&gt;5008&lt;/entry&gt;
&lt;entry key='meiligao.port'&gt;5009&lt;/entry&gt;
&lt;entry key='trv.port'&gt;5010&lt;/entry&gt;
&lt;entry key='suntech.port'&gt;5011&lt;/entry&gt;
&lt;entry key='progress.port'&gt;5012&lt;/entry&gt;
&lt;entry key='h02.port'&gt;5013&lt;/entry&gt;
&lt;entry key='jt600.port'&gt;5014&lt;/entry&gt;
&lt;entry key='huabao.port'&gt;5015&lt;/entry&gt;
&lt;entry key='v680.port'&gt;5016&lt;/entry&gt;
&lt;entry key='pt502.port'&gt;5017&lt;/entry&gt;
&lt;entry key='tr20.port'&gt;5018&lt;/entry&gt;
&lt;entry key='navis.port'&gt;5019&lt;/entry&gt;
&lt;entry key='meitrack.port'&gt;5020&lt;/entry&gt;
&lt;entry key='skypatrol.port'&gt;5021&lt;/entry&gt;
&lt;entry key='gt02.port'&gt;5022&lt;/entry&gt;
&lt;entry key='gt06.port'&gt;5023&lt;/entry&gt;
&lt;entry key='megastek.port'&gt;5024&lt;/entry&gt;
&lt;entry key='navigil.port'&gt;5025&lt;/entry&gt;
&lt;entry key='gpsgate.port'&gt;5026&lt;/entry&gt;
&lt;entry key='teltonika.port'&gt;5027&lt;/entry&gt;
&lt;entry key='mta6.port'&gt;5028&lt;/entry&gt;
&lt;entry key='tzone.port'&gt;5029&lt;/entry&gt;
&lt;entry key='tlt2h.port'&gt;5030&lt;/entry&gt;
&lt;entry key='taip.port'&gt;5031&lt;/entry&gt;
&lt;entry key='wondex.port'&gt;5032&lt;/entry&gt;
&lt;entry key='cellocator.port'&gt;5033&lt;/entry&gt;
&lt;entry key='galileo.port'&gt;5034&lt;/entry&gt;
&lt;entry key='ywt.port'&gt;5035&lt;/entry&gt;
&lt;entry key='tk102.port'&gt;5036&lt;/entry&gt;
&lt;entry key='intellitrac.port'&gt;5037&lt;/entry&gt;
&lt;entry key='gpsmta.port'&gt;5038&lt;/entry&gt;
&lt;entry key='wialon.port'&gt;5039&lt;/entry&gt;
&lt;entry key='carscop.port'&gt;5040&lt;/entry&gt;
&lt;entry key='apel.port'&gt;5041&lt;/entry&gt;
&lt;entry key='manpower.port'&gt;5042&lt;/entry&gt;
&lt;entry key='globalsat.port'&gt;5043&lt;/entry&gt;
&lt;entry key='atrack.port'&gt;5044&lt;/entry&gt;
&lt;entry key='pt3000.port'&gt;5045&lt;/entry&gt;
&lt;entry key='ruptela.port'&gt;5046&lt;/entry&gt;
&lt;entry key='topflytech.port'&gt;5047&lt;/entry&gt;
&lt;entry key='laipac.port'&gt;5048&lt;/entry&gt;
&lt;entry key='aplicom.port'&gt;5049&lt;/entry&gt;
&lt;entry key='gotop.port'&gt;5050&lt;/entry&gt;
&lt;entry key='sanav.port'&gt;5051&lt;/entry&gt;
&lt;entry key='gator.port'&gt;5052&lt;/entry&gt;
&lt;entry key='noran.port'&gt;5053&lt;/entry&gt;
&lt;entry key='m2m.port'&gt;5054&lt;/entry&gt;
&lt;entry key='osmand.port'&gt;5055&lt;/entry&gt;
&lt;entry key='easytrack.port'&gt;5056&lt;/entry&gt;
&lt;entry key='gpsmarker.port'&gt;5057&lt;/entry&gt;
&lt;entry key='khd.port'&gt;5058&lt;/entry&gt;
&lt;entry key='piligrim.port'&gt;5059&lt;/entry&gt;
&lt;entry key='stl060.port'&gt;5060&lt;/entry&gt;
&lt;entry key='cartrack.port'&gt;5061&lt;/entry&gt;
&lt;entry key='minifinder.port'&gt;5062&lt;/entry&gt;
&lt;entry key='haicom.port'&gt;5063&lt;/entry&gt;
&lt;entry key='eelink.port'&gt;5064&lt;/entry&gt;
&lt;entry key='box.port'&gt;5065&lt;/entry&gt;
&lt;entry key='freedom.port'&gt;5066&lt;/entry&gt;
&lt;entry key='telik.port'&gt;5067&lt;/entry&gt;
&lt;entry key='trackbox.port'&gt;5068&lt;/entry&gt;
&lt;entry key='visiontek.port'&gt;5069&lt;/entry&gt;
&lt;entry key='orion.port'&gt;5070&lt;/entry&gt;
&lt;entry key='riti.port'&gt;5071&lt;/entry&gt;
&lt;entry key='ulbotech.port'&gt;5072&lt;/entry&gt;
&lt;entry key='tramigo.port'&gt;5073&lt;/entry&gt;
&lt;entry key='tr900.port'&gt;5074&lt;/entry&gt;
&lt;entry key='ardi01.port'&gt;5075&lt;/entry&gt;
&lt;entry key='xt013.port'&gt;5076&lt;/entry&gt;
&lt;entry key='autofon.port'&gt;5077&lt;/entry&gt;
&lt;entry key='gosafe.port'&gt;5078&lt;/entry&gt;
&lt;entry key='autofon45.port'&gt;5079&lt;/entry&gt;
&lt;entry key='bce.port'&gt;5080&lt;/entry&gt;
&lt;entry key='xirgo.port'&gt;5081&lt;/entry&gt;
&lt;entry key='calamp.port'&gt;5082&lt;/entry&gt;
&lt;entry key='mtx.port'&gt;5083&lt;/entry&gt;
&lt;entry key='tytan.port'&gt;5084&lt;/entry&gt;
&lt;entry key='avl301.port'&gt;5085&lt;/entry&gt;
&lt;entry key='castel.port'&gt;5086&lt;/entry&gt;
&lt;entry key='mxt.port'&gt;5087&lt;/entry&gt;
&lt;entry key='cityeasy.port'&gt;5088&lt;/entry&gt;
&lt;entry key='aquila.port'&gt;5089&lt;/entry&gt;
&lt;entry key='flextrack.port'&gt;5090&lt;/entry&gt;
&lt;entry key='blackkite.port'&gt;5091&lt;/entry&gt;
&lt;entry key='adm.port'&gt;5092&lt;/entry&gt;
&lt;entry key='watch.port'&gt;5093&lt;/entry&gt;
&lt;entry key='t800x.port'&gt;5094&lt;/entry&gt;
&lt;entry key='upro.port'&gt;5095&lt;/entry&gt;
&lt;entry key='auru.port'&gt;5096&lt;/entry&gt;
&lt;entry key='disha.port'&gt;5097&lt;/entry&gt;
&lt;entry key='thinkrace.port'&gt;5098&lt;/entry&gt;
&lt;entry key='pathaway.port'&gt;5099&lt;/entry&gt;
&lt;entry key='arnavi.port'&gt;5100&lt;/entry&gt;

</properties>

Anton Tananaev9 years ago

Для версии 3.3 это уже не требуется. Должно работать со стандартной конфигурацией.