An Obsidian plugin to upload your notes' metadata to your database.

Overview

Obsidian + PostgreSQL = ❤️

An Obsidian plugin to upload your notes' metadata to your database.

Features

  • send the Dataview annotations of a page to a PostgreSQL database
    • this lets you use SQL queries on your data and integrate it with other tools, such as Grafana

Installation

  1. Get a PostgreSQL database (see section below)
  2. Set your PostgreSQL connection string inside the settings
  3. Open the command panel and type "PostgreSQL" to see the list of available commands

Setting up a PostgreSQL database

I personally prefer to self-host PostgreSQL on an offshore server to protect my privacy. However, do note that it takes a bit more knowledge since if you host on a remote server, you will learn how to enable network encryption (SSL) to prevent unauthorized intermediaries from snooping on your data.

I did not try the managed providers that I listed above, but they are from reputable companies and provide way more storage and compute power than you will ever need to host the data generated by this plugin.

Where is my data stored?

The data produced by postgresql-obsidian is made available to you under the obsidian database schema.

You can use PostgreSQL views to extract and format the information that you need.

Why should I send my data to a PostgreSQL database?

Sending the metadata of your notes to a PostgreSQL database will allow you to explore it with other tools, such as Grafana.

Here is a screenshot of the Grafana dashboard I made to monitor my personal health:

Grafana dashboard of clouedoc's health, made using the data produced by the postgresql-obsidian plugin. It features charts of an ok-ish lifestyle.

Contributing

Contributions are what make the open source community such an amazing place to be, learn, inspire, and create. Any contributions you make are greatly appreciated!

Development

See the developer documentation for more information.

TODO

  • overcomplicated development workflow
  • set PostgreSQL URL in the settings
  • get various information from the current note
    • Dataview data
    • list content
  • commands
    • upload current note
    • bulk upload
    • automatic upload on edit
  • submit to Obsidian plugin registry

Useful links

Attribution

  • Thanks to pg for making it possible to easily connect to a PostgreSQL database from JavaScript.
  • Thanks to the Rush Stack for providing an easy-to-use ESLint configuration.
  • Thanks to the Dataview Plugin for making it easy to access a note's metadata.

License

MIT

You might also like...

A quick capture plugin for Obsidian, all data from your daily notes.

A quick capture plugin for Obsidian, all data from your daily notes.

Obsidian Memos 中文文档 A new way for you to quick capture an idea in Obsidian. Which is highly based on the awesome open source project: memos and awesom

Jan 3, 2023

This plugin allows you to track the progress of Atlassian Jira issues from your Obsidian notes.

This plugin allows you to track the progress of Atlassian Jira issues from your Obsidian notes.

Obsidian jira-issue This plugin allows you to track the progress of Atlassian Jira issues from your Obsidian notes. Usage Configuration Use the plugin

Dec 30, 2022

📝 You Can Create Your Own Short Notes With The Help of Sticky-Notes Website.

Hi 👋 , I'm Sneh Agrawal A passionate Web developer from India 🔭 I’m currently working on Chatting Website Chit-Chat 📫 How to reach me on My Gmail A

Feb 23, 2022

Obsidian plugin to sync Pinboard.in links to Daily Notes

Obsidian Pinboard Sync An Obsidian plugin that adds links you've saved with Pinboard to your Obsidian Daily Notes, synchronizing periodically. Why? I'

Dec 1, 2022

Obsidian.md plugin to sync highlights/notes from koreader

Obsidian KOReader Plugin Sync KOReader notes in your Obsidian vault. The KOReader device must be connected to the device running obsidian to let the p

Dec 18, 2022

Obsidian.md plugin to integrate with Zotero, create literature notes and insert citations from a Zotero library.

Obsidian Zotero Plugin Obsidian.md plugin to integrate with Zotero, create literature notes and insert citations from a Zotero library. Intro How to u

Jan 6, 2023

Plugin for Obsidian.md to send markdown notes to Buttondown.email

Obsidian Buttondown Plugin Buttondown is a tool for producing email newsletters. It likes emails written in Markdown, and has an API. This plugin allo

Nov 15, 2022

Obsidian plugin to export Graphviz graphs from vault's notes

Obsidian plugin to export Graphviz graphs from vault's notes

What it is: an Obsidian plugin to generate hierarchical graphs, with the nodes are from your Obsidian vault How it does: convert the database from Bre

Nov 14, 2022

This is an Obsidian plugin for taking math notes using Excalidraw.

This is an Obsidian plugin for taking math notes using Excalidraw.

Obsidian Math+ Obsidian Math+ is a plugin for taking math notes quickly and efficiently. Usage Run the Insert math block command, either using the com

Dec 30, 2022
Comments
  • feature: export dataview query result to table

    feature: export dataview query result to table

    Hello there!

    Do you think it would be possible for you to create such a method, that could populate an SQL table using the results of a dataview query, rather than the frontmatter?

    Table name would be the note's name, and there would be a single dataview query on the note, and your code would upload the result as it is rendered by the dataview (with column names and values) I am desperate to find some sort of solution so i can easily do an SQL query on the data. The current method of a json string being uploaded into a single record is not suitable for me unfortunately...

    Thank you for your kind answer!

    opened by RiCkYB-667 4
  • Mobile support

    Mobile support

    To dev on Android

    1. Enable adb
    2. Navigate to chrome://inspect
    3. Inspect the Obsidian page
    4. Profit

    Issues

    • the postgres plugin needs a Buffer API to function
    • there is no Buffer API in the context of the mobile app

    Solutions

    • use a Buffer polyfill
      • https://github.com/feross/buffer
      • https://github.com/chrisdickinson/bops
      • Browserify

    Discord conversation

    opened by clouedoc 0
  • SQLite adapter

    SQLite adapter

    Hi,

    Is it feasible to send dataview annotations to a sqlite single-file database?

    And when will the "bulk upload" command be integrated?

    It's quite fun to play. Your plugin open a new possibility. By dumping metadata from Obsidian's notes into a database like postgres (or sqlite in future :D ), i can plug these database into services like nocodb or grist. Then I will have a spreadsheet UI to collaborate with others.

    Thanks for this experiment.

    opened by andrey-jef 2
Releases(1.0.0)
Owner
Camille Louédoc-Eyriès
In a love-hate relationship with TypeScript.
Camille Louédoc-Eyriès
A plugin for Obsidian that can create input fields inside your notes and bind them to metadata fields.

Obsidian Meta Bind Plugin This plugin can create input fields inside your notes and bind them to metadata fields. New docs I am currently working on n

Moritz Jung 57 Jan 4, 2023
An Obsidian plugin for automatically creating notes when linking to non-existing notes

Note Auto Creator for Obsidian Automatically create notes when links are created to them. How to use After enabling the plugin in the settings menu, y

Simon Clement 31 Dec 14, 2022
A Zotero add-on that scans your Markdown reading notes, tags the associated Zotero items, and lets you open notes for the Zotero items in Obsidian.

Zotero Obsidian Citations Adds colored tags to Zotero items that have associated Markdown notes stored in an external folder. Open an associated Markd

Dae 210 Jan 4, 2023
A service for sharing encrypted Markdown notes from Obsidian. Notes are end-to-end-encrypted and are only stored temporarily.

?? Noteshare.space Noteshare.space is a service for sharing encrypted Markdown notes from Obsidian. Notes are end-to-end-encrypted and are only stored

Maxime Cannoodt 56 Dec 26, 2022
Obsidian Web: Connect your browser with your Obsidian notes

Obsidian Web: Connect your browser with your Obsidian notes This is an unofficial Chrome extension for Obsidian that lets you send content from the we

Adam Coddington 97 Jan 3, 2023
For data quality enthousiasts (and dataview lovers): manage the metadata of your notes.

Metadata Menu This plugin is made for data quality enthousiasts: access and manage the metadata of your notes in Obsidian. Metadata Menu adds context

mathieu 139 Dec 23, 2022
A plugin for Obsidian (https://obsidian.md) that adds a button to its search view for copying the Obsidian search URL.

Copy Search URL This plugin adds a button to Obsidian's search view. Clicking it will copy the Obsidian URL for the current search to the clipboard. T

Carlo Zottmann 6 Dec 26, 2022
Upload or Upload & Publish your bundle (apk or aab) to Huawei AppGallery with ConnectApi

appgallery-publisher Upload/Publish your bundle (apk or aab) to AppGallery automatically with appgallery-publisher Usage Single Javascript File Bash F

Mustafa Yiğit 17 Sep 19, 2022
Easily publish notes to the web This plugin integrates with obsius.site to publish markdown notes on the web.

Obsius Publish Easily publish notes to the web This plugin integrates with obsius.site to publish markdown notes on the web. Limitations The type of c

Jon Grythe Stødle 66 Dec 20, 2022
Fetch publication metadata from the INSPIRE-HEP database

Zotero INSPIRE Metadata Updater This is an add-on for the excellent open-source reference manager Zotero. It is useful as most papers from arXiv will

null 20 Nov 27, 2022