{"id":14415,"date":"2024-05-28T15:18:00","date_gmt":"2024-05-28T13:18:00","guid":{"rendered":"https:\/\/www.opengis.ch\/?p=14415"},"modified":"2025-08-04T15:19:51","modified_gmt":"2025-08-04T13:19:51","slug":"the-postgresql-connection-service-file-and-why-we-love-it","status":"publish","type":"post","link":"https:\/\/www.opengis.ch\/fr\/2024\/05\/28\/the-postgresql-connection-service-file-and-why-we-love-it\/","title":{"rendered":"The PostgreSQL Connection Service File and Why We Love It"},"content":{"rendered":"\n<p><strong><em>The PostgreSQL Connection Service File <code>pg_service.conf<\/code> is nothing new. It has existed for quite some time and maybe you have already used it sometimes too. But not only the new QGIS plugin <a href=\"https:\/\/github.com\/opengisch\/qgis-pg-service-parser-plugin\">PG service parser<\/a> is a reason to write about our love for this file, as well we generally think it\u2019s time to show you how it can be used for really cool things.<\/em><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What is the Connection Service File?<\/strong><\/h2>\n\n\n\n<p>The Connection Service File allows you to save connection settings for each so-called \u201cservice\u201d locally.<\/p>\n\n\n\n<p>So when you have a database called&nbsp;<code>gis<\/code>&nbsp;on a local PostgreSQL with port&nbsp;<code>5432<\/code>&nbsp;and username\/password is&nbsp;<code>docker<\/code>\/<code>docker<\/code>&nbsp;you can store this as a service called&nbsp;<code>my-local-gis<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Local GIS Database for Testing purposes\n<\/code><\/pre>\n\n\n[my-local-gis]\n\n\n\n<p>host=localhost port=5432 dbname=gis user=docker password=docker<\/p>\n\n\n\n<p>This Connection Service File is called&nbsp;<code>pg_service.conf<\/code>&nbsp;and is by client applications (such as&nbsp;<a href=\"https:\/\/www.postgresql.org\/docs\/current\/app-psql.html\">psql<\/a>&nbsp;or&nbsp;<a href=\"https:\/\/qgis.org\/en\/site\/\">QGIS<\/a>) generally found directly in the user directory. In Windows it is then found in the user\u2019s application directory&nbsp;<code>postgresql.pg_service.conf<\/code>. And in Linux it is by default located directly in the user\u2019s directory&nbsp;<code>~\/.pg_service.conf<\/code>.&nbsp;<\/p>\n\n\n\n<p>But it doesn\u2019t necessarily have to be there. The file can be anywhere on the system (or on a network drive) as long as you set the environment variable&nbsp;<code>PGSERVICEFILE<\/code>&nbsp;accordingly:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export PGSERVICEFILE=\/home\/dave\/connectionfiles\/pg_service.conf&nbsp;<\/code><\/pre>\n\n\n\n<p>Once you have done this, the client applications will search there first \u2013 and find it.<\/p>\n\n\n\n<p>If the above are not set, there is also another environment variable&nbsp;<code>PGSYSCONFDIR<\/code>&nbsp;which is a folder which is searched for the file&nbsp;<code>pg_service.conf<\/code>.<\/p>\n\n\n\n<p>Once you have this, the service name can be used in the client application. That means in&nbsp;<a href=\"https:\/\/www.postgresql.org\/docs\/current\/app-psql.html\">psql<\/a>&nbsp;it would look like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>~$ psql service=my-local-gis\npsql (14.11 (Ubuntu 14.11-0ubuntu0.22.04.1), server 14.5 (Debian 14.5-1.pgdg110+1))\nSSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)\nType \"help\" for help.\n\ngis=#<\/code><\/pre>\n\n\n\n<p>And in QGIS like this:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1279\" height=\"310\" src=\"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/05\/image.png?resize=750%2C182&amp;ssl=1\" alt=\"\" class=\"wp-image-14336\" srcset=\"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/05\/image.png?w=1279&amp;ssl=1 1279w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/05\/image.png?resize=300%2C73&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/05\/image.png?resize=1024%2C248&amp;ssl=1 1024w, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/05\/image.png?resize=768%2C186&amp;ssl=1 768w\" sizes=\"auto, (max-width: 750px) 100vw, 750px\" \/><\/figure>\n\n\n\n<p>If you then add a layer in QGIS, only the name of the service is written in the project file. Neither the connection parameters nor username\/password are saved. In addition to the security aspect, this has various advantages, more on this below.<\/p>\n\n\n\n<p>But you don\u2019t have to pass all of these parameters to a service. If you only pass parts of them (e.g. without the database), then you have to pass them when the connection is called:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$psql \"service=my-local-gis dbname=gis\"\npsql (14.11 (Ubuntu 14.11-0ubuntu0.22.04.1), server 14.5 (Debian 14.5-1.pgdg110+1))\nSSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)\nType \"help\" for help.\n\ngis=#<\/code><\/pre>\n\n\n\n<p>You can also override parameters. If you have a database&nbsp;<code>gis<\/code>&nbsp;configured in the service, but you want to connect the database web, you can specify the service and explicit the database:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$psql \"service=my-local-gis dbname=web\"\npsql (14.11 (Ubuntu 14.11-0ubuntu0.22.04.1), server 14.5 (Debian 14.5-1.pgdg110+1))\nSSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)\nType \"help\" for help.\n\nweb=#<\/code><\/pre>\n\n\n\n<p>Of course the same applies to QGIS.<\/p>\n\n\n\n<p>And regarding the environment variables mentioned, you can also set a standard service.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>export PGSERVICE=my-local-gis<\/code><\/pre>\n\n\n\n<p>Particularly pleasant in daily work with always the same database.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ psql\npsql (14.11 (Ubuntu 14.11-0ubuntu0.22.04.1), server 14.5 (Debian 14.5-1.pgdg110+1))\nSSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)\nType \"help\" for help.\n\ngis=#<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>And why is it particularly cool?<\/strong><\/h2>\n\n\n\n<p>There are several reasons why such a file is useful:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Security: You don\u2019t have to save the connection parameters anywhere in the client files (e.g. QGIS project files). Keep in mind that they are still plain text in the service file.<\/li>\n\n\n\n<li>Decoupling: You can change the connection parameters without having to change the settings in client files (e.g. QGIS project files).<\/li>\n\n\n\n<li>Multi-User: You can save the file on a network drive. As long as the environment variable of the local systems points to this file, all users can access the database with the same parameters.<\/li>\n\n\n\n<li>Diversity: You can use the same project file to access different databases with the same structure if only the name of the service remains the same.<\/li>\n<\/ul>\n\n\n\n<p>For the last reason, here are three use cases.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Support-Case<\/strong><\/h3>\n\n\n\n<p>Someone reports a problem in QGIS on a specific case with their database. Since the problem cannot be reproduced, they send us a DB dump of a schema and a QGIS project file. The layers in the QGIS project file are linked to a service. Now we can restore the dump on our local database and access it with our own, but same named, service. The problem can be reproduced.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>INTERLIS<\/strong><\/h3>\n\n\n\n<p>With INTERLIS the structure of a database schema is precisely specified. If e.g. the canton has built the physical database for it and configured a supernice QGIS project, they can provide the project file to a company without also providing the database structure. The company can build the schema based on the INTERLIS model on its own PostgreSQL database and access it using its own service with the same name.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Test\/Prod Switching<\/strong><\/h3>\n\n\n\n<p>You can access a test and a production database with the same QGIS project if you have set the environment variable for the connection service file accordingly per&nbsp;<a href=\"https:\/\/docs.qgis.org\/3.34\/de\/docs\/user_manual\/introduction\/qgis_configuration.html#user-profiles\">QGIS profile<\/a>.<\/p>\n\n\n\n<p>You create two connection service files.<\/p>\n\n\n\n<p>The one to the test database<code>&nbsp;\/home\/dave\/connectionfiles\/test\/pg_service.conf<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;my-local-gis]\nhost=localhost\nport=54322\ndbname=gis-test<\/code><\/pre>\n\n\n\n<p>And the one for the production database&nbsp;<code>\/home\/dave\/connectionfiles\/prod\/pg_service.conf<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;my-local-gis]\nhost=localhost\nport=54322\ndbname=gis-productive<\/code><\/pre>\n\n\n\n<p>In QGIS you create two profiles \u201cTest\u201d and \u201cProd\u201d:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/P5tG5kloX-sTGLtJjItVhTwQzGjhMugMEhgkUTfUfO4jblPxurVHGRdRcMkH2BGLyMrAPNZtOdaRO5OzeMvxR4CUC38gY23c9uGjXPn_65qSRRddeohzlDU4bQdPlbg5q9yGozwMjzuz9GeP-CTCPN8\" alt=\"\"\/><\/figure>\n\n\n\n<p>And you set the environment variable for each profile&nbsp;<code>PGSERVICEFILE<\/code>&nbsp;which should be used (in the menu&nbsp;<em>Settings &gt; Options\u2026<\/em>&nbsp;and there under&nbsp;<em>System<\/em>&nbsp;scroll down to&nbsp;<em>Environment<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/BZQzdWMsz1dbNf43syK1wkViu_uiOjitDu3a2wnJw7NElQ-OyvVwc26BR2y9rIW7ol_ocLGPOeRhfsjliIj9yWhUYqColQnwIpGfwVcMX2kPtFebDymTlFJjmbxDehH9QJ2MshLFu5TaULQfgOW-VZk\" alt=\"image\"\/><\/figure>\n\n\n\n<p>or<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/1KSjiGIKgFBxD13G7FYB_6wz6BRt2XbYmNJVdsgoCzptjN9K6PoR-Q5Ttxxnf6XAKXLYjWFL6PacuroU6klaW0EZJZtPDGVkLHPYQYUA1kACMMmJz7TZkQpGp-yvRaAaqN0j3sYJsZTXT2EXQACtdIc\" alt=\"image\"\/><\/figure>\n\n\n\n<p>If you now use the service&nbsp;<code>my-local-gis<\/code>&nbsp;in a QGIS layer, it connects the database&nbsp;<code>prod<\/code>&nbsp;in the \u201cProd\u201d profile and the database&nbsp;<code>test<\/code>&nbsp;in the \u201cTest\u201d profile.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>The authentication configuration<\/strong><\/h2>\n\n\n\n<p>Let\u2019s have a look at the authentication. If you have the connection service file on a network drive and make it available to several users, you may not want everyone to access it with the same login. Or you generally don\u2019t want any user information in this file. This can be elegantly combined with the authentication configuration in QGIS.<\/p>\n\n\n\n<p>If you want to make a QGIS project file available to multiple users, you create the layers with a service. This service contains all connection parameters except the login information.<\/p>\n\n\n\n<p>This login information is transferred using QGIS authentication.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/RGByDYJr2czDGs4XKQD6SzCbsgiM318UdYav1m0z9fzX9_vQcFNjnZ5zqqg2X5hQ6HnJhwNGuszKYPpVSE5L53mxrpSTlLhGw5J8TAOB43IhTXFJlfII3ICPmX9ztbEOlR-TpJrlW5jfOy42-Dbx_Os\" alt=\"image\"\/><\/figure>\n\n\n\n<p>You also configure this authentication per QGIS profile we mentioned above. This is done via Menu&nbsp;<em>Settings &gt; Options\u2026<\/em>&nbsp;and there under&nbsp;<em>Authentication<\/em>:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/nnQe3fm9iMDFxG5QCxV_kpeBKjiUUefXx5B0dcNvMF7v0ObW_5051hXBBldC_CKSTrNPblJzwDo0zK2aQBKyz9ZM_27wIPtOY1i7srhpJLMr84VHWevuy4F1hj93ZjzJXbAKlt80gw0HuHtHaqcuigQ\" alt=\"image\"\/><\/figure>\n\n\n\n<p>(or directly where you create the PostgreSQL connection)<\/p>\n\n\n\n<p>If you add such a layer, the service and the ID of the authentication configuration are saved in the QGIS project file. This is in this case&nbsp;<code>mylogin<\/code>. Of course this name must be communicated to the other users so that they can also set&nbsp; the ID for their login to&nbsp;<code>mylogin<\/code>.<\/p>\n\n\n\n<p>Of course, you can use multiple authentication configurations per profile.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>QGIS Plugin<\/strong><\/h2>\n\n\n\n<p>And yes, there is now a great plugin to configure these services directly in QGIS. This means you no longer have to deal with text-based INI files. It\u2019s called&nbsp;<a href=\"https:\/\/github.com\/opengisch\/qgis-pg-service-parser-plugin\">PG service parser<\/a>:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/3JNSq_fmD2g33fLls2FGklpoCRo-M4Pyuts7z4dP56wKK7_tRj3hGyakJSQHTHBxWyQNkBfJQggaPl_InrOdY58b-6GN8eGBH9oOgJYLkq6XMApgGBrboR_FQ5dZwJZFiBpZZ4_oBg2_BTNUAGiuPkk\" alt=\"image\"\/><\/figure>\n\n\n\n<p>It finds the connection service file according to the mentioned environment variables&nbsp;<code>PGSERVICEFILE<\/code>&nbsp;or&nbsp;<code>PGSYSCONFDIR<\/code>&nbsp;or at its default location.<\/p>\n\n\n\n<p>As well it\u2019s super easy to create new services by duplicating existing ones.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-us.googleusercontent.com\/FvLhRVplNNN5EGo8OYmED9L786WKZOxxBZy98wVnJq6vywqo_Ny2wHQaKUbcMMaiyEVTD8BNKAeD0kAY_4HgmJ39NvEF9z20PPlbwPNIgVFRXwNQTYn5KgGOzJ8iUGJ4PnY7l1y0rNzOTrdOqMtbcNY\" alt=\"\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">And for the Devs<\/h3>\n\n\n\n<p>And what would a blog post be without some geek food? The back end of this plugin is published on&nbsp;<a href=\"https:\/\/pypi.org\/project\/pgserviceparser\/\">PYPI<\/a>&nbsp;and can be easily installed with&nbsp;<code>pip install pgserviceparser&nbsp;<\/code>and then be used in Python.<\/p>\n\n\n\n<p>For example to list all the service names.&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt;&gt; import pgserviceparser\n&gt;&gt;&gt; pgserviceparser.service_names()\n&#91;'my-local-gis', 'another-local-gis', 'opengisch-demo-pg']<\/code><\/pre>\n\n\n\n<p>Optionally you can pass a config file path. Otherwise it gets it by the mentioned mechanism.<\/p>\n\n\n\n<p>Or to receive the configuration from the given service name as a dict.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt;&gt; pgserviceparser.service_config('my-local-gis')\n{'host': 'localhost', 'port': '54322', 'dbname': 'gis', 'user': 'docker', 'password': 'docker'}<\/code><\/pre>\n\n\n\n<p>There are some more functions. Check them out here on&nbsp;<a href=\"https:\/\/github.com\/opengisch\/pgserviceparser\">GitHub<\/a>&nbsp;or in the&nbsp;<a href=\"https:\/\/opengisch.github.io\/pgserviceparser\/\">documentation<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Well then<\/h2>\n\n\n\n<p>We hope you share our enthusiasm for this beautiful file \u2013 at least after reading this blog post. And if not \u2013 feel free to tell us why you don\u2019t in the comments\u00a0\ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The PostgreSQL Connection Service File pg_service.conf has existed for quite some time and maybe you have already used it sometimes. We love it, and that is why we built the new QGIS plugin PG service parser hashtag#QGIS plugin.<\/p>\n<p>Read more about pg_service usages and the new plugin on our latest blogpost<\/p>\n","protected":false},"author":6,"featured_media":14354,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[7,226,15,16],"tags":[125],"class_list":["post-14415","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-interlis","category-postgresql","category-qgis","category-qgis-plugins","tag-qgis-org"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/05\/pgserviceparser-1.png?fit=1600%2C1000&ssl=1","jetpack-related-posts":[{"id":14401,"url":"https:\/\/www.opengis.ch\/de\/2024\/05\/28\/the-postgresql-connection-service-file-and-why-we-love-it\/","url_meta":{"origin":14415,"position":0},"title":"Das PostgreSQL Connection Service File und wieso wir es lieben","author":"Dave Signer","date":"28 mai 2024","format":false,"excerpt":"Das PostgreSQL Connection Service File pg_service.conf ist nichts Neues. Es existiert seit einiger Zeit und vermutlich hast du es auch schon verwendet. Aber nicht nur das neue QGIS Plugin PG service parser ist Grund genug, \u00fcber unsere Liebe zu diesem File zu schreiben, auch weil wir generell denken, es ist\u2026","rel":"","context":"Dans &quot;Interlis&quot;","block_context":{"text":"Interlis","link":"https:\/\/www.opengis.ch\/de\/category\/interlis-de\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/05\/pgserviceparser-1.png?fit=1200%2C750&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/05\/pgserviceparser-1.png?fit=1200%2C750&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/05\/pgserviceparser-1.png?fit=1200%2C750&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/05\/pgserviceparser-1.png?fit=1200%2C750&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/05\/pgserviceparser-1.png?fit=1200%2C750&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":15596,"url":"https:\/\/www.opengis.ch\/fr\/2025\/05\/28\/qgis-industry-solutions-developer\/","url_meta":{"origin":14415,"position":1},"title":"QGIS &amp; Industry Solutions Developer\u00a0| 80 \u2013 100% (Remote)","author":"Marco Bernasocchi","date":"28 mai 2025","format":false,"excerpt":"\ud83d\udda5\ufe0f\ud83d\ude80 Join OPENGIS.ch as a QGIS & Industry Solutions Developer! We\u2019re seeking a skilled C++ and Python developer to contribute to QGIS core, build plugins, and deliver custom geospatial solutions. Work remotely with a dynamic, open-source-focused team. Apply now to help shape the future of geospatial technology!","rel":"","context":"Dans &quot;Job Postings Archive&quot;","block_context":{"text":"Job Postings Archive","link":"https:\/\/www.opengis.ch\/fr\/category\/jobs\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2025\/03\/image.png?fit=1200%2C1167&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2025\/03\/image.png?fit=1200%2C1167&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2025\/03\/image.png?fit=1200%2C1167&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2025\/03\/image.png?fit=1200%2C1167&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2025\/03\/image.png?fit=1200%2C1167&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":15450,"url":"https:\/\/www.opengis.ch\/fr\/2023\/02\/14\/postgis-with-qgis\/","url_meta":{"origin":14415,"position":2},"title":"PostGIS with QGIS (on request)","author":"Marco Bernasocchi","date":"14 f\u00e9vrier 2023","format":false,"excerpt":"The course is aimed at PostgreSQL users who want to expand their knowledge. Various approaches will be explained to optimize the use of their databases and practiced through different examples.","rel":"","context":"Dans &quot;Courses&quot;","block_context":{"text":"Courses","link":"https:\/\/www.opengis.ch\/fr\/category\/courses\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/08\/DALL%C2%B7E-2024-08-12-15.09.25-A-professional-and-educational-themed-image-for-a-PostgreSQL-administration-course.-The-image-should-feature-a-laptop-displaying-a-PostgreSQL-interfac.webp?fit=1024%2C1024&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/08\/DALL%C2%B7E-2024-08-12-15.09.25-A-professional-and-educational-themed-image-for-a-PostgreSQL-administration-course.-The-image-should-feature-a-laptop-displaying-a-PostgreSQL-interfac.webp?fit=1024%2C1024&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/08\/DALL%C2%B7E-2024-08-12-15.09.25-A-professional-and-educational-themed-image-for-a-PostgreSQL-administration-course.-The-image-should-feature-a-laptop-displaying-a-PostgreSQL-interfac.webp?fit=1024%2C1024&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2024\/08\/DALL%C2%B7E-2024-08-12-15.09.25-A-professional-and-educational-themed-image-for-a-PostgreSQL-administration-course.-The-image-should-feature-a-laptop-displaying-a-PostgreSQL-interfac.webp?fit=1024%2C1024&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":15040,"url":"https:\/\/www.opengis.ch\/de\/2023\/03\/06\/qgis-model-baker\/","url_meta":{"origin":14415,"position":3},"title":"QGIS ModelBaker","author":"Marco Bernasocchi","date":"6 mars 2023","format":false,"excerpt":"Nach Abschluss des Kurses kennen die Teilnehmer:innen alle Funktionen vom QGIS Model Baker und k\u00f6nnen INTERLIS Modelle in der Datenbank abbilden und Transferdateien importieren und exportieren. Ausserdem wird eine Einf\u00fchrung ins Handling mit Beh\u00e4lter und Datasets gegeben und der Live Validator vorgestellt.","rel":"","context":"Dans &quot;INTERLIS &amp; Model Baker Kurse&quot;","block_context":{"text":"INTERLIS &amp; Model Baker Kurse","link":"https:\/\/www.opengis.ch\/de\/category\/kurse\/interlis-model-baker-kurse\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":15041,"url":"https:\/\/www.opengis.ch\/2023\/03\/06\/qgis-model-baker\/","url_meta":{"origin":14415,"position":4},"title":"QGIS ModelBaker","author":"Marco Bernasocchi","date":"6 mars 2023","format":false,"excerpt":"Nach Abschluss des Kurses kennen die Teilnehmer:innen alle Funktionen vom QGIS Model Baker und k\u00f6nnen INTERLIS Modelle in der Datenbank abbilden und Transferdateien importieren und exportieren. Ausserdem wird eine Einf\u00fchrung ins Handling mit Beh\u00e4lter und Datasets gegeben und der Live Validator vorgestellt.","rel":"","context":"Dans &quot;Cours INTERLIS &amp; Model Baker&quot;","block_context":{"text":"Cours INTERLIS &amp; Model Baker","link":"https:\/\/www.opengis.ch\/fr\/category\/cours\/cours-interlis-model-baker\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":13388,"url":"https:\/\/www.opengis.ch\/fr\/2022\/11\/10\/model-baker-kurs-zurich-26-01-2023\/","url_meta":{"origin":14415,"position":5},"title":"QGIS Model Baker Kurs Z\u00fcrich, 26.01.2023","author":"Anna Randegger","date":"10 novembre 2022","format":false,"excerpt":"Anmelden Der Kurs dauert einen Tag (9:00 \u2013 17:00 Uhr) und kostet 560 CHF pro Person (inkl. Mittagessen und Kursbest\u00e4tigung). Ein Lehrer f\u00fcr maximal 6 Personen und 2 Lehrer f\u00fcr 7 bis 12 Personen. Mindestteilnehmerzahl 6 Personen. Beschreibung Nach Abschluss des Kurses kennen die Teilnehmer:innen alle Funktionen vom QGIS Model\u2026","rel":"","context":"Dans &quot;QGIS&quot;","block_context":{"text":"QGIS","link":"https:\/\/www.opengis.ch\/fr\/category\/gis\/qgis\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.opengis.ch\/wp-content\/uploads\/2022\/11\/modelbaker_course.png?fit=1200%2C800&ssl=1&resize=1050%2C600 3x"},"classes":[]}],"jetpack_shortlink":"https:\/\/wp.me\/pbdBtI-3Kv","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.opengis.ch\/fr\/wp-json\/wp\/v2\/posts\/14415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.opengis.ch\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.opengis.ch\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.opengis.ch\/fr\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.opengis.ch\/fr\/wp-json\/wp\/v2\/comments?post=14415"}],"version-history":[{"count":2,"href":"https:\/\/www.opengis.ch\/fr\/wp-json\/wp\/v2\/posts\/14415\/revisions"}],"predecessor-version":[{"id":14418,"href":"https:\/\/www.opengis.ch\/fr\/wp-json\/wp\/v2\/posts\/14415\/revisions\/14418"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.opengis.ch\/fr\/wp-json\/wp\/v2\/media\/14354"}],"wp:attachment":[{"href":"https:\/\/www.opengis.ch\/fr\/wp-json\/wp\/v2\/media?parent=14415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.opengis.ch\/fr\/wp-json\/wp\/v2\/categories?post=14415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.opengis.ch\/fr\/wp-json\/wp\/v2\/tags?post=14415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}