grafana/pkg/tsdb
Daniel Lee d1c9760fa8 Postgres Data Source (#9475)
* add postgresql datasource

* add rest of files for postgres datasource

* fix timeseries query, remove unused code

* consistent naming, refactoring

* s/mysql/postgres/

* s/mysql/postgres/

* couple more tests

* tests for more datatypes

* fix macros for postgres

* add __timeSec macro

* add frontend for postgres datasource

* adjust documentation

* fix formatting

* add proper plugin description

* merge editor changes from mysql

* port changes from mysql datasource

* set proper defaultQuery for postgres

* add time_sec to timeseries query
accept int for value for timeseries query

* revert allowing time_sec and handle int or float values as unix
timestamp for "time" column

* fix tslint error

* handle decimal values in timeseries query

* allow setting sslmode for postgres datasource

* use type switch for handling data types

* fix value for timeseries query

* refactor timeseries queries to make them more flexible

* remove debug statement from inner loop in type conversion

* use plain for loop in getTypedRowData

* fix timeseries queries

* adjust postgres datasource to tsdb refactoring

* adjust postgres datasource to frontend changes

* update lib/pq to latest version

* move type conversion to getTypedRowData

* handle address types cidr, inet and macaddr

* adjust response parser and docs for annotations

* convert unknown types to string

* add documentation for postgres datasource

* add another example query with metric column

* set more helpful default query

* update help text in query editor

* handle NULL in value column of timeseries query

* add __timeGroup macro

* add test for __timeGroup macro

* document __timeGroup and set proper default query for annotations

* fix typos in docs

* add postgres to list of datasources

* add postgres to builtInPlugins

* mysql: refactoring as prep for merging postgres

Refactors out the initialization of the xorm engine and the query logic
for an sql data source.

* mysql: rename refactoring + test update

* postgres:refactor to use SqlEngine(same as mysql)

Refactored to use a common base class with the MySql data source.

Other changes from the original PR:
- Changed time column to be time_sec to allow other time units in the
future and to be the same as MySQL
- Changed integration test to test the main Query method rather than
the private transformToTable method
- Changed the __timeSec macro name to __timeEpoch
- Renamed PostgresExecutor to PostgresQueryEndpoint

Fixes #9209 (the original PR)

* postgres: encrypt password on config page

With some other cosmetic changes to the config page:
- placeholder texts
- reset button for the password after it has been encrypted.
- default value for the sslmode field.

* postgres: change back col name to time from time_sec

* postgres mysql: remove annotation title

Title has been removed from annotations

* postgres: fix images for docs page

* postgres mysql: fix specs
2017-10-10 15:19:14 +02:00
..
cloudwatch fix cloudwatch alert bug 2017-09-29 13:45:11 +09:00
graphite follow go idiom and return error as second param 2017-09-21 18:04:16 +02:00
influxdb follow go idiom and return error as second param 2017-09-21 18:04:16 +02:00
mysql Postgres Data Source (#9475) 2017-10-10 15:19:14 +02:00
opentsdb follow go idiom and return error as second param 2017-09-21 18:04:16 +02:00
postgres Postgres Data Source (#9475) 2017-10-10 15:19:14 +02:00
prometheus follow go idiom and return error as second param 2017-09-21 18:04:16 +02:00
testdata testdata: add bucket scenarios for heatmap 2017-09-24 22:08:28 +02:00
fake_test.go follow go idiom and return error as second param 2017-09-21 18:04:16 +02:00
interval_test.go feat(templating): completed work on built in template variables and , closes #7190, refactors #7170 2017-01-11 12:10:26 +01:00
interval.go feat(templating): completed work on built in template variables and , closes #7190, refactors #7170 2017-01-11 12:10:26 +01:00
models.go follow go idiom and return error as second param 2017-09-21 18:04:16 +02:00
query_endpoint.go follow go idiom and return error as second param 2017-09-21 18:04:16 +02:00
request.go follow go idiom and return error as second param 2017-09-21 18:04:16 +02:00
sql_engine.go Postgres Data Source (#9475) 2017-10-10 15:19:14 +02:00
time_range_test.go minor change: more accurate variable name (#8449) 2017-05-24 08:38:13 +02:00
time_range.go feat(testdata): added csv test data scenario 2016-09-28 10:37:30 +02:00
tsdb_test.go follow go idiom and return error as second param 2017-09-21 18:04:16 +02:00