CloudQuery extracts, transforms, and loads your cloud assets into normalized PostgreSQL tables.

cloudquery logo

The open-source cloud asset inventory backed by SQL.

BuildStatus License

CloudQuery extracts, transforms, and loads your cloud assets into normalized PostgreSQL tables. CloudQuery enables you to assess, audit, and evaluate the configurations of your cloud assets.

CloudQuery key use-cases and features:

  • Search: Use standard SQL to find any asset based on any configuration or relation to other assets.
  • Visualize: Connect CloudQuery standard PostgreSQL database to your favorite BI/Visualization tool such as Grafana, QuickSight, etc...
  • Policy-as-Code: Codify your security & compliance rules with SQL as the query engine.

Links

Supported providers (Actively expanding)

Checkout https://hub.cloudquery.io

If you want us to add a new provider or resource please open an Issue.

See docs for developing new provider.

Download & install

You can download the precompiled binary from releases, or using CLI:

export OS=Darwin # Possible values: Linux,Windows,Darwin
curl -L https://github.com/cloudquery/cloudquery/releases/latest/download/cloudquery_${OS}_x86_64 -o cloudquery
chmod a+x cloudquery
./cloudquery --help

# if you want to download a specific version and not latest use the following endpoint
export VERSION= # specifiy a version
curl -L https://github.com/cloudquery/cloudquery/releases/download/${VERSION}/cloudquery_${OS}_x86_64 -o cloudquery

Homebrew

brew install cloudquery/tap/cloudquery
# After initial install you can upgrade the version via:
brew upgrade cloudquery

Quick Start

Running

First generate a config.hcl file that will describe which resources you want cloudquery to pull, normalize and transform resources to the specified SQL database by running the following command:

cloudquery init aws # choose one or more from: [aws azure gcp okta]
# cloudquery init gcp azure # This will generate a config containing gcp and azure providers
# cloudquery init --help # Show all possible auto generated configs and flags

Once your config.hcl is generated run the following command to fetch the resources:

# you can spawn a local postgresql with docker
# docker run -p 5432:5432 -e POSTGRES_PASSWORD=pass -d postgres
cloudquery fetch --dsn "postgres://postgres:pass@localhost:5432/postgres"
# cloudquery fetch --help # Show all possible fetch flags

Using psql -h localhost -p 5432 -U postgres -d postgres

postgres=# \dt
                                    List of relations
 Schema |                            Name                             | Type  |  Owner
--------+-------------------------------------------------------------+-------+----------
 public | aws_autoscaling_launch_configuration_block_device_mapping   | table | postgres
 public | aws_autoscaling_launch_configurations                       | table | postgres

Run the following example queries from psql shell

List ec2_images

SELECT * FROM aws_ec2_images;

Find all public facing AWS load balancers

SELECT * FROM aws_elbv2_load_balancers WHERE scheme = 'internet-facing';

Running policy packs

cloudquery comes with some ready compliance policy pack which you can use as is or modify to fit your use-case.

Currently, cloudquery support AWS CIS policy pack (it is under active development, so it doesn't cover the whole spec yet).

To run AWS CIS pack enter the following commands (make sure you fetched all the resources beforehand by the fetch command):

./cloudquery policy --path=<PATH_TO_POLICY_FILE> --output=<PATH_TO_OUTPUT_POLICY_RESULT> --dsn "postgres://postgres:pass@localhost:5432/postgres"

You can also create your own policy file. E.g.:

CREATE VIEW my_custom_view AS ... queries: - name: "Find thing that violates policy" query: > SELECT account_id, arn FROM ... ">
views:
  - name: "my_custom_view"
    query: >
      CREATE VIEW my_custom_view AS ...
queries:
  - name: "Find thing that violates policy"
    query: >
      SELECT account_id, arn FROM ...

The policy command uses the policy file path ./policy.yml by default, but this can be overridden via the --path flag, or the CQ_POLICY_PATH environment variable.

Full Documentation, resources and SQL schema definitions are available here.

Providers Authentication

See additional documentation for each provider at https://hub.cloudquery.io.

Compile and run

go build .
./cloudquery # --help to see all options

Running on AWS (Lambda, Terraform)

Checkout cloudquery/terraform-aws-cloudquery

License

By contributing to cloudquery you agree that your contributions will be licensed as defined on the LICENSE file.

Hiring

If you are into Go, Backend, Cloud, GCP, AWS - ping us at jobs [at] our domain

Contribution

Feel free to open Pull-Request for small fixes and changes. For bigger changes and new providers please open an issue first to prevent double work and discuss relevant stuff.

Owner
CloudQuery
The open-source cloud asset inventory powered by SQL
CloudQuery
Comments
  • Default gRPC max buffer size too small

    Default gRPC max buffer size too small

    Describe the Bug

    Running a sync on a fair sized organisation, I get this error: "Error: failed to sync source aws: failed to fetch resources from stream: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (9090474 vs. 4194304)"

    Suggest the gRPC default max buffer size is either exposed as a parameter or raised to e.g. 100mb

    Expected Behavior

    No resource limit encountered

    CloudQuery Version

    cloudquery version 2.0.18

    Debug Output

    It is huge - let me know if it is needed "Error: failed to sync source aws: failed to fetch resources from stream: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (9090474 vs. 4194304)"

    Steps to Reproduce

    cloudquery sync .
    

    Additional Context

    References

  • Cannot fetch AWS s3

    Cannot fetch AWS s3

    After running ./cloudquery fetch, All information is fetched from AWS. But only the information of the s3 backet cannot fetch.

    I have already got the read-only permission. I run aws s3 ls. It cannot show all the backet. So I know it is not a permission issue. May I know how can I solve this issue?

  • Cannot run a fetch with AWS/Postgresql a second time because it doesnt properly use IF EXISTS

    Cannot run a fetch with AWS/Postgresql a second time because it doesnt properly use IF EXISTS

    When running with Postgres as the database, running a second time fails when attempting to update the schema:

    2020/12/27 07:48:33 /go/src/github.com/troian/golang-cross-example/providers/aws/ec2/vpc_peering_connections.go:193 ERROR: column "requester_option_allow_egress_from_local_classic_link_to_remote" of relation "aws_ec2_vpc_peering_connections" already exists (SQLSTATE 42701) [157.994ms] [rows:0] ALTER TABLE "aws_ec2_vpc_peering_connections" ADD "requester_option_allow_egress_from_local_classic_link_to_remote_vpc" boolean Error: ERROR: column "requester_option_allow_egress_from_local_classic_link_to_remote" of relation "aws_ec2_vpc_peering_connections" already exists (SQLSTATE 42701)

  • Support configuration of service endpoints

    Support configuration of service endpoints

    I would like to run CloudQuery against alternative endpoints, primarily for testing purposes. This would allow running CloudQuery against something like localstack to accelerate testing.

    To facilitate this, the AWS SDKs allow supplying a map of service names to endpoints. To expose this option to CloudQuery, the AWS provider would need it's config schema updated to allow specifying this mapping, and the client initialization logic will need to support the EndpointResolver.

    The Terraform AWS provider is a great reference for this. It allows configuration such as the following:

    provider "aws" {
      endpoints {
        dynamodb = "http://localhost:4569"
        s3       = "http://localhost:4572"
      }
    }
    

    References

    • https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/endpoints/
    • https://registry.terraform.io/providers/hashicorp/aws/latest/docs/guides/custom-service-endpoints
  • feat(azure): Move to new sdk

    feat(azure): Move to new sdk

    This PR comes instead of this https://github.com/cloudquery/cloudquery/pull/5286 as old pr got messed up.

    This generates the autogeneration code and tries to generate the whole huge Azure SDK completely.

    BEGIN_COMMIT_OVERRIDE feat(azure): Move to new sdk

    BREAKING CHANGE: Move to new SDK. Many new resources were added, please see https://www.cloudquery.io/docs/plugins/sources/azure/tables for the new list. The main difference in columns is that we don't unwrap Azure properties into separate columns. Instead properties are stored as a JSON column END_COMMIT_OVERRIDE

  • Not able to fetch ingress details from eks cluster

    Not able to fetch ingress details from eks cluster

    Describe the Bug

    CLoudquery k8s provider is not able to fetch kubernetes ingress resource details from eks cluster. I am using k8s provider v0.5.11 to fetch kubernetes resources from eks cluster. I am able to get all resources except below -

    k8s_core_service_load_balancer_ingress_ports
    k8s_core_service_load_balancer_ingresses
    k8s_networking_network_policy_ingress
    k8s_networking_network_policy_ingress_from
    k8s_networking_network_policy_ingress_ports
    

    In config.hcl I have put below so that all k8s resources will be fetched -

    // list of resources to fetch
    resources = [
    "*"]
    

    Expected Behavior

    It should fetch these details

    CloudQuery Version

    0.28.2

    Debug Output

    4:38AM INF logging configured consoleLog=true fileLogging=true fileName=cloudquery.log instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 jsonLogOutput=false logDirectory=. maxAgeInDays=3 maxBackups=3 maxSizeMB=30 verbose=false
    4:38AM INF Anonymous telemetry collection and crash reporting enabled. Run with --no-telemetry to disable, or check docs at https://docs.cloudquery.io/docs/cli/telemetry instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680
    4:38AM INF Invocation parameters args=[] command="cloudquery fetch" core_version=0.28.2 flag:config=config.hcl flag:enable-console-log=true instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 pflag:config=config.hcl pflag:enable-console-log=true
    4:38AM INF logging configured consoleLog=true fileLogging=true fileName=cloudquery.log instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 jsonLogOutput=false logDirectory=. maxAgeInDays=3 maxBackups=3 maxSizeMB=30 verbose=false
    4:38AM INF An update to CloudQuery core is available: 0.30.2! instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680
    4:38AM INF Syncing CloudQuery providers [[email protected]] instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680
    4:38AM INF Initializing CloudQuery Providers instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680
    4:38AM INF downloading providers instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 providers=[{"Name":"k8s","Source":"cloudquery","Version":"v0.5.11"}]
    4:38AM INF Downloading provider instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 name=k8s version=v0.5.11
    4:38AM INF providers download successfully duration=510.977695 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 providers=[{"Name":"k8s","Source":"cloudquery","Version":"v0.5.11"}]
    4:38AM INF Finished provider initialization instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680
    4:38AM INF Checking available provider updates instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680
    4:38AM INF checking update for provider instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 provider=k8s version=v0.5.11
    4:38AM INF update available for provider instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 new_version=v0.5.17 provider=k8s version=v0.5.11
    4:38AM INF Update available for provider k8s: v0.5.11 ➡️ v0.5.17 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680
    4:38AM INF syncing provider schema instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 [email protected]
    4:38AM INF requesting provider schema instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 [email protected]
    4:38AM INF plugin doesn't exist, creating... alias= instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 provider=k8s
    4:38AM INF plugin process exited instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 path=.cq/providers/cloudquery/k8s/v0.5.11-linux_amd64 pid=141
    4:38AM INF Finished syncing providers instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680
    4:38AM INF Starting provider fetch instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680
    4:38AM INF received fetch request extra_fields=null instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680
    4:38AM INF plugin doesn't exist, creating... alias=k8s instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 provider=k8s
    4:38AM INF requesting provider to configure alias=k8s instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 provider=k8s
    4:38AM INF creating k8s client for context @module=k8s context=arn:aws:eks:eu-west-1::cluster/ instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 timestamp=2022-07-01T04:38:40.397Z
    4:38AM INF provider configured successfully alias=k8s instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 provider=k8s
    4:38AM INF provider started fetching resources alias=k8s instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 provider=k8s
    4:38AM INF calculated max goroutines for fetch execution @module=k8s instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 max_goroutines=953829 timestamp=2022-07-01T04:38:40.404Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_core_limit_ranges:1 context=arn:aws:eks:eu-west-1::cluster/ count=0 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_core_limit_ranges timestamp=2022-07-01T04:38:41.099Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_core_resource_quotas:1 context=arn:aws:eks:eu-west-1::cluster/ count=0 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_core_resource_quotas timestamp=2022-07-01T04:38:41.101Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_networking_network_policies:1 context=arn:aws:eks:eu-west-1::cluster/ count=0 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_networking_network_policies timestamp=2022-07-01T04:38:41.107Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_batch_cron_jobs:1 context=arn:aws:eks:eu-west-1::cluster/ count=6 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_batch_cron_jobs timestamp=2022-07-01T04:38:41.188Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_apps_stateful_sets:1 context=arn:aws:eks:eu-west-1::cluster/ count=14 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_apps_stateful_sets timestamp=2022-07-01T04:38:41.200Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_apps_daemon_sets:1 context=arn:aws:eks:eu-west-1::cluster/ count=7 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_apps_daemon_sets timestamp=2022-07-01T04:38:41.223Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_core_namespaces:1 context=arn:aws:eks:eu-west-1::cluster/ count=15 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_core_namespaces timestamp=2022-07-01T04:38:41.270Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_apps_replica_sets:1 context=arn:aws:eks:eu-west-1::cluster/ count=90 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_apps_replica_sets timestamp=2022-07-01T04:38:41.375Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_batch_jobs:1 context=arn:aws:eks:eu-west-1::cluster/ count=22 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_batch_jobs timestamp=2022-07-01T04:38:42.028Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_core_nodes:1 context=arn:aws:eks:eu-west-1::cluster/ count=15 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_core_nodes timestamp=2022-07-01T04:38:42.195Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_rbac_roles:1 context=arn:aws:eks:eu-west-1::cluster/ count=28 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_rbac_roles timestamp=2022-07-01T04:38:42.240Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_rbac_role_bindings:1 context=arn:aws:eks:eu-west-1::cluster/ count=31 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_rbac_role_bindings timestamp=2022-07-01T04:38:42.312Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_apps_deployments:1 context=arn:aws:eks:eu-west-1::cluster/ count=42 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_apps_deployments timestamp=2022-07-01T04:38:42.412Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_core_services:1 context=arn:aws:eks:eu-west-1::cluster/ count=57 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_core_services timestamp=2022-07-01T04:38:42.505Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_core_service_accounts:1 context=arn:aws:eks:eu-west-1::cluster/ count=87 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_core_service_accounts timestamp=2022-07-01T04:38:42.671Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_core_endpoints:1 context=arn:aws:eks:eu-west-1::cluster/ count=57 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_core_endpoints timestamp=2022-07-01T04:38:43.044Z
    4:38AM INF fetched successfully @module=k8s client_id=k8s_core_pods:1 context=arn:aws:eks:eu-west-1::cluster/ count=207 instance_id=bb7b16a8-7bd4-4cf3-9549-359d97d11680 table=k8s_core_pods timestamp=2022-07-01T04:38:49.702Z
    

    Steps to Reproduce

    cloudquery init
    cloudquery fetch
    
  • Cloudquery deletes data from other tables if provided list of tables in source config

    Cloudquery deletes data from other tables if provided list of tables in source config

    By default CQ runs for all tables but when a configuration as mentioned below is provided, data is getting deleted from other tables as well.

    This is the case with overwrite-delete-stale mode in postgres destination. Sharing the config files below -

    aws.yml

    kind: source
    spec:
      name: "aws_667292283479"
      path: "cloudquery/aws"
      version: "v5.1.2"
      destinations: ["postgresql"]
      tables: 
      - aws_rds_engine_versions
      - aws_rds_cluster_parameters
    

    rds.yml

    kind: destination
    spec:
      name: "postgresql"
      path: "cloudquery/postgresql"
      version: "v1.7.10" 
      write_mode: "overwrite-delete-stale" # overwrite, overwrite-delete-stale, append
    
  • very poor performance on aws_emr_clusters

    very poor performance on aws_emr_clusters

    Describe the Bug

    with my source spec as such:

    kind: source
    spec:
      name: aws
      version: v1.0.1
      destinations:
        -  postgresql
      tables:
        - aws_emr_clusters
      spec:
        regions:
          - us-east-1
          - us-east-2
          - us-west-1
          - us-west-2
        accounts:
          - id: foursquare
            local_profile: foursquare-administrator`
    

    the cq-cli sync run immediately starts out at less than 10 resources per second

    have been troubleshooting poor perf for a few days now and I'm pretty sure I have narrowed it down to this table being the culprit

    Expected Behavior

    sync of aws_emr_clusters takes a "reasonable" amount of time I know that's hard to say what is reasonable but over the past months we've seen it take anywhere between 5-6 hours to nealry 24 hours

    CloudQuery Version

    started out with a 0.x but currently on cloudquery version 1.0.2 and 1.0.1 of the aws plugin and 1.0.0 of the postgres plugin

    Debug Output

    as of today I'm seeing no logs could be a regression of this issue I mentioned on Discord yesterday https://discord.com/channels/872925471417962546/873606591335759872/1026612519550320651 https://discord.com/channels/872925471417962546/873606591335759872/1026616765423308852

    Steps to Reproduce

    run cloudquery sync with a source plugin config'd as described at the beginning of this issue rpeort

    Additional Context

    References

    it's sort of related to https://github.com/cloudquery/cloudquery/issues/2299 only in that this all started with me going "why is this taking so long?"

  • Yandex Cloud provider publishing

    Yandex Cloud provider publishing

    Recently downloading yandex cloud provider via cloudquery init became unavailable. I suppose all we need to do is give you the link to the provider. https://github.com/yandex-cloud/cq-provider-yandex

  • Support IdentityStore

    Support IdentityStore

    IdentityStore is a key service in AWS at scale management. Add support for retrieving users and groups.

    https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/identitystore

  • Bug(destinations-BigQuery): Batch write failures with `Error 413 (Request Entity Too Large)`

    Bug(destinations-BigQuery): Batch write failures with `Error 413 (Request Entity Too Large)`

    Could be related to https://discord.com/channels/872925471417962546/1057191097648033833/1057356930928082984 (waiting for further logs).

    I was able to reproduce this error on our cq-playground account with the following configuration (I kept only the tables that generate the errors):

    kind: source
    spec:
      name: aws
      version: v9.0.1
      destinations: [bigquery]
      path: cloudquery/aws
      tables: [aws_docdb_cluster_parameter_groups, aws_ec2_instance_types, aws_rds_engine_versions]
    ---
    kind: destination
    spec:
      name: bigquery
      path: cloudquery/bigquery
      version: "v1.3.1"
      write_mode: "append"
      spec:
        project_id: <project-id>
        dataset_id: <datatest-id>
    

    Also, at some point it seems CloudQuery is hanging, the source plugin reports the sync finished, but the CLI is stuck on Syncing resources

  • feat(gcp-resources): Add Cloud Deploy

    feat(gcp-resources): Add Cloud Deploy

    Summary

    Relevant API https://cloud.google.com/deploy/docs/api/reference/rest Tested by following https://cloud.google.com/deploy/docs/deploy-app-gke

  • feat(gcp-resources): Add Certificate Manager

    feat(gcp-resources): Add Certificate Manager

    Summary

    Relevant API https://cloud.google.com/certificate-manager/docs/reference/rest. This API support wildcard location (/locations/-) so no need to list the locations

Go-Postgresql-Query-Builder - A query builder for Postgresql in Go

Postgresql Query Builder for Go This query builder aims to make complex queries

Nov 17, 2022
RecordLite: a library (and executable) that declaratively maintains SQLite tables and views of semi-structured data

RecordLite RecordLite is a library (and executable) that declaratively maintains

May 29, 2022
Inflection is a string transformation library. It transforms strings from CamelCase to underscored string.

Inflection Inflection is a string transformation library. It transforms strings from CamelCase to underscored string. This is an implement of Inflecti

Jul 25, 2022
An experimental toolkit for injecting alternate authentication strategies into a PostgreSQL-compatible wire format.

PG Auth Proxy This is an experimental toolkit for injecting alternate authentication strategies into a PostgreSQL-compatible wire format. This is a pr

Jan 20, 2022
WAL-G is an archival restoration tool for PostgreSQL, MySQL/MariaDB, and MS SQL Server (beta for MongoDB and Redis).

WAL-G is an archival restoration tool for PostgreSQL, MySQL/MariaDB, and MS SQL Server (beta for MongoDB and Redis).

Jan 1, 2023
pREST (PostgreSQL REST), simplify and accelerate development, ⚡ instant, realtime, high-performance on any Postgres application, existing or new

pREST pREST (PostgreSQL REST), simplify and accelerate development, instant, realtime, high-performance on any Postgres application, existing or new P

Jan 9, 2023
Interactive client for PostgreSQL and MySQL
Interactive client for PostgreSQL and MySQL

dblab Interactive client for PostgreSQL and MySQL. Overview dblab is a fast and lightweight interactive terminal based UI application for PostgreSQL a

Jan 8, 2023
Interactive terminal user interface and CLI for database connections. MySQL, PostgreSQL. More to come.
Interactive terminal user interface and CLI for database connections. MySQL, PostgreSQL. More to come.

?? dbui dbui is the terminal user interface and CLI for database connections. It provides features like, Connect to multiple data sources and instance

Jan 5, 2023
PolarDB Cluster Manager is the cluster management component of PolarDB for PostgreSQL, responsible for topology management, high availability, configuration management, and plugin extensions.

What is PolarDB Cluster Manager PolarDB Cluster Manager is the cluster management component of PolarDB for PostgreSQL, responsible for topology manage

Nov 9, 2022
pg_timetable: Advanced scheduling for PostgreSQL
pg_timetable: Advanced scheduling for PostgreSQL

pg_timetable: Advanced scheduling for PostgreSQL pg_timetable is an advanced job scheduler for PostgreSQL, offering many advantages over traditional s

Dec 29, 2022
Cross-platform client for PostgreSQL databases

pgweb Web-based PostgreSQL database browser written in Go. Overview Pgweb is a web-based database browser for PostgreSQL, written in Go and works on O

Dec 30, 2022
PostgreSQL style Parser splitted from CockroachDB

What's this PostgreSQL style Parser splitted from CockroachDB See: Complex SQL format example

Jan 5, 2023
Enhanced PostgreSQL logical replication

pgcat - Enhanced postgresql logical replication Why pgcat? Architecture Build from source Install Run Conflict handling Table mapping Replication iden

Dec 21, 2022
Worker failover support for PostgreSQL Citus extension using pg_auto_failover.

citus-failover Worker failover support for citus community version using pg_auto_failover. What is this? This is a simple service to monitor changes i

Dec 7, 2022
Modify orca-zhang/borm in order to use in PostgreSQL

borm ??️ 针对 orca-zhang/borm 进行了修改,暂时只能兼容PostgreSQL 原因 在b站时候用过borm,用起来感觉非常简洁 自己学校里用PostgreSQL比较多 可变条件真的非常好用 问题 首先需要注意的是,这是写给PG的 PG 根本不存在某些 MySQL 独有的函数

Aug 24, 2022
Cross-platform client for PostgreSQL databases

pgweb Web-based PostgreSQL database browser written in Go. Overview Pgweb is a web-based database browser for PostgreSQL, written in Go and works on O

Dec 30, 2022
A simple Golang-based application that queries a PostgreSQL database

Qwik-E-Mart Demo App A simple Golang-based application that queries a PostgreSQL database named qwikemart to read and return customer data stored in t

Nov 6, 2021
Implemented PostgreSQL with Golang
Implemented PostgreSQL with Golang

Customer Information Web Api Implemented PostgreSQL with Golang docker run --name postgresql-container -p 5432:5432 -e POSTGRES_PASSWORD=Password! -d

Nov 15, 2021
Typescript type declaration to PostgreSQL CREATE TABLE converter

ts2psql NOTE: This is WIP. Details in this readme are ideal state. Current usage: go build && ./ts2psql (or go build && ts2psql if on Windows OS). A s

Jan 13, 2022