Подключаемся под postgres
sudo su - postgresЧитать далее «Настройка временной зоны для БД postgres»
Примеры использования кода
Подключаемся под postgres
sudo su - postgresЧитать далее «Настройка временной зоны для БД postgres»
Ставим приложение autodoc
$ sudo apt install libdbi-perl libhtml-template-perl libterm-readkey-perl libdbd-pg-perl
$ git clone https://github.com/cbbrowne/autodoc.git
$ cd autodoc
$ sudo make install
Дальше запускаем скрипт
postgresql_autodoc -d cic-dev-db -h 192.168.17.111 -u postgres --password -t html -s core -f cic-dev-db-core
Примечание: схемы можно передать как
-s "core|dbo"
Исходный код: https://github.com/cbbrowne/autodoc
UPDATE dummy
SET customer=subquery.customer,
address=subquery.address,
partn=subquery.partn
FROM (SELECT address_id, customer, address, partn FROM /* big hairy SQL */ ...) AS subquery
WHERE dummy.address_id=subquery.address_id;
UPDATE table T1
SET column1 = T2.column1
FROM
table T2
INNER JOIN table T3 USING (column2)
WHERE T1.column2 = T2.column2;
https://stackoverflow.com/questions/6256610/updating-table-rows-in-postgres-using-subquery
Приложение UpdateApplication представляет из себя одноэкранное приложение интерфейс которого состоит из элементов Button(кнопка) и TextView (тектовое поле).
Для корректной работы приложения необходимо добавить следующие разрешения в файл манифеста:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>Читать далее «Прототип android-приложения с функцией обновления»
Работая с JSON в postgresql заметил следующие момент:
select t.value::uuid from json_array_elements_text('["e7ded0cd-12dd-47f5-a75b-192376291e83"]'::json) as t;select (t.value #>> '{id}')::uuid
from json_array_elements('[{"id": "e7ded0cd-12dd-47f5-a75b-192376291e83"}]'::json) as t;
Две команды возвращают одинаковый результат, но разными способами.
IF (select count(*) from json_array_elements(_users)) > 0 THEN -- select * from dbo.cf_arm_cd_points(1, 5, 1, null, 4); raise notice '%', _users; -- обходчики выбраны и находим все маршруты за текущую дату RETURN QUERY select * from dbo.cf_arm_cd_points((select array_to_json(array_agg(row_to_json(t))) #>> '{id}' from (select r.id from core.cd_userinroutes as uir INNER JOIN core.cd_routes as r ON r.id = uir.f_route where uir.b_main = true and uir.f_user IN ( select (t.value #>> '{f_user}')::integer from json_array_elements(_users) as t ) and _d_date >= r.d_date_start and (core.cf_old_date(r.d_date_end) or core.cf_old_date(r.d_extended))) as t)::json, now()::date); END IF;
<ru.mobnius.core.ui.component.signature.SignatureField android:id="@+id/control_signature" android:layout_width="match_parent" android:layout_height="wrap_content" app:signatureLabel="Подпись потребителя" android:layout_marginTop="@dimen/indent_small" app:layout_constraintTop_toBottomOf="@id/control_notice"/>
public class ControlMeterReadingsFragment extends BaseFormFragment implements OnSignatureListener { private SignatureField mSignatureField; ... @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { mSignatureField = view.findViewById(R.id.control_signature); mSignatureField.setOnSignatureListener(this); if(savedInstanceState != null) { updateSignature(savedInstanceState.getString(Names.SIGNATURE), false); } ... } @Override public void onClickSignature(int mode, String signature) { Intent intent = new Intent(getContext(), SignatureActivity.class); intent.putExtra(OnSignatureListener.MODE_NAME, mode); intent.putExtra(OnSignatureListener.TITLE, "Подпись потребителя"); switch (mode) { case OnSignatureListener.ADD: startActivityForResult(intent, SignatureActivity.SIGNATURE_REQUEST_CODE); break; case OnSignatureListener.UPDATE: intent.putExtra(OnSignatureListener.IMAGE, signature); startActivityForResult(intent, SignatureActivity.SIGNATURE_REQUEST_CODE); break; case OnSignatureListener.REMOVE: confirmDialog(new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // таким образом очищаем содержимое updateSignature(null, true); } }); break; } }
Если при работе с Android Studio в эмуляторе возникает ошибка — нет возможности запустить эмулятор без отладки, выполняем следующую команду:
adb shell am clear-debug-app
Введение: в этой статье будет описан процесс привязки открытых карт (Open Street Map) к мобильной платформе Android. Результатом будет «маленькое» приложение, которое будет работать на телефоне без подключенного интернета.
библиотека для работы с картами Open Street Map. Исходный код находится на github. Данную библиотеку требуется прикрепись к проекту.
Читать далее «Android Osmdroid & Mobac»https://riptutorial.com/postgresql/example/29417/foreign-data-wrapper
To access complete schema of server db instead of single table. Follow below steps:
CREATE EXTENSION postgres_fdw;
CREATE SERVER server_name FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host 'host_ip', dbname 'db_name', port 'port_number');
CREATE USER MAPPING FOR CURRENT_USER SERVER server_name OPTIONS (user 'user_name', password 'password');
CREATE SCHEMA schema_name;
IMPORT FOREIGN SCHEMA schema_name_to_import_from_remote_db FROM SERVER server_name INTO schema_name;
SELECT * FROM schema_name.table_name;
This can be used to access multiple schema of remote DB.