{"id":24611,"library":"soda-core-postgres","title":"Soda Core PostgreSQL","description":"Extends Soda Core to connect to PostgreSQL databases for data quality monitoring and testing. Current version 3.5.6, released on 2025-11-05. Release cadence is irregular, tied to soda-core releases.","status":"active","version":"3.5.6","language":"python","source_language":"en","source_url":"https://github.com/sodadata/soda-core","tags":["data-quality","testing","postgresql","soda"],"install":[{"cmd":"pip install soda-core-postgres","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core library required; soda-core-postgres is an extension.","package":"soda-core","optional":false},{"reason":"PostgreSQL driver; may need to pin version for compatibility.","package":"psycopg2-binary","optional":true}],"imports":[{"wrong":"from soda.scan import Scan","symbol":"Scan","correct":"from soda.scan import Scan"}],"quickstart":{"code":"from soda.scan import Scan\n\nscan = Scan()\nscan.set_scan_definition_name('test')\nscan.set_data_source_name('postgres')\nscan.add_configuration_yaml_str('''\ndata_source postgres:\n  type: postgres\n  host: localhost\n  port: 5432\n  username: ${POSTGRES_USER}\n  password: ${POSTGRES_PASSWORD}\n  database: postgres\n''')\nscan.add_sodacl_yaml_str('''\nchecks for dim_customer:\n  - row_count > 0\n''')\nexit_code = scan.execute()\nprint(scan.get_logs_text())","lang":"python","description":"Runs a Soda scan against a PostgreSQL table using environment variables for credentials."},"warnings":[{"fix":"Use 'type: postgres' in the YAML configuration.","message":"The configuration file must use 'type: postgres' exactly. Using 'postgresql' or other variants will fail silently.","severity":"gotcha","affected_versions":"all"},{"fix":"Run 'pip install psycopg2-binary' or 'pip install asyncpg' in the same environment.","message":"Soda Core requires the PostgreSQL driver (psycopg2 or asyncpg) to be installed separately. soda-core-postgres does not install it automatically.","severity":"gotcha","affected_versions":"all"},{"fix":"Write 'data_source postgres:' exactly as lower_snake_case.","message":"The 'data_source' key in YAML must be lowercase; using 'data_source: Postgres' (capitalized) will be ignored.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'-05':25 '-11':24 '2025':23 '3.5.6':20 'cadenc':27 'connect':8 'core':2,6,34 'current':18 'data':13,37 'data-qu':36 'databas':11 'extend':4 'irregular':29 'monitor':15 'postgresql':3,10,40 'qualiti':14,38 'releas':21,26,35 'soda':1,5,33,41 'soda-cor':32 'test':17,39 'tie':30 'version':19","created_at":"2026-05-01T08:14:00.310225+00:00","updated_at":"2026-05-01T08:14:00.310225+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/tmp/tmp87kjir4d/venv/lib/python3.12/site-packages/soda/scan.py\", line 12, in <module>\n    from soda.common.env_helper import EnvHelper\n  File \"/tmp/tmp87kjir4d/venv/lib/python3.12/site-packages/soda/common/env_helper."},"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"3.5.6","cli_name":"soda","cli_version":"soda-core, version 3.5.6","type":"library","homepage":"https://www.soda.io","github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/soda-core-postgres/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["database","testing","data"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}