
Product
Introducing Socket Firewall Enterprise: Flexible, Configurable Protection for Modern Package Ecosystems
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.
bigquery-fdw
Advanced tools
|Pypi| |Build Status| |codecov| |MIT licensed|
bigquery_fdw is a BigQuery foreign data wrapper for PostgreSQL using
Multicorn <https://github.com/Segfault-Inc/Multicorn>__.
It allows to write queries in PostgreSQL SQL syntax using a foreign
table. It supports most of BigQuery’s data types <docs/data_types.md>__ and operators <docs/operators.md>__.
You can use partitions in your SQL queries <docs/table_partitioning.md>__.Service Account <docs/service_account.md>__” Json private keyRead more <docs/README.md>__.
Using docker
See `getting started with Docker <docs/docker.md>`__
Installation on Debian/Ubuntu
Dependencies required to install bigquery_fdw: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
You need to install the following dependencies:
.. code:: bash
apt update apt install -y postgresql-server-dev-14 python3-setuptools python3-dev make gcc git
All PostgreSQL versions from 9.2 to 14 should be supported.
Installation ^^^^^^^^^^^^
.. code:: bash
git clone https://github.com/pgsql-io/multicorn2.git Multicorn && cd Multicorn make && make install
pip3 install bigquery-fdw
Major dependencies installed automatically during the installation process:
Google Cloud BigQuery <https://pypi.org/project/google-cloud-bigquery/>__Multicorn <https://github.com/pgsql-io/multicorn2>__bigquery_fdw relies on Google Cloud API’s default authentication <https://cloud.google.com/docs/authentication/getting-started#linux-or-macos>__.
Your need to have an environment variable
GOOGLE_APPLICATION_CREDENTIALS that has to be accessible by
bigquery_fdw. Setting environment variables varies depending on OS but
for Ubuntu or Debian, the preferred way is to edit
/etc/postgresql/[version]/main/environment and add:
::
GOOGLE_APPLICATION_CREDENTIALS = '/path/to/key.json'
Restarting PostgreSQL is required for the environment variable to be loaded.
We recommend testing the BigQuery client connectivity <docs/test_client.md>__ before trying to use the FDW.
With psql:
.. code:: sql
CREATE EXTENSION multicorn;
CREATE SERVER bigquery_srv FOREIGN DATA WRAPPER multicorn OPTIONS ( wrapper 'bigquery_fdw.fdw.ConstantForeignDataWrapper' );
CREATE FOREIGN TABLE my_bigquery_table ( column1 text, column2 bigint ) SERVER bigquery_srv OPTIONS ( fdw_dataset 'my_dataset', fdw_table 'my_table' );
List of options implemented in CREATE FOREIGN TABLE syntax:
+--------------------------+---------------------+---------------------+
| Option | Default | Description |
+==========================+=====================+=====================+
| fdw_dataset | - | BigQuery dataset |
| | | name |
+--------------------------+---------------------+---------------------+
| fdw_table | - | BigQuery table name |
+--------------------------+---------------------+---------------------+
| fdw_convert_tz | - | Convert BigQuery |
| | | time zone for dates |
| | | and timestamps to |
| | | selected time zone. |
| | | Example: |
| | | 'US/Eastern'. |
+--------------------------+---------------------+---------------------+
| fdw_group | 'false' | See Remote | | | | grouping and | | | | counting <docs/remo | | | | te_grouping.md>. |
+--------------------------+---------------------+---------------------+
| fdw_casting | - | See |
| | | Casting <d | | | | ocs/casting.md>. |
+--------------------------+---------------------+---------------------+
| fdw_verbose | 'false' | Set to 'true' |
| | | to output debug |
| | | information in |
| | | PostrgeSQL’s logs |
+--------------------------+---------------------+---------------------+
| fdw_sql_dialect | 'standard' | BigQuery SQL |
| | | dialect. Currently |
| | | only standard |
| | | is supported. |
+--------------------------+---------------------+---------------------+
See bigquery_fdw documentation <docs/README.md>__.
.. |Pypi| image:: https://img.shields.io/pypi/v/bigquery-fdw.svg :target: https://pypi.org/project/bigquery-fdw/ .. |Build Status| image:: https://github.com/gabfl/bigquery_fdw/actions/workflows/ci.yml/badge.svg?branch=main :target: https://github.com/gabfl/bigquery_fdw/actions .. |codecov| image:: https://codecov.io/gh/gabfl/bigquery_fdw/branch/main/graph/badge.svg :target: https://codecov.io/gh/gabfl/bigquery_fdw .. |MIT licensed| image:: https://img.shields.io/badge/license-MIT-green.svg :target: https://raw.githubusercontent.com/gabfl/bigquery_fdw/main/LICENSE
FAQs
BigQuery Foreign Data Wrapper for PostgreSQL
We found that bigquery-fdw demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Socket Firewall Enterprise is now available with flexible deployment, configurable policies, and expanded language support.

Security News
Open source dashboard CNAPulse tracks CVE Numbering Authorities’ publishing activity, highlighting trends and transparency across the CVE ecosystem.

Product
Detect malware, unsafe data flows, and license issues in GitHub Actions with Socket’s new workflow scanning support.