Warning: Permanently added '23.22.130.253' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/6133974-fedora-rawhide-x86_64 --chroot fedora-rawhide-x86_64 Version: 0.68 PID: 12805 Logging PID: 12806 Task: {'appstream': False, 'background': False, 'build_id': 6133974, 'buildroot_pkgs': [], 'chroot': 'fedora-rawhide-x86_64', 'enable_net': False, 'fedora_review': False, 'git_hash': 'e6687b4933574f4e2d9b732fbe11903e71b2f9e4', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/thrnciar/python-sqlalchemy-46af3ba5/python-sqlalchemy-utils', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'python-sqlalchemy-utils', 'package_version': '0.41.1-1', 'project_dirname': 'python-sqlalchemy-46af3ba5', 'project_name': 'python-sqlalchemy-46af3ba5', 'project_owner': 'thrnciar', 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/thrnciar/python-sqlalchemy-46af3ba5/fedora-rawhide-x86_64/', 'id': 'copr_base', 'name': 'Copr repository'}], 'sandbox': 'thrnciar/python-sqlalchemy-46af3ba5--thrnciar', 'source_json': {}, 'source_type': None, 'submitter': 'thrnciar', 'tags': [], 'task_id': '6133974-fedora-rawhide-x86_64', 'timeout': 18000, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/thrnciar/python-sqlalchemy-46af3ba5/python-sqlalchemy-utils /var/lib/copr-rpmbuild/workspace/workdir-uif_khfu/python-sqlalchemy-utils --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/thrnciar/python-sqlalchemy-46af3ba5/python-sqlalchemy-utils', '/var/lib/copr-rpmbuild/workspace/workdir-uif_khfu/python-sqlalchemy-utils', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-uif_khfu/python-sqlalchemy-utils'... Running: git checkout e6687b4933574f4e2d9b732fbe11903e71b2f9e4 -- cmd: ['git', 'checkout', 'e6687b4933574f4e2d9b732fbe11903e71b2f9e4', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-uif_khfu/python-sqlalchemy-utils rc: 0 stdout: stderr: Note: switching to 'e6687b4933574f4e2d9b732fbe11903e71b2f9e4'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at e6687b4 automatic import of python-sqlalchemy-utils Running: copr-distgit-client sources cmd: ['copr-distgit-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-uif_khfu/python-sqlalchemy-utils rc: 0 stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources INFO: Downloading SQLAlchemy-Utils-0.41.1.tar.gz INFO: Calling: curl -H Pragma: -o SQLAlchemy-Utils-0.41.1.tar.gz --location --remote-time --show-error --fail https://copr-dist-git.fedorainfracloud.org/repo/pkgs/thrnciar/python-sqlalchemy-46af3ba5/python-sqlalchemy-utils/SQLAlchemy-Utils-0.41.1.tar.gz/md5/424dc2d49b600d31eddf871dfd34650c/SQLAlchemy-Utils-0.41.1.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 133k 100 133k 0 0 2785k 0 --:--:-- --:--:-- --:--:-- 2837k INFO: Reading stdout from command: md5sum SQLAlchemy-Utils-0.41.1.tar.gz /usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated Running (timeout=18000): unbuffer mock --buildsrpm --spec /var/lib/copr-rpmbuild/workspace/workdir-uif_khfu/python-sqlalchemy-utils/python-sqlalchemy-utils.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-uif_khfu/python-sqlalchemy-utils --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1688303036.090485 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 4.1 starting (python version = 3.11.3, NVR = mock-4.1-1.fc38)... Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-uif_khfu/python-sqlalchemy-utils/python-sqlalchemy-utils.spec) Config(fedora-rawhide-x86_64) Start: clean chroot Finish: clean chroot Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1688303036.090485/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: enabled HW Info plugin Mock Version: 4.1 INFO: Mock Version: 4.1 INFO: Package manager dnf detected and used (fallback) Start(bootstrap): installing dnf tooling No matches found for the following disable plugin patterns: local, spacewalk, versionlock Updating Subscription Management repositories. Unable to read consumer identity This system is not registered with an entitlement server. You can use subscription-manager to register. Copr repository 1.4 MB/s | 86 kB 00:00 fedora 50 MB/s | 71 MB 00:01 Dependencies resolved. ================================================================================ Package Arch Version Repo Size ================================================================================ Installing: dnf-plugins-core noarch 4.4.1-3.fc39 fedora 38 k python3-dnf noarch 4.16.1-2.fc39 fedora 604 k Installing dependencies: alternatives x86_64 1.24-1.fc39 fedora 39 k audit-libs x86_64 3.1.1-1.fc39 fedora 117 k basesystem noarch 11-17.fc39 fedora 7.0 k bash x86_64 5.2.15-3.fc38 fedora 1.8 M bzip2-libs x86_64 1.0.8-13.fc38 fedora 41 k ca-certificates noarch 2023.2.60-2.fc38 fedora 845 k coreutils x86_64 9.3-1.fc39 fedora 1.1 M coreutils-common x86_64 9.3-1.fc39 fedora 2.1 M crypto-policies noarch 20230614-1.git5f3458e.fc39 fedora 94 k curl x86_64 8.1.2-1.fc39 fedora 345 k cyrus-sasl-lib x86_64 2.1.28-10.fc39 fedora 792 k dbus-libs x86_64 1:1.14.8-1.fc39 fedora 156 k dnf-data noarch 4.16.1-2.fc39 fedora 38 k elfutils-default-yama-scope noarch 0.189-2.fc39 fedora 15 k elfutils-libelf x86_64 0.189-2.fc39 fedora 196 k elfutils-libs x86_64 0.189-2.fc39 fedora 260 k expat x86_64 2.5.0-2.fc38 fedora 110 k fedora-gpg-keys noarch 39-0.1 fedora 126 k fedora-release noarch 39-0.14 fedora 6.6 k fedora-release-common noarch 39-0.14 fedora 17 k fedora-release-identity-basic noarch 39-0.14 fedora 7.4 k fedora-repos noarch 39-0.1 fedora 9.4 k fedora-repos-rawhide noarch 39-0.1 fedora 9.0 k file-libs x86_64 5.44-3.fc39 fedora 730 k filesystem x86_64 3.18-4.fc39 fedora 1.1 M findutils x86_64 1:4.9.0-4.fc39 fedora 491 k fmt x86_64 10.0.0-2.fc39 fedora 127 k gawk x86_64 5.2.2-1.fc39 fedora 1.1 M gdbm-libs x86_64 1:1.23-3.fc38 fedora 56 k glib2 x86_64 2.76.3-1.fc39 fedora 2.8 M glibc x86_64 2.37.9000-15.fc39 fedora 2.1 M glibc-common x86_64 2.37.9000-15.fc39 fedora 339 k glibc-minimal-langpack x86_64 2.37.9000-15.fc39 fedora 61 k gmp x86_64 1:6.2.1-4.fc38 fedora 313 k gnupg2 x86_64 2.4.2-2.fc39 fedora 2.6 M gnutls x86_64 3.8.0-6.fc39 fedora 1.1 M gpgme x86_64 1.20.0-3.fc39 fedora 210 k grep x86_64 3.11-1.fc39 fedora 298 k ima-evm-utils x86_64 1.5-1.fc39 fedora 63 k json-c x86_64 0.16-4.fc38 fedora 41 k keyutils-libs x86_64 1.6.1-6.fc38 fedora 31 k krb5-libs x86_64 1.21-1.fc39 fedora 765 k libacl x86_64 2.3.1-7.fc39 fedora 23 k libarchive x86_64 3.6.1-5.fc39 fedora 400 k libassuan x86_64 2.5.6-1.fc39 fedora 67 k libattr x86_64 2.5.1-7.fc39 fedora 18 k libb2 x86_64 0.98.1-8.fc38 fedora 25 k libblkid x86_64 2.39.1-1.fc39 fedora 116 k libbrotli x86_64 1.0.9-11.fc38 fedora 317 k libcap x86_64 2.48-6.fc38 fedora 67 k libcap-ng x86_64 0.8.3-5.fc38 fedora 32 k libcom_err x86_64 1.47.0-1.fc39 fedora 26 k libcomps x86_64 0.1.19-1.fc39 fedora 77 k libcurl x86_64 8.1.2-1.fc39 fedora 323 k libdnf x86_64 0.70.1-3.fc39 fedora 667 k libdnf5 x86_64 5.0.15-2.fc39 fedora 877 k libeconf x86_64 0.4.0-5.fc38 fedora 27 k libevent x86_64 2.1.12-8.fc38 fedora 257 k libffi x86_64 3.4.4-2.fc38 fedora 38 k libfsverity x86_64 1.4-9.fc38 fedora 19 k libgcc x86_64 13.1.1-4.fc39 fedora 107 k libgcrypt x86_64 1.10.2-1.fc39 fedora 514 k libgomp x86_64 13.1.1-4.fc39 fedora 317 k libgpg-error x86_64 1.47-1.fc39 fedora 230 k libidn2 x86_64 2.3.4-2.fc38 fedora 160 k libksba x86_64 1.6.4-1.fc39 fedora 159 k libmodulemd x86_64 2.15.0-3.fc39 fedora 232 k libmount x86_64 2.39.1-1.fc39 fedora 155 k libnghttp2 x86_64 1.54.0-1.fc39 fedora 75 k libnsl2 x86_64 2.0.0-5.fc38 fedora 30 k libpsl x86_64 0.21.2-3.fc39 fedora 63 k librepo x86_64 1.15.1-2.fc38 fedora 96 k libreport-filesystem noarch 2.17.11-1.fc39 fedora 14 k libselinux x86_64 3.5-1.fc39 fedora 87 k libsemanage x86_64 3.5-2.fc39 fedora 120 k libsepol x86_64 3.5-1.fc39 fedora 324 k libsigsegv x86_64 2.14-4.fc38 fedora 27 k libsmartcols x86_64 2.39.1-1.fc39 fedora 67 k libsolv x86_64 0.7.24-4.fc39 fedora 425 k libssh x86_64 0.10.5-1.fc39 fedora 211 k libssh-config noarch 0.10.5-1.fc39 fedora 9.0 k libstdc++ x86_64 13.1.1-4.fc39 fedora 861 k libtasn1 x86_64 4.19.0-2.fc38 fedora 74 k libtirpc x86_64 1.3.3-1.rc1.fc39 fedora 93 k libunistring x86_64 1.1-3.fc38 fedora 545 k libunistring1.0 x86_64 1.0-1.fc38 fedora 539 k libuuid x86_64 2.39.1-1.fc39 fedora 28 k libverto x86_64 0.3.2-5.fc38 fedora 21 k libxcrypt x86_64 4.4.35-1.fc39 fedora 119 k libxml2 x86_64 2.10.4-1.fc39 fedora 700 k libyaml x86_64 0.2.5-9.fc38 fedora 59 k libzstd x86_64 1.5.5-1.fc39 fedora 308 k lua-libs x86_64 5.4.4-9.fc39 fedora 133 k lz4-libs x86_64 1.9.4-3.fc39 fedora 67 k mpdecimal x86_64 2.5.1-6.fc38 fedora 89 k mpfr x86_64 4.1.1-3.fc38 fedora 600 k ncurses-base noarch 6.4-5.20230520.fc39 fedora 88 k ncurses-libs x86_64 6.4-5.20230520.fc39 fedora 336 k nettle x86_64 3.9.1-1.fc39 fedora 425 k npth x86_64 1.6-13.fc39 fedora 24 k openldap x86_64 2.6.4-2.fc39 fedora 255 k openssl-libs x86_64 1:3.0.8-2.fc39 fedora 2.1 M p11-kit x86_64 0.24.1-6.fc38 fedora 359 k p11-kit-trust x86_64 0.24.1-6.fc38 fedora 136 k pcre2 x86_64 10.42-1.fc38.1 fedora 234 k pcre2-syntax noarch 10.42-1.fc38.1 fedora 144 k popt x86_64 1.19-2.fc38 fedora 67 k publicsuffix-list-dafsa noarch 20230614-1.fc39 fedora 57 k python-pip-wheel noarch 23.1.2-1.fc39 fedora 1.4 M python-setuptools-wheel noarch 67.7.2-2.fc39 fedora 661 k python3 x86_64 3.11.4-1.fc39 fedora 28 k python3-dateutil noarch 1:2.8.2-6.fc39 fedora 360 k python3-dbus x86_64 1.3.2-2.fc38 fedora 157 k python3-distro noarch 1.8.0-4.fc39 fedora 49 k python3-dnf-plugins-core noarch 4.4.1-3.fc39 fedora 299 k python3-gpg x86_64 1.20.0-3.fc39 fedora 297 k python3-hawkey x86_64 0.70.1-3.fc39 fedora 107 k python3-libcomps x86_64 0.1.19-1.fc39 fedora 47 k python3-libdnf x86_64 0.70.1-3.fc39 fedora 826 k python3-libs x86_64 3.11.4-1.fc39 fedora 9.6 M python3-rpm x86_64 4.18.91-6.fc39 fedora 67 k python3-six noarch 1.16.0-9.fc38 fedora 42 k python3-systemd x86_64 235-2.fc38 fedora 108 k readline x86_64 8.2-3.fc38 fedora 212 k rpm x86_64 4.18.91-6.fc39 fedora 529 k rpm-build-libs x86_64 4.18.91-6.fc39 fedora 95 k rpm-libs x86_64 4.18.91-6.fc39 fedora 309 k rpm-sequoia x86_64 1.4.1-1.fc39 fedora 843 k rpm-sign-libs x86_64 4.18.91-6.fc39 fedora 26 k sed x86_64 4.8-12.fc38 fedora 306 k setup noarch 2.14.3-3.fc39 fedora 152 k shadow-utils x86_64 2:4.13-7.fc39 fedora 1.3 M sqlite-libs x86_64 3.41.2-3.fc39 fedora 669 k systemd-libs x86_64 253.5-6.fc39 fedora 652 k tpm2-tss x86_64 4.0.1-3.fc38 fedora 675 k tzdata noarch 2023c-1.fc39 fedora 718 k xz-libs x86_64 5.4.3-1.fc39 fedora 108 k zchunk-libs x86_64 1.3.1-1.fc39 fedora 52 k zlib x86_64 1.2.13-3.fc38 fedora 95 k Transaction Summary ================================================================================ Install 141 Packages Total download size: 59 M Installed size: 205 M Downloading Packages: (1/141): alternatives-1.24-1.fc39.x86_64.rpm 1.5 MB/s | 39 kB 00:00 (2/141): basesystem-11-17.fc39.noarch.rpm 271 kB/s | 7.0 kB 00:00 (3/141): audit-libs-3.1.1-1.fc39.x86_64.rpm 4.2 MB/s | 117 kB 00:00 (4/141): bash-5.2.15-3.fc38.x86_64.rpm 294 MB/s | 1.8 MB 00:00 (5/141): bzip2-libs-1.0.8-13.fc38.x86_64.rpm 5.5 MB/s | 41 kB 00:00 (6/141): ca-certificates-2023.2.60-2.fc38.noarc 100 MB/s | 845 kB 00:00 (7/141): coreutils-9.3-1.fc39.x86_64.rpm 233 MB/s | 1.1 MB 00:00 (8/141): coreutils-common-9.3-1.fc39.x86_64.rpm 322 MB/s | 2.1 MB 00:00 (9/141): crypto-policies-20230614-1.git5f3458e. 13 MB/s | 94 kB 00:00 (10/141): curl-8.1.2-1.fc39.x86_64.rpm 73 MB/s | 345 kB 00:00 (11/141): cyrus-sasl-lib-2.1.28-10.fc39.x86_64. 277 MB/s | 792 kB 00:00 (12/141): dbus-libs-1.14.8-1.fc39.x86_64.rpm 29 MB/s | 156 kB 00:00 (13/141): dnf-plugins-core-4.4.1-3.fc39.noarch. 14 MB/s | 38 kB 00:00 (14/141): dnf-data-4.16.1-2.fc39.noarch.rpm 6.7 MB/s | 38 kB 00:00 (15/141): elfutils-default-yama-scope-0.189-2.f 11 MB/s | 15 kB 00:00 (16/141): elfutils-libelf-0.189-2.fc39.x86_64.r 105 MB/s | 196 kB 00:00 (17/141): elfutils-libs-0.189-2.fc39.x86_64.rpm 102 MB/s | 260 kB 00:00 (18/141): fedora-gpg-keys-39-0.1.noarch.rpm 107 MB/s | 126 kB 00:00 (19/141): expat-2.5.0-2.fc38.x86_64.rpm 23 MB/s | 110 kB 00:00 (20/141): fedora-release-39-0.14.noarch.rpm 2.3 MB/s | 6.6 kB 00:00 (21/141): fedora-release-common-39-0.14.noarch. 6.0 MB/s | 17 kB 00:00 (22/141): fedora-release-identity-basic-39-0.14 7.2 MB/s | 7.4 kB 00:00 (23/141): fedora-repos-39-0.1.noarch.rpm 6.7 MB/s | 9.4 kB 00:00 (24/141): fedora-repos-rawhide-39-0.1.noarch.rp 6.0 MB/s | 9.0 kB 00:00 (25/141): file-libs-5.44-3.fc39.x86_64.rpm 257 MB/s | 730 kB 00:00 (26/141): filesystem-3.18-4.fc39.x86_64.rpm 205 MB/s | 1.1 MB 00:00 (27/141): findutils-4.9.0-4.fc39.x86_64.rpm 92 MB/s | 491 kB 00:00 (28/141): gawk-5.2.2-1.fc39.x86_64.rpm 292 MB/s | 1.1 MB 00:00 (29/141): fmt-10.0.0-2.fc39.x86_64.rpm 19 MB/s | 127 kB 00:00 (30/141): gdbm-libs-1.23-3.fc38.x86_64.rpm 11 MB/s | 56 kB 00:00 (31/141): glibc-2.37.9000-15.fc39.x86_64.rpm 237 MB/s | 2.1 MB 00:00 (32/141): glibc-common-2.37.9000-15.fc39.x86_64 37 MB/s | 339 kB 00:00 (33/141): glibc-minimal-langpack-2.37.9000-15.f 16 MB/s | 61 kB 00:00 (34/141): glib2-2.76.3-1.fc39.x86_64.rpm 156 MB/s | 2.8 MB 00:00 (35/141): gmp-6.2.1-4.fc38.x86_64.rpm 51 MB/s | 313 kB 00:00 (36/141): gpgme-1.20.0-3.fc39.x86_64.rpm 37 MB/s | 210 kB 00:00 (37/141): gnutls-3.8.0-6.fc39.x86_64.rpm 127 MB/s | 1.1 MB 00:00 (38/141): gnupg2-2.4.2-2.fc39.x86_64.rpm 165 MB/s | 2.6 MB 00:00 (39/141): grep-3.11-1.fc39.x86_64.rpm 52 MB/s | 298 kB 00:00 (40/141): ima-evm-utils-1.5-1.fc39.x86_64.rpm 15 MB/s | 63 kB 00:00 (41/141): keyutils-libs-1.6.1-6.fc38.x86_64.rpm 28 MB/s | 31 kB 00:00 (42/141): json-c-0.16-4.fc38.x86_64.rpm 16 MB/s | 41 kB 00:00 (43/141): krb5-libs-1.21-1.fc39.x86_64.rpm 195 MB/s | 765 kB 00:00 (44/141): libacl-2.3.1-7.fc39.x86_64.rpm 6.7 MB/s | 23 kB 00:00 (45/141): libarchive-3.6.1-5.fc39.x86_64.rpm 146 MB/s | 400 kB 00:00 (46/141): libattr-2.5.1-7.fc39.x86_64.rpm 17 MB/s | 18 kB 00:00 (47/141): libassuan-2.5.6-1.fc39.x86_64.rpm 20 MB/s | 67 kB 00:00 (48/141): libblkid-2.39.1-1.fc39.x86_64.rpm 67 MB/s | 116 kB 00:00 (49/141): libb2-0.98.1-8.fc38.x86_64.rpm 8.7 MB/s | 25 kB 00:00 (50/141): libbrotli-1.0.9-11.fc38.x86_64.rpm 142 MB/s | 317 kB 00:00 (51/141): libcap-2.48-6.fc38.x86_64.rpm 30 MB/s | 67 kB 00:00 (52/141): libcap-ng-0.8.3-5.fc38.x86_64.rpm 16 MB/s | 32 kB 00:00 (53/141): libcom_err-1.47.0-1.fc39.x86_64.rpm 21 MB/s | 26 kB 00:00 (54/141): libcurl-8.1.2-1.fc39.x86_64.rpm 187 MB/s | 323 kB 00:00 (55/141): libcomps-0.1.19-1.fc39.x86_64.rpm 31 MB/s | 77 kB 00:00 (56/141): libdnf-0.70.1-3.fc39.x86_64.rpm 150 MB/s | 667 kB 00:00 (57/141): libeconf-0.4.0-5.fc38.x86_64.rpm 9.8 MB/s | 27 kB 00:00 (58/141): libevent-2.1.12-8.fc38.x86_64.rpm 141 MB/s | 257 kB 00:00 (59/141): libdnf5-5.0.15-2.fc39.x86_64.rpm 130 MB/s | 877 kB 00:00 (60/141): libffi-3.4.4-2.fc38.x86_64.rpm 14 MB/s | 38 kB 00:00 (61/141): libfsverity-1.4-9.fc38.x86_64.rpm 7.3 MB/s | 19 kB 00:00 (62/141): libgcc-13.1.1-4.fc39.x86_64.rpm 65 MB/s | 107 kB 00:00 (63/141): libgcrypt-1.10.2-1.fc39.x86_64.rpm 138 MB/s | 514 kB 00:00 (64/141): libgomp-13.1.1-4.fc39.x86_64.rpm 97 MB/s | 317 kB 00:00 (65/141): libidn2-2.3.4-2.fc38.x86_64.rpm 77 MB/s | 160 kB 00:00 (66/141): libgpg-error-1.47-1.fc39.x86_64.rpm 39 MB/s | 230 kB 00:00 (67/141): libmount-2.39.1-1.fc39.x86_64.rpm 93 MB/s | 155 kB 00:00 (68/141): libksba-1.6.4-1.fc39.x86_64.rpm 30 MB/s | 159 kB 00:00 (69/141): libmodulemd-2.15.0-3.fc39.x86_64.rpm 57 MB/s | 232 kB 00:00 (70/141): libnghttp2-1.54.0-1.fc39.x86_64.rpm 47 MB/s | 75 kB 00:00 (71/141): libnsl2-2.0.0-5.fc38.x86_64.rpm 26 MB/s | 30 kB 00:00 (72/141): libpsl-0.21.2-3.fc39.x86_64.rpm 35 MB/s | 63 kB 00:00 (73/141): librepo-1.15.1-2.fc38.x86_64.rpm 31 MB/s | 96 kB 00:00 (74/141): libselinux-3.5-1.fc39.x86_64.rpm 45 MB/s | 87 kB 00:00 (75/141): libreport-filesystem-2.17.11-1.fc39.n 4.5 MB/s | 14 kB 00:00 (76/141): libsemanage-3.5-2.fc39.x86_64.rpm 77 MB/s | 120 kB 00:00 (77/141): libsepol-3.5-1.fc39.x86_64.rpm 119 MB/s | 324 kB 00:00 (78/141): libsigsegv-2.14-4.fc38.x86_64.rpm 9.2 MB/s | 27 kB 00:00 (79/141): libsmartcols-2.39.1-1.fc39.x86_64.rpm 31 MB/s | 67 kB 00:00 (80/141): libssh-0.10.5-1.fc39.x86_64.rpm 80 MB/s | 211 kB 00:00 (81/141): libssh-config-0.10.5-1.fc39.noarch.rp 3.9 MB/s | 9.0 kB 00:00 (82/141): libsolv-0.7.24-4.fc39.x86_64.rpm 82 MB/s | 425 kB 00:00 (83/141): libstdc++-13.1.1-4.fc39.x86_64.rpm 260 MB/s | 861 kB 00:00 (84/141): libtasn1-4.19.0-2.fc38.x86_64.rpm 19 MB/s | 74 kB 00:00 (85/141): libtirpc-1.3.3-1.rc1.fc39.x86_64.rpm 25 MB/s | 93 kB 00:00 (86/141): libunistring-1.1-3.fc38.x86_64.rpm 205 MB/s | 545 kB 00:00 (87/141): libunistring1.0-1.0-1.fc38.x86_64.rpm 138 MB/s | 539 kB 00:00 (88/141): libuuid-2.39.1-1.fc39.x86_64.rpm 8.5 MB/s | 28 kB 00:00 (89/141): libverto-0.3.2-5.fc38.x86_64.rpm 6.9 MB/s | 21 kB 00:00 (90/141): libxcrypt-4.4.35-1.fc39.x86_64.rpm 37 MB/s | 119 kB 00:00 (91/141): libxml2-2.10.4-1.fc39.x86_64.rpm 147 MB/s | 700 kB 00:00 (92/141): libzstd-1.5.5-1.fc39.x86_64.rpm 86 MB/s | 308 kB 00:00 (93/141): lua-libs-5.4.4-9.fc39.x86_64.rpm 46 MB/s | 133 kB 00:00 (94/141): libyaml-0.2.5-9.fc38.x86_64.rpm 7.5 MB/s | 59 kB 00:00 (95/141): lz4-libs-1.9.4-3.fc39.x86_64.rpm 34 MB/s | 67 kB 00:00 (96/141): mpfr-4.1.1-3.fc38.x86_64.rpm 172 MB/s | 600 kB 00:00 (97/141): mpdecimal-2.5.1-6.fc38.x86_64.rpm 18 MB/s | 89 kB 00:00 (98/141): ncurses-base-6.4-5.20230520.fc39.noar 22 MB/s | 88 kB 00:00 (99/141): ncurses-libs-6.4-5.20230520.fc39.x86_ 141 MB/s | 336 kB 00:00 (100/141): npth-1.6-13.fc39.x86_64.rpm 19 MB/s | 24 kB 00:00 (101/141): openldap-2.6.4-2.fc39.x86_64.rpm 155 MB/s | 255 kB 00:00 (102/141): openssl-libs-3.0.8-2.fc39.x86_64.rpm 345 MB/s | 2.1 MB 00:00 (103/141): nettle-3.9.1-1.fc39.x86_64.rpm 41 MB/s | 425 kB 00:00 (104/141): p11-kit-0.24.1-6.fc38.x86_64.rpm 50 MB/s | 359 kB 00:00 (105/141): p11-kit-trust-0.24.1-6.fc38.x86_64.r 52 MB/s | 136 kB 00:00 (106/141): pcre2-10.42-1.fc38.1.x86_64.rpm 91 MB/s | 234 kB 00:00 (107/141): pcre2-syntax-10.42-1.fc38.1.noarch.r 42 MB/s | 144 kB 00:00 (108/141): popt-1.19-2.fc38.x86_64.rpm 17 MB/s | 67 kB 00:00 (109/141): publicsuffix-list-dafsa-20230614-1.f 15 MB/s | 57 kB 00:00 (110/141): python3-3.11.4-1.fc39.x86_64.rpm 6.5 MB/s | 28 kB 00:00 (111/141): python-setuptools-wheel-67.7.2-2.fc3 91 MB/s | 661 kB 00:00 (112/141): python-pip-wheel-23.1.2-1.fc39.noarc 118 MB/s | 1.4 MB 00:00 (113/141): python3-dbus-1.3.2-2.fc38.x86_64.rpm 36 MB/s | 157 kB 00:00 (114/141): python3-dateutil-2.8.2-6.fc39.noarch 51 MB/s | 360 kB 00:00 (115/141): python3-distro-1.8.0-4.fc39.noarch.r 24 MB/s | 49 kB 00:00 (116/141): python3-dnf-4.16.1-2.fc39.noarch.rpm 151 MB/s | 604 kB 00:00 (117/141): python3-dnf-plugins-core-4.4.1-3.fc3 66 MB/s | 299 kB 00:00 (118/141): python3-gpg-1.20.0-3.fc39.x86_64.rpm 65 MB/s | 297 kB 00:00 (119/141): python3-hawkey-0.70.1-3.fc39.x86_64. 31 MB/s | 107 kB 00:00 (120/141): python3-libcomps-0.1.19-1.fc39.x86_6 7.5 MB/s | 47 kB 00:00 (121/141): python3-libdnf-0.70.1-3.fc39.x86_64. 77 MB/s | 826 kB 00:00 (122/141): python3-rpm-4.18.91-6.fc39.x86_64.rp 10 MB/s | 67 kB 00:00 (123/141): python3-six-1.16.0-9.fc38.noarch.rpm 4.8 MB/s | 42 kB 00:00 (124/141): python3-systemd-235-2.fc38.x86_64.rp 14 MB/s | 108 kB 00:00 (125/141): readline-8.2-3.fc38.x86_64.rpm 61 MB/s | 212 kB 00:00 (126/141): rpm-4.18.91-6.fc39.x86_64.rpm 114 MB/s | 529 kB 00:00 (127/141): rpm-build-libs-4.18.91-6.fc39.x86_64 16 MB/s | 95 kB 00:00 (128/141): rpm-libs-4.18.91-6.fc39.x86_64.rpm 47 MB/s | 309 kB 00:00 (129/141): python3-libs-3.11.4-1.fc39.x86_64.rp 225 MB/s | 9.6 MB 00:00 (130/141): rpm-sequoia-1.4.1-1.fc39.x86_64.rpm 49 MB/s | 843 kB 00:00 (131/141): rpm-sign-libs-4.18.91-6.fc39.x86_64. 2.1 MB/s | 26 kB 00:00 (132/141): sed-4.8-12.fc38.x86_64.rpm 121 MB/s | 306 kB 00:00 (133/141): setup-2.14.3-3.fc39.noarch.rpm 105 MB/s | 152 kB 00:00 (134/141): shadow-utils-4.13-7.fc39.x86_64.rpm 262 MB/s | 1.3 MB 00:00 (135/141): sqlite-libs-3.41.2-3.fc39.x86_64.rpm 99 MB/s | 669 kB 00:00 (136/141): systemd-libs-253.5-6.fc39.x86_64.rpm 126 MB/s | 652 kB 00:00 (137/141): tpm2-tss-4.0.1-3.fc38.x86_64.rpm 156 MB/s | 675 kB 00:00 (138/141): tzdata-2023c-1.fc39.noarch.rpm 189 MB/s | 718 kB 00:00 (139/141): xz-libs-5.4.3-1.fc39.x86_64.rpm 24 MB/s | 108 kB 00:00 (140/141): zchunk-libs-1.3.1-1.fc39.x86_64.rpm 24 MB/s | 52 kB 00:00 (141/141): zlib-1.2.13-3.fc38.x86_64.rpm 73 MB/s | 95 kB 00:00 -------------------------------------------------------------------------------- Total 167 MB/s | 59 MB 00:00 fedora 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0x18B8E74C: Userid : "Fedora (39) " Fingerprint: E8F2 3996 F232 1864 0CB4 4CBE 75CF 5AC4 18B8 E74C From : /usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-39-primary Key imported successfully fedora 1.6 MB/s | 1.6 kB 00:00 GPG key at file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-39-primary (0x18B8E74C) is already installed fedora 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0xEB10B464: Userid : "Fedora (38) " Fingerprint: 6A51 BBAB BA3D 5467 B617 1221 809A 8D7C EB10 B464 From : /usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-38-primary Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Running scriptlet: filesystem-3.18-4.fc39.x86_64 1/1 Preparing : 1/1 Installing : libgcc-13.1.1-4.fc39.x86_64 1/141 Running scriptlet: libgcc-13.1.1-4.fc39.x86_64 1/141 Installing : tzdata-2023c-1.fc39.noarch 2/141 Installing : crypto-policies-20230614-1.git5f3458e.fc39.noarc 3/141 Running scriptlet: crypto-policies-20230614-1.git5f3458e.fc39.noarc 3/141 Installing : fedora-release-identity-basic-39-0.14.noarch 4/141 Installing : python-setuptools-wheel-67.7.2-2.fc39.noarch 5/141 Installing : publicsuffix-list-dafsa-20230614-1.fc39.noarch 6/141 Installing : pcre2-syntax-10.42-1.fc38.1.noarch 7/141 Installing : ncurses-base-6.4-5.20230520.fc39.noarch 8/141 Installing : libssh-config-0.10.5-1.fc39.noarch 9/141 Installing : libreport-filesystem-2.17.11-1.fc39.noarch 10/141 Installing : fedora-gpg-keys-39-0.1.noarch 11/141 Installing : fedora-release-39-0.14.noarch 12/141 Installing : fedora-release-common-39-0.14.noarch 13/141 Installing : fedora-repos-rawhide-39-0.1.noarch 14/141 Installing : fedora-repos-39-0.1.noarch 15/141 Installing : setup-2.14.3-3.fc39.noarch 16/141 Running scriptlet: setup-2.14.3-3.fc39.noarch 16/141 Installing : filesystem-3.18-4.fc39.x86_64 17/141 Installing : basesystem-11-17.fc39.noarch 18/141 Installing : glibc-minimal-langpack-2.37.9000-15.fc39.x86_64 19/141 Installing : glibc-common-2.37.9000-15.fc39.x86_64 20/141 Running scriptlet: glibc-2.37.9000-15.fc39.x86_64 21/141 Installing : glibc-2.37.9000-15.fc39.x86_64 21/141 Running scriptlet: glibc-2.37.9000-15.fc39.x86_64 21/141 Installing : ncurses-libs-6.4-5.20230520.fc39.x86_64 22/141 Installing : bash-5.2.15-3.fc38.x86_64 23/141 Running scriptlet: bash-5.2.15-3.fc38.x86_64 23/141 Installing : zlib-1.2.13-3.fc38.x86_64 24/141 Installing : bzip2-libs-1.0.8-13.fc38.x86_64 25/141 Installing : libzstd-1.5.5-1.fc39.x86_64 26/141 Installing : xz-libs-5.4.3-1.fc39.x86_64 27/141 Installing : libxml2-2.10.4-1.fc39.x86_64 28/141 Installing : sqlite-libs-3.41.2-3.fc39.x86_64 29/141 Installing : gmp-1:6.2.1-4.fc38.x86_64 30/141 Installing : libgpg-error-1.47-1.fc39.x86_64 31/141 Installing : libstdc++-13.1.1-4.fc39.x86_64 32/141 Installing : libcap-2.48-6.fc38.x86_64 33/141 Installing : libuuid-2.39.1-1.fc39.x86_64 34/141 Installing : readline-8.2-3.fc38.x86_64 35/141 Installing : libattr-2.5.1-7.fc39.x86_64 36/141 Installing : libacl-2.3.1-7.fc39.x86_64 37/141 Installing : libffi-3.4.4-2.fc38.x86_64 38/141 Installing : p11-kit-0.24.1-6.fc38.x86_64 39/141 Installing : libxcrypt-4.4.35-1.fc39.x86_64 40/141 Installing : pcre2-10.42-1.fc38.1.x86_64 41/141 Installing : popt-1.19-2.fc38.x86_64 42/141 Installing : libassuan-2.5.6-1.fc39.x86_64 43/141 Installing : elfutils-libelf-0.189-2.fc39.x86_64 44/141 Installing : expat-2.5.0-2.fc38.x86_64 45/141 Installing : gdbm-libs-1:1.23-3.fc38.x86_64 46/141 Installing : json-c-0.16-4.fc38.x86_64 47/141 Installing : keyutils-libs-1.6.1-6.fc38.x86_64 48/141 Installing : libcom_err-1.47.0-1.fc39.x86_64 49/141 Installing : libgomp-13.1.1-4.fc39.x86_64 50/141 Installing : libsepol-3.5-1.fc39.x86_64 51/141 Installing : libselinux-3.5-1.fc39.x86_64 52/141 Installing : sed-4.8-12.fc38.x86_64 53/141 Installing : libsmartcols-2.39.1-1.fc39.x86_64 54/141 Installing : libtasn1-4.19.0-2.fc38.x86_64 55/141 Installing : libunistring-1.1-3.fc38.x86_64 56/141 Installing : lua-libs-5.4.4-9.fc39.x86_64 57/141 Installing : lz4-libs-1.9.4-3.fc39.x86_64 58/141 Installing : systemd-libs-253.5-6.fc39.x86_64 59/141 Installing : dbus-libs-1:1.14.8-1.fc39.x86_64 60/141 Installing : findutils-1:4.9.0-4.fc39.x86_64 61/141 Installing : libb2-0.98.1-8.fc38.x86_64 62/141 Installing : cyrus-sasl-lib-2.1.28-10.fc39.x86_64 63/141 Installing : libcomps-0.1.19-1.fc39.x86_64 64/141 Installing : grep-3.11-1.fc39.x86_64 65/141 Installing : libblkid-2.39.1-1.fc39.x86_64 66/141 Installing : libmount-2.39.1-1.fc39.x86_64 67/141 Installing : fmt-10.0.0-2.fc39.x86_64 68/141 Installing : libgcrypt-1.10.2-1.fc39.x86_64 69/141 Installing : libksba-1.6.4-1.fc39.x86_64 70/141 Installing : mpfr-4.1.1-3.fc38.x86_64 71/141 Installing : nettle-3.9.1-1.fc39.x86_64 72/141 Installing : file-libs-5.44-3.fc39.x86_64 73/141 Installing : elfutils-default-yama-scope-0.189-2.fc39.noarch 74/141 Running scriptlet: elfutils-default-yama-scope-0.189-2.fc39.noarch 74/141 Installing : elfutils-libs-0.189-2.fc39.x86_64 75/141 Installing : alternatives-1.24-1.fc39.x86_64 76/141 Installing : p11-kit-trust-0.24.1-6.fc38.x86_64 77/141 Running scriptlet: p11-kit-trust-0.24.1-6.fc38.x86_64 77/141 Installing : libbrotli-1.0.9-11.fc38.x86_64 78/141 Installing : libcap-ng-0.8.3-5.fc38.x86_64 79/141 Installing : audit-libs-3.1.1-1.fc39.x86_64 80/141 Installing : libsemanage-3.5-2.fc39.x86_64 81/141 Installing : libeconf-0.4.0-5.fc38.x86_64 82/141 Installing : shadow-utils-2:4.13-7.fc39.x86_64 83/141 Installing : libnghttp2-1.54.0-1.fc39.x86_64 84/141 Installing : libsigsegv-2.14-4.fc38.x86_64 85/141 Installing : gawk-5.2.2-1.fc39.x86_64 86/141 Installing : libunistring1.0-1.0-1.fc38.x86_64 87/141 Installing : libidn2-2.3.4-2.fc38.x86_64 88/141 Installing : gnutls-3.8.0-6.fc39.x86_64 89/141 Installing : glib2-2.76.3-1.fc39.x86_64 90/141 Installing : libpsl-0.21.2-3.fc39.x86_64 91/141 Installing : libverto-0.3.2-5.fc38.x86_64 92/141 Installing : libyaml-0.2.5-9.fc38.x86_64 93/141 Installing : mpdecimal-2.5.1-6.fc38.x86_64 94/141 Installing : npth-1.6-13.fc39.x86_64 95/141 Installing : coreutils-common-9.3-1.fc39.x86_64 96/141 Installing : openssl-libs-1:3.0.8-2.fc39.x86_64 97/141 Installing : coreutils-9.3-1.fc39.x86_64 98/141 Running scriptlet: ca-certificates-2023.2.60-2.fc38.noarch 99/141 Installing : ca-certificates-2023.2.60-2.fc38.noarch 99/141 Running scriptlet: ca-certificates-2023.2.60-2.fc38.noarch 99/141 Installing : krb5-libs-1.21-1.fc39.x86_64 100/141 Installing : libtirpc-1.3.3-1.rc1.fc39.x86_64 101/141 Installing : zchunk-libs-1.3.1-1.fc39.x86_64 102/141 Installing : libnsl2-2.0.0-5.fc38.x86_64 103/141 Installing : libssh-0.10.5-1.fc39.x86_64 104/141 Installing : python-pip-wheel-23.1.2-1.fc39.noarch 105/141 Installing : python3-3.11.4-1.fc39.x86_64 106/141 Installing : python3-libs-3.11.4-1.fc39.x86_64 107/141 Installing : python3-libcomps-0.1.19-1.fc39.x86_64 108/141 Installing : python3-dbus-1.3.2-2.fc38.x86_64 109/141 Installing : python3-distro-1.8.0-4.fc39.noarch 110/141 Installing : python3-six-1.16.0-9.fc38.noarch 111/141 Installing : python3-dateutil-1:2.8.2-6.fc39.noarch 112/141 Installing : python3-systemd-235-2.fc38.x86_64 113/141 Installing : libarchive-3.6.1-5.fc39.x86_64 114/141 Installing : libevent-2.1.12-8.fc38.x86_64 115/141 Installing : openldap-2.6.4-2.fc39.x86_64 116/141 Installing : libcurl-8.1.2-1.fc39.x86_64 117/141 Running scriptlet: tpm2-tss-4.0.1-3.fc38.x86_64 118/141 useradd: Warning: missing or non-executable shell '/usr/sbin/nologin' Installing : tpm2-tss-4.0.1-3.fc38.x86_64 118/141 Installing : gnupg2-2.4.2-2.fc39.x86_64 119/141 Installing : gpgme-1.20.0-3.fc39.x86_64 120/141 Installing : librepo-1.15.1-2.fc38.x86_64 121/141 Installing : python3-gpg-1.20.0-3.fc39.x86_64 122/141 Installing : ima-evm-utils-1.5-1.fc39.x86_64 123/141 Installing : curl-8.1.2-1.fc39.x86_64 124/141 Installing : libfsverity-1.4-9.fc38.x86_64 125/141 Installing : rpm-sequoia-1.4.1-1.fc39.x86_64 126/141 Installing : rpm-libs-4.18.91-6.fc39.x86_64 127/141 Installing : libmodulemd-2.15.0-3.fc39.x86_64 128/141 Installing : libsolv-0.7.24-4.fc39.x86_64 129/141 Installing : libdnf-0.70.1-3.fc39.x86_64 130/141 Installing : python3-libdnf-0.70.1-3.fc39.x86_64 131/141 Installing : python3-hawkey-0.70.1-3.fc39.x86_64 132/141 Installing : libdnf5-5.0.15-2.fc39.x86_64 133/141 warning: /etc/dnf/dnf.conf created as /etc/dnf/dnf.conf.rpmnew Installing : dnf-data-4.16.1-2.fc39.noarch 134/141 Installing : rpm-build-libs-4.18.91-6.fc39.x86_64 135/141 Installing : rpm-sign-libs-4.18.91-6.fc39.x86_64 136/141 Installing : python3-rpm-4.18.91-6.fc39.x86_64 137/141 Installing : python3-dnf-4.16.1-2.fc39.noarch 138/141 Installing : python3-dnf-plugins-core-4.4.1-3.fc39.noarch 139/141 Installing : dnf-plugins-core-4.4.1-3.fc39.noarch 140/141 Running scriptlet: rpm-4.18.91-6.fc39.x86_64 141/141 Installing : rpm-4.18.91-6.fc39.x86_64 141/141 Running scriptlet: filesystem-3.18-4.fc39.x86_64 141/141 Running scriptlet: ca-certificates-2023.2.60-2.fc38.noarch 141/141 Running scriptlet: rpm-4.18.91-6.fc39.x86_64 141/141 Verifying : alternatives-1.24-1.fc39.x86_64 1/141 Verifying : audit-libs-3.1.1-1.fc39.x86_64 2/141 Verifying : basesystem-11-17.fc39.noarch 3/141 Verifying : bash-5.2.15-3.fc38.x86_64 4/141 Verifying : bzip2-libs-1.0.8-13.fc38.x86_64 5/141 Verifying : ca-certificates-2023.2.60-2.fc38.noarch 6/141 Verifying : coreutils-9.3-1.fc39.x86_64 7/141 Verifying : coreutils-common-9.3-1.fc39.x86_64 8/141 Verifying : crypto-policies-20230614-1.git5f3458e.fc39.noarc 9/141 Verifying : curl-8.1.2-1.fc39.x86_64 10/141 Verifying : cyrus-sasl-lib-2.1.28-10.fc39.x86_64 11/141 Verifying : dbus-libs-1:1.14.8-1.fc39.x86_64 12/141 Verifying : dnf-data-4.16.1-2.fc39.noarch 13/141 Verifying : dnf-plugins-core-4.4.1-3.fc39.noarch 14/141 Verifying : elfutils-default-yama-scope-0.189-2.fc39.noarch 15/141 Verifying : elfutils-libelf-0.189-2.fc39.x86_64 16/141 Verifying : elfutils-libs-0.189-2.fc39.x86_64 17/141 Verifying : expat-2.5.0-2.fc38.x86_64 18/141 Verifying : fedora-gpg-keys-39-0.1.noarch 19/141 Verifying : fedora-release-39-0.14.noarch 20/141 Verifying : fedora-release-common-39-0.14.noarch 21/141 Verifying : fedora-release-identity-basic-39-0.14.noarch 22/141 Verifying : fedora-repos-39-0.1.noarch 23/141 Verifying : fedora-repos-rawhide-39-0.1.noarch 24/141 Verifying : file-libs-5.44-3.fc39.x86_64 25/141 Verifying : filesystem-3.18-4.fc39.x86_64 26/141 Verifying : findutils-1:4.9.0-4.fc39.x86_64 27/141 Verifying : fmt-10.0.0-2.fc39.x86_64 28/141 Verifying : gawk-5.2.2-1.fc39.x86_64 29/141 Verifying : gdbm-libs-1:1.23-3.fc38.x86_64 30/141 Verifying : glib2-2.76.3-1.fc39.x86_64 31/141 Verifying : glibc-2.37.9000-15.fc39.x86_64 32/141 Verifying : glibc-common-2.37.9000-15.fc39.x86_64 33/141 Verifying : glibc-minimal-langpack-2.37.9000-15.fc39.x86_64 34/141 Verifying : gmp-1:6.2.1-4.fc38.x86_64 35/141 Verifying : gnupg2-2.4.2-2.fc39.x86_64 36/141 Verifying : gnutls-3.8.0-6.fc39.x86_64 37/141 Verifying : gpgme-1.20.0-3.fc39.x86_64 38/141 Verifying : grep-3.11-1.fc39.x86_64 39/141 Verifying : ima-evm-utils-1.5-1.fc39.x86_64 40/141 Verifying : json-c-0.16-4.fc38.x86_64 41/141 Verifying : keyutils-libs-1.6.1-6.fc38.x86_64 42/141 Verifying : krb5-libs-1.21-1.fc39.x86_64 43/141 Verifying : libacl-2.3.1-7.fc39.x86_64 44/141 Verifying : libarchive-3.6.1-5.fc39.x86_64 45/141 Verifying : libassuan-2.5.6-1.fc39.x86_64 46/141 Verifying : libattr-2.5.1-7.fc39.x86_64 47/141 Verifying : libb2-0.98.1-8.fc38.x86_64 48/141 Verifying : libblkid-2.39.1-1.fc39.x86_64 49/141 Verifying : libbrotli-1.0.9-11.fc38.x86_64 50/141 Verifying : libcap-2.48-6.fc38.x86_64 51/141 Verifying : libcap-ng-0.8.3-5.fc38.x86_64 52/141 Verifying : libcom_err-1.47.0-1.fc39.x86_64 53/141 Verifying : libcomps-0.1.19-1.fc39.x86_64 54/141 Verifying : libcurl-8.1.2-1.fc39.x86_64 55/141 Verifying : libdnf-0.70.1-3.fc39.x86_64 56/141 Verifying : libdnf5-5.0.15-2.fc39.x86_64 57/141 Verifying : libeconf-0.4.0-5.fc38.x86_64 58/141 Verifying : libevent-2.1.12-8.fc38.x86_64 59/141 Verifying : libffi-3.4.4-2.fc38.x86_64 60/141 Verifying : libfsverity-1.4-9.fc38.x86_64 61/141 Verifying : libgcc-13.1.1-4.fc39.x86_64 62/141 Verifying : libgcrypt-1.10.2-1.fc39.x86_64 63/141 Verifying : libgomp-13.1.1-4.fc39.x86_64 64/141 Verifying : libgpg-error-1.47-1.fc39.x86_64 65/141 Verifying : libidn2-2.3.4-2.fc38.x86_64 66/141 Verifying : libksba-1.6.4-1.fc39.x86_64 67/141 Verifying : libmodulemd-2.15.0-3.fc39.x86_64 68/141 Verifying : libmount-2.39.1-1.fc39.x86_64 69/141 Verifying : libnghttp2-1.54.0-1.fc39.x86_64 70/141 Verifying : libnsl2-2.0.0-5.fc38.x86_64 71/141 Verifying : libpsl-0.21.2-3.fc39.x86_64 72/141 Verifying : librepo-1.15.1-2.fc38.x86_64 73/141 Verifying : libreport-filesystem-2.17.11-1.fc39.noarch 74/141 Verifying : libselinux-3.5-1.fc39.x86_64 75/141 Verifying : libsemanage-3.5-2.fc39.x86_64 76/141 Verifying : libsepol-3.5-1.fc39.x86_64 77/141 Verifying : libsigsegv-2.14-4.fc38.x86_64 78/141 Verifying : libsmartcols-2.39.1-1.fc39.x86_64 79/141 Verifying : libsolv-0.7.24-4.fc39.x86_64 80/141 Verifying : libssh-0.10.5-1.fc39.x86_64 81/141 Verifying : libssh-config-0.10.5-1.fc39.noarch 82/141 Verifying : libstdc++-13.1.1-4.fc39.x86_64 83/141 Verifying : libtasn1-4.19.0-2.fc38.x86_64 84/141 Verifying : libtirpc-1.3.3-1.rc1.fc39.x86_64 85/141 Verifying : libunistring-1.1-3.fc38.x86_64 86/141 Verifying : libunistring1.0-1.0-1.fc38.x86_64 87/141 Verifying : libuuid-2.39.1-1.fc39.x86_64 88/141 Verifying : libverto-0.3.2-5.fc38.x86_64 89/141 Verifying : libxcrypt-4.4.35-1.fc39.x86_64 90/141 Verifying : libxml2-2.10.4-1.fc39.x86_64 91/141 Verifying : libyaml-0.2.5-9.fc38.x86_64 92/141 Verifying : libzstd-1.5.5-1.fc39.x86_64 93/141 Verifying : lua-libs-5.4.4-9.fc39.x86_64 94/141 Verifying : lz4-libs-1.9.4-3.fc39.x86_64 95/141 Verifying : mpdecimal-2.5.1-6.fc38.x86_64 96/141 Verifying : mpfr-4.1.1-3.fc38.x86_64 97/141 Verifying : ncurses-base-6.4-5.20230520.fc39.noarch 98/141 Verifying : ncurses-libs-6.4-5.20230520.fc39.x86_64 99/141 Verifying : nettle-3.9.1-1.fc39.x86_64 100/141 Verifying : npth-1.6-13.fc39.x86_64 101/141 Verifying : openldap-2.6.4-2.fc39.x86_64 102/141 Verifying : openssl-libs-1:3.0.8-2.fc39.x86_64 103/141 Verifying : p11-kit-0.24.1-6.fc38.x86_64 104/141 Verifying : p11-kit-trust-0.24.1-6.fc38.x86_64 105/141 Verifying : pcre2-10.42-1.fc38.1.x86_64 106/141 Verifying : pcre2-syntax-10.42-1.fc38.1.noarch 107/141 Verifying : popt-1.19-2.fc38.x86_64 108/141 Verifying : publicsuffix-list-dafsa-20230614-1.fc39.noarch 109/141 Verifying : python-pip-wheel-23.1.2-1.fc39.noarch 110/141 Verifying : python-setuptools-wheel-67.7.2-2.fc39.noarch 111/141 Verifying : python3-3.11.4-1.fc39.x86_64 112/141 Verifying : python3-dateutil-1:2.8.2-6.fc39.noarch 113/141 Verifying : python3-dbus-1.3.2-2.fc38.x86_64 114/141 Verifying : python3-distro-1.8.0-4.fc39.noarch 115/141 Verifying : python3-dnf-4.16.1-2.fc39.noarch 116/141 Verifying : python3-dnf-plugins-core-4.4.1-3.fc39.noarch 117/141 Verifying : python3-gpg-1.20.0-3.fc39.x86_64 118/141 Verifying : python3-hawkey-0.70.1-3.fc39.x86_64 119/141 Verifying : python3-libcomps-0.1.19-1.fc39.x86_64 120/141 Verifying : python3-libdnf-0.70.1-3.fc39.x86_64 121/141 Verifying : python3-libs-3.11.4-1.fc39.x86_64 122/141 Verifying : python3-rpm-4.18.91-6.fc39.x86_64 123/141 Verifying : python3-six-1.16.0-9.fc38.noarch 124/141 Verifying : python3-systemd-235-2.fc38.x86_64 125/141 Verifying : readline-8.2-3.fc38.x86_64 126/141 Verifying : rpm-4.18.91-6.fc39.x86_64 127/141 Verifying : rpm-build-libs-4.18.91-6.fc39.x86_64 128/141 Verifying : rpm-libs-4.18.91-6.fc39.x86_64 129/141 Verifying : rpm-sequoia-1.4.1-1.fc39.x86_64 130/141 Verifying : rpm-sign-libs-4.18.91-6.fc39.x86_64 131/141 Verifying : sed-4.8-12.fc38.x86_64 132/141 Verifying : setup-2.14.3-3.fc39.noarch 133/141 Verifying : shadow-utils-2:4.13-7.fc39.x86_64 134/141 Verifying : sqlite-libs-3.41.2-3.fc39.x86_64 135/141 Verifying : systemd-libs-253.5-6.fc39.x86_64 136/141 Verifying : tpm2-tss-4.0.1-3.fc38.x86_64 137/141 Verifying : tzdata-2023c-1.fc39.noarch 138/141 Verifying : xz-libs-5.4.3-1.fc39.x86_64 139/141 Verifying : zchunk-libs-1.3.1-1.fc39.x86_64 140/141 Verifying : zlib-1.2.13-3.fc38.x86_64 141/141 Installed products updated. Installed: alternatives-1.24-1.fc39.x86_64 audit-libs-3.1.1-1.fc39.x86_64 basesystem-11-17.fc39.noarch bash-5.2.15-3.fc38.x86_64 bzip2-libs-1.0.8-13.fc38.x86_64 ca-certificates-2023.2.60-2.fc38.noarch coreutils-9.3-1.fc39.x86_64 coreutils-common-9.3-1.fc39.x86_64 crypto-policies-20230614-1.git5f3458e.fc39.noarch curl-8.1.2-1.fc39.x86_64 cyrus-sasl-lib-2.1.28-10.fc39.x86_64 dbus-libs-1:1.14.8-1.fc39.x86_64 dnf-data-4.16.1-2.fc39.noarch dnf-plugins-core-4.4.1-3.fc39.noarch elfutils-default-yama-scope-0.189-2.fc39.noarch elfutils-libelf-0.189-2.fc39.x86_64 elfutils-libs-0.189-2.fc39.x86_64 expat-2.5.0-2.fc38.x86_64 fedora-gpg-keys-39-0.1.noarch fedora-release-39-0.14.noarch fedora-release-common-39-0.14.noarch fedora-release-identity-basic-39-0.14.noarch fedora-repos-39-0.1.noarch fedora-repos-rawhide-39-0.1.noarch file-libs-5.44-3.fc39.x86_64 filesystem-3.18-4.fc39.x86_64 findutils-1:4.9.0-4.fc39.x86_64 fmt-10.0.0-2.fc39.x86_64 gawk-5.2.2-1.fc39.x86_64 gdbm-libs-1:1.23-3.fc38.x86_64 glib2-2.76.3-1.fc39.x86_64 glibc-2.37.9000-15.fc39.x86_64 glibc-common-2.37.9000-15.fc39.x86_64 glibc-minimal-langpack-2.37.9000-15.fc39.x86_64 gmp-1:6.2.1-4.fc38.x86_64 gnupg2-2.4.2-2.fc39.x86_64 gnutls-3.8.0-6.fc39.x86_64 gpgme-1.20.0-3.fc39.x86_64 grep-3.11-1.fc39.x86_64 ima-evm-utils-1.5-1.fc39.x86_64 json-c-0.16-4.fc38.x86_64 keyutils-libs-1.6.1-6.fc38.x86_64 krb5-libs-1.21-1.fc39.x86_64 libacl-2.3.1-7.fc39.x86_64 libarchive-3.6.1-5.fc39.x86_64 libassuan-2.5.6-1.fc39.x86_64 libattr-2.5.1-7.fc39.x86_64 libb2-0.98.1-8.fc38.x86_64 libblkid-2.39.1-1.fc39.x86_64 libbrotli-1.0.9-11.fc38.x86_64 libcap-2.48-6.fc38.x86_64 libcap-ng-0.8.3-5.fc38.x86_64 libcom_err-1.47.0-1.fc39.x86_64 libcomps-0.1.19-1.fc39.x86_64 libcurl-8.1.2-1.fc39.x86_64 libdnf-0.70.1-3.fc39.x86_64 libdnf5-5.0.15-2.fc39.x86_64 libeconf-0.4.0-5.fc38.x86_64 libevent-2.1.12-8.fc38.x86_64 libffi-3.4.4-2.fc38.x86_64 libfsverity-1.4-9.fc38.x86_64 libgcc-13.1.1-4.fc39.x86_64 libgcrypt-1.10.2-1.fc39.x86_64 libgomp-13.1.1-4.fc39.x86_64 libgpg-error-1.47-1.fc39.x86_64 libidn2-2.3.4-2.fc38.x86_64 libksba-1.6.4-1.fc39.x86_64 libmodulemd-2.15.0-3.fc39.x86_64 libmount-2.39.1-1.fc39.x86_64 libnghttp2-1.54.0-1.fc39.x86_64 libnsl2-2.0.0-5.fc38.x86_64 libpsl-0.21.2-3.fc39.x86_64 librepo-1.15.1-2.fc38.x86_64 libreport-filesystem-2.17.11-1.fc39.noarch libselinux-3.5-1.fc39.x86_64 libsemanage-3.5-2.fc39.x86_64 libsepol-3.5-1.fc39.x86_64 libsigsegv-2.14-4.fc38.x86_64 libsmartcols-2.39.1-1.fc39.x86_64 libsolv-0.7.24-4.fc39.x86_64 libssh-0.10.5-1.fc39.x86_64 libssh-config-0.10.5-1.fc39.noarch libstdc++-13.1.1-4.fc39.x86_64 libtasn1-4.19.0-2.fc38.x86_64 libtirpc-1.3.3-1.rc1.fc39.x86_64 libunistring-1.1-3.fc38.x86_64 libunistring1.0-1.0-1.fc38.x86_64 libuuid-2.39.1-1.fc39.x86_64 libverto-0.3.2-5.fc38.x86_64 libxcrypt-4.4.35-1.fc39.x86_64 libxml2-2.10.4-1.fc39.x86_64 libyaml-0.2.5-9.fc38.x86_64 libzstd-1.5.5-1.fc39.x86_64 lua-libs-5.4.4-9.fc39.x86_64 lz4-libs-1.9.4-3.fc39.x86_64 mpdecimal-2.5.1-6.fc38.x86_64 mpfr-4.1.1-3.fc38.x86_64 ncurses-base-6.4-5.20230520.fc39.noarch ncurses-libs-6.4-5.20230520.fc39.x86_64 nettle-3.9.1-1.fc39.x86_64 npth-1.6-13.fc39.x86_64 openldap-2.6.4-2.fc39.x86_64 openssl-libs-1:3.0.8-2.fc39.x86_64 p11-kit-0.24.1-6.fc38.x86_64 p11-kit-trust-0.24.1-6.fc38.x86_64 pcre2-10.42-1.fc38.1.x86_64 pcre2-syntax-10.42-1.fc38.1.noarch popt-1.19-2.fc38.x86_64 publicsuffix-list-dafsa-20230614-1.fc39.noarch python-pip-wheel-23.1.2-1.fc39.noarch python-setuptools-wheel-67.7.2-2.fc39.noarch python3-3.11.4-1.fc39.x86_64 python3-dateutil-1:2.8.2-6.fc39.noarch python3-dbus-1.3.2-2.fc38.x86_64 python3-distro-1.8.0-4.fc39.noarch python3-dnf-4.16.1-2.fc39.noarch python3-dnf-plugins-core-4.4.1-3.fc39.noarch python3-gpg-1.20.0-3.fc39.x86_64 python3-hawkey-0.70.1-3.fc39.x86_64 python3-libcomps-0.1.19-1.fc39.x86_64 python3-libdnf-0.70.1-3.fc39.x86_64 python3-libs-3.11.4-1.fc39.x86_64 python3-rpm-4.18.91-6.fc39.x86_64 python3-six-1.16.0-9.fc38.noarch python3-systemd-235-2.fc38.x86_64 readline-8.2-3.fc38.x86_64 rpm-4.18.91-6.fc39.x86_64 rpm-build-libs-4.18.91-6.fc39.x86_64 rpm-libs-4.18.91-6.fc39.x86_64 rpm-sequoia-1.4.1-1.fc39.x86_64 rpm-sign-libs-4.18.91-6.fc39.x86_64 sed-4.8-12.fc38.x86_64 setup-2.14.3-3.fc39.noarch shadow-utils-2:4.13-7.fc39.x86_64 sqlite-libs-3.41.2-3.fc39.x86_64 systemd-libs-253.5-6.fc39.x86_64 tpm2-tss-4.0.1-3.fc38.x86_64 tzdata-2023c-1.fc39.noarch xz-libs-5.4.3-1.fc39.x86_64 zchunk-libs-1.3.1-1.fc39.x86_64 zlib-1.2.13-3.fc38.x86_64 Complete! Finish(bootstrap): installing dnf tooling Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1688303036.090485/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin Mock Version: 4.1 INFO: Mock Version: 4.1 INFO: Package manager dnf detected and used (direct choice) Start: installing minimal buildroot with dnf No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 37 kB/s | 1.5 kB 00:00 Copr repository 1.8 MB/s | 93 kB 00:00 fedora 140 kB/s | 20 kB 00:00 Dependencies resolved. ================================================================================ Package Arch Version Repo Size ================================================================================ Installing group/module packages: bash x86_64 5.2.15-3.fc38 fedora 1.8 M bzip2 x86_64 1.0.8-13.fc38 fedora 52 k coreutils x86_64 9.3-1.fc39 fedora 1.1 M cpio x86_64 2.14-2.fc39 fedora 279 k diffutils x86_64 3.10-1.fc39 fedora 399 k fedora-release-common noarch 39-0.14 fedora 17 k findutils x86_64 1:4.9.0-4.fc39 fedora 491 k gawk x86_64 5.2.2-1.fc39 fedora 1.1 M glibc-minimal-langpack x86_64 2.37.9000-15.fc39 fedora 61 k grep x86_64 3.11-1.fc39 fedora 298 k gzip x86_64 1.12-3.fc38 fedora 166 k info x86_64 7.0.3-2.fc39 fedora 182 k patch x86_64 2.7.6-21.fc39 fedora 126 k redhat-rpm-config noarch 255-1.fc39 fedora 83 k rpm-build x86_64 4.18.91-6.fc39 fedora 78 k sed x86_64 4.8-12.fc38 fedora 306 k shadow-utils x86_64 2:4.13-7.fc39 fedora 1.3 M tar x86_64 2:1.34-8.fc39 fedora 888 k unzip x86_64 6.0-60.fc38 fedora 184 k util-linux x86_64 2.39.1-1.fc39 fedora 1.2 M which x86_64 2.21-39.fc39 fedora 42 k xz x86_64 5.4.3-1.fc39 fedora 555 k Installing dependencies: alternatives x86_64 1.24-1.fc39 fedora 39 k ansible-srpm-macros noarch 1-10.fc39 fedora 21 k audit-libs x86_64 3.1.1-1.fc39 fedora 117 k authselect x86_64 1.4.2-2.fc38 fedora 144 k authselect-libs x86_64 1.4.2-2.fc38 fedora 249 k basesystem noarch 11-17.fc39 fedora 7.0 k binutils x86_64 2.40-9.fc39 fedora 5.6 M binutils-gold x86_64 2.40-9.fc39 fedora 797 k bzip2-libs x86_64 1.0.8-13.fc38 fedora 41 k ca-certificates noarch 2023.2.60-2.fc38 fedora 845 k coreutils-common x86_64 9.3-1.fc39 fedora 2.1 M cracklib x86_64 2.9.7-31.fc38 fedora 92 k crypto-policies noarch 20230614-1.git5f3458e.fc39 fedora 94 k curl x86_64 8.1.2-1.fc39 fedora 345 k cyrus-sasl-lib x86_64 2.1.28-10.fc39 fedora 792 k debugedit x86_64 5.0-9.fc39 fedora 77 k dwz x86_64 0.15-2.fc38 fedora 135 k ed x86_64 1.19-2.fc38 fedora 78 k efi-srpm-macros noarch 5-8.fc39 fedora 22 k elfutils x86_64 0.189-2.fc39 fedora 536 k elfutils-debuginfod-client x86_64 0.189-2.fc39 fedora 39 k elfutils-default-yama-scope noarch 0.189-2.fc39 fedora 15 k elfutils-libelf x86_64 0.189-2.fc39 fedora 196 k elfutils-libs x86_64 0.189-2.fc39 fedora 260 k fedora-gpg-keys noarch 39-0.1 fedora 126 k fedora-release noarch 39-0.14 fedora 6.6 k fedora-release-identity-basic noarch 39-0.14 fedora 7.4 k fedora-repos noarch 39-0.1 fedora 9.4 k fedora-repos-rawhide noarch 39-0.1 fedora 9.0 k file x86_64 5.44-3.fc39 fedora 50 k file-libs x86_64 5.44-3.fc39 fedora 730 k filesystem x86_64 3.18-4.fc39 fedora 1.1 M fonts-srpm-macros noarch 1:2.0.5-11.fc38 fedora 26 k fpc-srpm-macros noarch 1.3-7.fc38 fedora 7.8 k gdb-minimal x86_64 13.2-1.fc39 fedora 4.2 M gdbm-libs x86_64 1:1.23-3.fc38 fedora 56 k ghc-srpm-macros noarch 1.6.1-1.fc38 fedora 8.0 k glibc x86_64 2.37.9000-15.fc39 fedora 2.1 M glibc-common x86_64 2.37.9000-15.fc39 fedora 339 k glibc-gconv-extra x86_64 2.37.9000-15.fc39 fedora 1.6 M gmp x86_64 1:6.2.1-4.fc38 fedora 313 k gnat-srpm-macros noarch 6-2.fc38 fedora 8.8 k go-srpm-macros noarch 3.2.0-3.fc39 fedora 27 k jansson x86_64 2.13.1-6.fc38 fedora 44 k kernel-srpm-macros noarch 1.0-19.fc39 fedora 10 k keyutils-libs x86_64 1.6.1-6.fc38 fedora 31 k krb5-libs x86_64 1.21-1.fc39 fedora 765 k libacl x86_64 2.3.1-7.fc39 fedora 23 k libarchive x86_64 3.6.1-5.fc39 fedora 400 k libattr x86_64 2.5.1-7.fc39 fedora 18 k libblkid x86_64 2.39.1-1.fc39 fedora 116 k libbrotli x86_64 1.0.9-11.fc38 fedora 317 k libcap x86_64 2.48-6.fc38 fedora 67 k libcap-ng x86_64 0.8.3-5.fc38 fedora 32 k libcom_err x86_64 1.47.0-1.fc39 fedora 26 k libcurl x86_64 8.1.2-1.fc39 fedora 323 k libdb x86_64 5.3.28-55.fc38 fedora 758 k libeconf x86_64 0.4.0-5.fc38 fedora 27 k libevent x86_64 2.1.12-8.fc38 fedora 257 k libfdisk x86_64 2.39.1-1.fc39 fedora 162 k libffi x86_64 3.4.4-2.fc38 fedora 38 k libgcc x86_64 13.1.1-4.fc39 fedora 107 k libgomp x86_64 13.1.1-4.fc39 fedora 317 k libidn2 x86_64 2.3.4-2.fc38 fedora 160 k libmount x86_64 2.39.1-1.fc39 fedora 155 k libnghttp2 x86_64 1.54.0-1.fc39 fedora 75 k libnsl2 x86_64 2.0.0-5.fc38 fedora 30 k libpkgconf x86_64 1.9.4-2.fc39 fedora 38 k libpsl x86_64 0.21.2-3.fc39 fedora 63 k libpwquality x86_64 1.4.5-3.fc38 fedora 119 k libselinux x86_64 3.5-1.fc39 fedora 87 k libsemanage x86_64 3.5-2.fc39 fedora 120 k libsepol x86_64 3.5-1.fc39 fedora 324 k libsigsegv x86_64 2.14-4.fc38 fedora 27 k libsmartcols x86_64 2.39.1-1.fc39 fedora 67 k libssh x86_64 0.10.5-1.fc39 fedora 211 k libssh-config noarch 0.10.5-1.fc39 fedora 9.0 k libstdc++ x86_64 13.1.1-4.fc39 fedora 861 k libtasn1 x86_64 4.19.0-2.fc38 fedora 74 k libtirpc x86_64 1.3.3-1.rc1.fc39 fedora 93 k libunistring x86_64 1.1-3.fc38 fedora 545 k libunistring1.0 x86_64 1.0-1.fc38 fedora 539 k libutempter x86_64 1.2.1-9.fc39 fedora 26 k libuuid x86_64 2.39.1-1.fc39 fedora 28 k libverto x86_64 0.3.2-5.fc38 fedora 21 k libxcrypt x86_64 4.4.35-1.fc39 fedora 119 k libxml2 x86_64 2.10.4-1.fc39 fedora 700 k libzstd x86_64 1.5.5-1.fc39 fedora 308 k lua-libs x86_64 5.4.4-9.fc39 fedora 133 k lua-srpm-macros noarch 1-8.fc38 fedora 8.6 k lz4-libs x86_64 1.9.4-3.fc39 fedora 67 k mpfr x86_64 4.1.1-3.fc38 fedora 600 k ncurses-base noarch 6.4-5.20230520.fc39 fedora 88 k ncurses-libs x86_64 6.4-5.20230520.fc39 fedora 336 k ocaml-srpm-macros noarch 7-3.fc38 fedora 13 k openblas-srpm-macros noarch 2-13.fc38 fedora 7.5 k openldap x86_64 2.6.4-2.fc39 fedora 255 k openssl-libs x86_64 1:3.0.8-2.fc39 fedora 2.1 M p11-kit x86_64 0.24.1-6.fc38 fedora 359 k p11-kit-trust x86_64 0.24.1-6.fc38 fedora 136 k package-notes-srpm-macros noarch 0.5-8.fc39 fedora 11 k pam x86_64 1.5.3-1.fc39 fedora 547 k pam-libs x86_64 1.5.3-1.fc39 fedora 57 k pcre2 x86_64 10.42-1.fc38.1 fedora 234 k pcre2-syntax noarch 10.42-1.fc38.1 fedora 144 k perl-srpm-macros noarch 1-48.fc38 fedora 8.4 k pkgconf x86_64 1.9.4-2.fc39 fedora 42 k pkgconf-m4 noarch 1.9.4-2.fc39 fedora 14 k pkgconf-pkg-config x86_64 1.9.4-2.fc39 fedora 9.5 k popt x86_64 1.19-2.fc38 fedora 67 k publicsuffix-list-dafsa noarch 20230614-1.fc39 fedora 57 k pyproject-srpm-macros noarch 1.9.0-1.fc39 fedora 15 k python-srpm-macros noarch 3.11-10.fc39 fedora 26 k qt5-srpm-macros noarch 5.15.10-1.fc39 fedora 7.8 k qt6-srpm-macros noarch 6.5.1-1.fc39 fedora 9.2 k readline x86_64 8.2-3.fc38 fedora 212 k rpm x86_64 4.18.91-6.fc39 fedora 529 k rpm-build-libs x86_64 4.18.91-6.fc39 fedora 95 k rpm-libs x86_64 4.18.91-6.fc39 fedora 309 k rpm-sequoia x86_64 1.4.1-1.fc39 fedora 843 k rpmautospec-rpm-macros noarch 0.3.5-2.fc39 fedora 8.9 k rust-srpm-macros noarch 24-2.fc39 fedora 12 k setup noarch 2.14.3-3.fc39 fedora 152 k sqlite-libs x86_64 3.41.2-3.fc39 fedora 669 k systemd-libs x86_64 253.5-6.fc39 fedora 652 k tzdata noarch 2023c-1.fc39 fedora 718 k util-linux-core x86_64 2.39.1-1.fc39 fedora 493 k xxhash-libs x86_64 0.8.1-5.fc39 fedora 40 k xz-libs x86_64 5.4.3-1.fc39 fedora 108 k zip x86_64 3.0-36.fc38 fedora 265 k zlib x86_64 1.2.13-3.fc38 fedora 95 k zstd x86_64 1.5.5-1.fc39 fedora 482 k Installing Groups: Buildsystem building group Transaction Summary ================================================================================ Install 154 Packages Total size: 53 M Installed size: 181 M Downloading Packages: [SKIPPED] alternatives-1.24-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] ansible-srpm-macros-1-10.fc39.noarch.rpm: Already downloaded [SKIPPED] audit-libs-3.1.1-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] authselect-1.4.2-2.fc38.x86_64.rpm: Already downloaded [SKIPPED] authselect-libs-1.4.2-2.fc38.x86_64.rpm: Already downloaded [SKIPPED] basesystem-11-17.fc39.noarch.rpm: Already downloaded [SKIPPED] bash-5.2.15-3.fc38.x86_64.rpm: Already downloaded [SKIPPED] binutils-2.40-9.fc39.x86_64.rpm: Already downloaded [SKIPPED] binutils-gold-2.40-9.fc39.x86_64.rpm: Already downloaded [SKIPPED] bzip2-1.0.8-13.fc38.x86_64.rpm: Already downloaded [SKIPPED] bzip2-libs-1.0.8-13.fc38.x86_64.rpm: Already downloaded [SKIPPED] ca-certificates-2023.2.60-2.fc38.noarch.rpm: Already downloaded [SKIPPED] coreutils-9.3-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] coreutils-common-9.3-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] cpio-2.14-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] cracklib-2.9.7-31.fc38.x86_64.rpm: Already downloaded [SKIPPED] crypto-policies-20230614-1.git5f3458e.fc39.noarch.rpm: Already downloaded [SKIPPED] curl-8.1.2-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] cyrus-sasl-lib-2.1.28-10.fc39.x86_64.rpm: Already downloaded [SKIPPED] debugedit-5.0-9.fc39.x86_64.rpm: Already downloaded [SKIPPED] diffutils-3.10-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] dwz-0.15-2.fc38.x86_64.rpm: Already downloaded [SKIPPED] ed-1.19-2.fc38.x86_64.rpm: Already downloaded [SKIPPED] efi-srpm-macros-5-8.fc39.noarch.rpm: Already downloaded [SKIPPED] elfutils-0.189-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] elfutils-debuginfod-client-0.189-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] elfutils-default-yama-scope-0.189-2.fc39.noarch.rpm: Already downloaded [SKIPPED] elfutils-libelf-0.189-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] elfutils-libs-0.189-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] fedora-gpg-keys-39-0.1.noarch.rpm: Already downloaded [SKIPPED] fedora-release-39-0.14.noarch.rpm: Already downloaded [SKIPPED] fedora-release-common-39-0.14.noarch.rpm: Already downloaded [SKIPPED] fedora-release-identity-basic-39-0.14.noarch.rpm: Already downloaded [SKIPPED] fedora-repos-39-0.1.noarch.rpm: Already downloaded [SKIPPED] fedora-repos-rawhide-39-0.1.noarch.rpm: Already downloaded [SKIPPED] file-5.44-3.fc39.x86_64.rpm: Already downloaded [SKIPPED] file-libs-5.44-3.fc39.x86_64.rpm: Already downloaded [SKIPPED] filesystem-3.18-4.fc39.x86_64.rpm: Already downloaded [SKIPPED] findutils-4.9.0-4.fc39.x86_64.rpm: Already downloaded [SKIPPED] fonts-srpm-macros-2.0.5-11.fc38.noarch.rpm: Already downloaded [SKIPPED] fpc-srpm-macros-1.3-7.fc38.noarch.rpm: Already downloaded [SKIPPED] gawk-5.2.2-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] gdb-minimal-13.2-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] gdbm-libs-1.23-3.fc38.x86_64.rpm: Already downloaded [SKIPPED] ghc-srpm-macros-1.6.1-1.fc38.noarch.rpm: Already downloaded [SKIPPED] glibc-2.37.9000-15.fc39.x86_64.rpm: Already downloaded [SKIPPED] glibc-common-2.37.9000-15.fc39.x86_64.rpm: Already downloaded [SKIPPED] glibc-gconv-extra-2.37.9000-15.fc39.x86_64.rpm: Already downloaded [SKIPPED] glibc-minimal-langpack-2.37.9000-15.fc39.x86_64.rpm: Already downloaded [SKIPPED] gmp-6.2.1-4.fc38.x86_64.rpm: Already downloaded [SKIPPED] gnat-srpm-macros-6-2.fc38.noarch.rpm: Already downloaded [SKIPPED] go-srpm-macros-3.2.0-3.fc39.noarch.rpm: Already downloaded [SKIPPED] grep-3.11-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] gzip-1.12-3.fc38.x86_64.rpm: Already downloaded [SKIPPED] info-7.0.3-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] jansson-2.13.1-6.fc38.x86_64.rpm: Already downloaded [SKIPPED] kernel-srpm-macros-1.0-19.fc39.noarch.rpm: Already downloaded [SKIPPED] keyutils-libs-1.6.1-6.fc38.x86_64.rpm: Already downloaded [SKIPPED] krb5-libs-1.21-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libacl-2.3.1-7.fc39.x86_64.rpm: Already downloaded [SKIPPED] libarchive-3.6.1-5.fc39.x86_64.rpm: Already downloaded [SKIPPED] libattr-2.5.1-7.fc39.x86_64.rpm: Already downloaded [SKIPPED] libblkid-2.39.1-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libbrotli-1.0.9-11.fc38.x86_64.rpm: Already downloaded [SKIPPED] libcap-2.48-6.fc38.x86_64.rpm: Already downloaded [SKIPPED] libcap-ng-0.8.3-5.fc38.x86_64.rpm: Already downloaded [SKIPPED] libcom_err-1.47.0-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libcurl-8.1.2-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libdb-5.3.28-55.fc38.x86_64.rpm: Already downloaded [SKIPPED] libeconf-0.4.0-5.fc38.x86_64.rpm: Already downloaded [SKIPPED] libevent-2.1.12-8.fc38.x86_64.rpm: Already downloaded [SKIPPED] libfdisk-2.39.1-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libffi-3.4.4-2.fc38.x86_64.rpm: Already downloaded [SKIPPED] libgcc-13.1.1-4.fc39.x86_64.rpm: Already downloaded [SKIPPED] libgomp-13.1.1-4.fc39.x86_64.rpm: Already downloaded [SKIPPED] libidn2-2.3.4-2.fc38.x86_64.rpm: Already downloaded [SKIPPED] libmount-2.39.1-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libnghttp2-1.54.0-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libnsl2-2.0.0-5.fc38.x86_64.rpm: Already downloaded [SKIPPED] libpkgconf-1.9.4-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] libpsl-0.21.2-3.fc39.x86_64.rpm: Already downloaded [SKIPPED] libpwquality-1.4.5-3.fc38.x86_64.rpm: Already downloaded [SKIPPED] libselinux-3.5-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libsemanage-3.5-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] libsepol-3.5-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libsigsegv-2.14-4.fc38.x86_64.rpm: Already downloaded [SKIPPED] libsmartcols-2.39.1-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libssh-0.10.5-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libssh-config-0.10.5-1.fc39.noarch.rpm: Already downloaded [SKIPPED] libstdc++-13.1.1-4.fc39.x86_64.rpm: Already downloaded [SKIPPED] libtasn1-4.19.0-2.fc38.x86_64.rpm: Already downloaded [SKIPPED] libtirpc-1.3.3-1.rc1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libunistring-1.1-3.fc38.x86_64.rpm: Already downloaded [SKIPPED] libunistring1.0-1.0-1.fc38.x86_64.rpm: Already downloaded [SKIPPED] libutempter-1.2.1-9.fc39.x86_64.rpm: Already downloaded [SKIPPED] libuuid-2.39.1-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libverto-0.3.2-5.fc38.x86_64.rpm: Already downloaded [SKIPPED] libxcrypt-4.4.35-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libxml2-2.10.4-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libzstd-1.5.5-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] lua-libs-5.4.4-9.fc39.x86_64.rpm: Already downloaded [SKIPPED] lua-srpm-macros-1-8.fc38.noarch.rpm: Already downloaded [SKIPPED] lz4-libs-1.9.4-3.fc39.x86_64.rpm: Already downloaded [SKIPPED] mpfr-4.1.1-3.fc38.x86_64.rpm: Already downloaded [SKIPPED] ncurses-base-6.4-5.20230520.fc39.noarch.rpm: Already downloaded [SKIPPED] ncurses-libs-6.4-5.20230520.fc39.x86_64.rpm: Already downloaded [SKIPPED] ocaml-srpm-macros-7-3.fc38.noarch.rpm: Already downloaded [SKIPPED] openblas-srpm-macros-2-13.fc38.noarch.rpm: Already downloaded [SKIPPED] openldap-2.6.4-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] openssl-libs-3.0.8-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] p11-kit-0.24.1-6.fc38.x86_64.rpm: Already downloaded [SKIPPED] p11-kit-trust-0.24.1-6.fc38.x86_64.rpm: Already downloaded [SKIPPED] package-notes-srpm-macros-0.5-8.fc39.noarch.rpm: Already downloaded [SKIPPED] pam-1.5.3-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] pam-libs-1.5.3-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] patch-2.7.6-21.fc39.x86_64.rpm: Already downloaded [SKIPPED] pcre2-10.42-1.fc38.1.x86_64.rpm: Already downloaded [SKIPPED] pcre2-syntax-10.42-1.fc38.1.noarch.rpm: Already downloaded [SKIPPED] perl-srpm-macros-1-48.fc38.noarch.rpm: Already downloaded [SKIPPED] pkgconf-1.9.4-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] pkgconf-m4-1.9.4-2.fc39.noarch.rpm: Already downloaded [SKIPPED] pkgconf-pkg-config-1.9.4-2.fc39.x86_64.rpm: Already downloaded [SKIPPED] popt-1.19-2.fc38.x86_64.rpm: Already downloaded [SKIPPED] publicsuffix-list-dafsa-20230614-1.fc39.noarch.rpm: Already downloaded [SKIPPED] pyproject-srpm-macros-1.9.0-1.fc39.noarch.rpm: Already downloaded [SKIPPED] python-srpm-macros-3.11-10.fc39.noarch.rpm: Already downloaded [SKIPPED] qt5-srpm-macros-5.15.10-1.fc39.noarch.rpm: Already downloaded [SKIPPED] qt6-srpm-macros-6.5.1-1.fc39.noarch.rpm: Already downloaded [SKIPPED] readline-8.2-3.fc38.x86_64.rpm: Already downloaded [SKIPPED] redhat-rpm-config-255-1.fc39.noarch.rpm: Already downloaded [SKIPPED] rpm-4.18.91-6.fc39.x86_64.rpm: Already downloaded [SKIPPED] rpm-build-4.18.91-6.fc39.x86_64.rpm: Already downloaded [SKIPPED] rpm-build-libs-4.18.91-6.fc39.x86_64.rpm: Already downloaded [SKIPPED] rpm-libs-4.18.91-6.fc39.x86_64.rpm: Already downloaded [SKIPPED] rpm-sequoia-1.4.1-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] rpmautospec-rpm-macros-0.3.5-2.fc39.noarch.rpm: Already downloaded [SKIPPED] rust-srpm-macros-24-2.fc39.noarch.rpm: Already downloaded [SKIPPED] sed-4.8-12.fc38.x86_64.rpm: Already downloaded [SKIPPED] setup-2.14.3-3.fc39.noarch.rpm: Already downloaded [SKIPPED] shadow-utils-4.13-7.fc39.x86_64.rpm: Already downloaded [SKIPPED] sqlite-libs-3.41.2-3.fc39.x86_64.rpm: Already downloaded [SKIPPED] systemd-libs-253.5-6.fc39.x86_64.rpm: Already downloaded [SKIPPED] tar-1.34-8.fc39.x86_64.rpm: Already downloaded [SKIPPED] tzdata-2023c-1.fc39.noarch.rpm: Already downloaded [SKIPPED] unzip-6.0-60.fc38.x86_64.rpm: Already downloaded [SKIPPED] util-linux-2.39.1-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] util-linux-core-2.39.1-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] which-2.21-39.fc39.x86_64.rpm: Already downloaded [SKIPPED] xxhash-libs-0.8.1-5.fc39.x86_64.rpm: Already downloaded [SKIPPED] xz-5.4.3-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] xz-libs-5.4.3-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] zip-3.0-36.fc38.x86_64.rpm: Already downloaded [SKIPPED] zlib-1.2.13-3.fc38.x86_64.rpm: Already downloaded [SKIPPED] zstd-1.5.5-1.fc39.x86_64.rpm: Already downloaded fedora 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0x18B8E74C: Userid : "Fedora (39) " Fingerprint: E8F2 3996 F232 1864 0CB4 4CBE 75CF 5AC4 18B8 E74C From : /usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-39-primary Key imported successfully fedora 1.6 MB/s | 1.6 kB 00:00 GPG key at file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-39-primary (0x18B8E74C) is already installed fedora 1.6 MB/s | 1.6 kB 00:00 Importing GPG key 0xEB10B464: Userid : "Fedora (38) " Fingerprint: 6A51 BBAB BA3D 5467 B617 1221 809A 8D7C EB10 B464 From : /usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-38-primary Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Running scriptlet: filesystem-3.18-4.fc39.x86_64 1/1 Preparing : 1/1 Installing : libgcc-13.1.1-4.fc39.x86_64 1/154 Running scriptlet: libgcc-13.1.1-4.fc39.x86_64 1/154 Installing : crypto-policies-20230614-1.git5f3458e.fc39.noarc 2/154 Running scriptlet: crypto-policies-20230614-1.git5f3458e.fc39.noarc 2/154 Installing : tzdata-2023c-1.fc39.noarch 3/154 Installing : fedora-release-identity-basic-39-0.14.noarch 4/154 Installing : rust-srpm-macros-24-2.fc39.noarch 5/154 Installing : qt6-srpm-macros-6.5.1-1.fc39.noarch 6/154 Installing : qt5-srpm-macros-5.15.10-1.fc39.noarch 7/154 Installing : pyproject-srpm-macros-1.9.0-1.fc39.noarch 8/154 Installing : publicsuffix-list-dafsa-20230614-1.fc39.noarch 9/154 Installing : pkgconf-m4-1.9.4-2.fc39.noarch 10/154 Installing : perl-srpm-macros-1-48.fc38.noarch 11/154 Installing : pcre2-syntax-10.42-1.fc38.1.noarch 12/154 Installing : package-notes-srpm-macros-0.5-8.fc39.noarch 13/154 Installing : openblas-srpm-macros-2-13.fc38.noarch 14/154 Installing : ocaml-srpm-macros-7-3.fc38.noarch 15/154 Installing : ncurses-base-6.4-5.20230520.fc39.noarch 16/154 Installing : libssh-config-0.10.5-1.fc39.noarch 17/154 Installing : kernel-srpm-macros-1.0-19.fc39.noarch 18/154 Installing : gnat-srpm-macros-6-2.fc38.noarch 19/154 Installing : ghc-srpm-macros-1.6.1-1.fc38.noarch 20/154 Installing : fpc-srpm-macros-1.3-7.fc38.noarch 21/154 Installing : fedora-gpg-keys-39-0.1.noarch 22/154 Installing : fedora-release-39-0.14.noarch 23/154 Installing : fedora-release-common-39-0.14.noarch 24/154 Installing : fedora-repos-rawhide-39-0.1.noarch 25/154 Installing : fedora-repos-39-0.1.noarch 26/154 Installing : setup-2.14.3-3.fc39.noarch 27/154 warning: /etc/hosts created as /etc/hosts.rpmnew Running scriptlet: setup-2.14.3-3.fc39.noarch 27/154 Installing : filesystem-3.18-4.fc39.x86_64 28/154 Installing : basesystem-11-17.fc39.noarch 29/154 Installing : glibc-gconv-extra-2.37.9000-15.fc39.x86_64 30/154 Running scriptlet: glibc-gconv-extra-2.37.9000-15.fc39.x86_64 30/154 Installing : glibc-minimal-langpack-2.37.9000-15.fc39.x86_64 31/154 Installing : glibc-common-2.37.9000-15.fc39.x86_64 32/154 Running scriptlet: glibc-2.37.9000-15.fc39.x86_64 33/154 Installing : glibc-2.37.9000-15.fc39.x86_64 33/154 Running scriptlet: glibc-2.37.9000-15.fc39.x86_64 33/154 Installing : ncurses-libs-6.4-5.20230520.fc39.x86_64 34/154 Installing : bash-5.2.15-3.fc38.x86_64 35/154 Running scriptlet: bash-5.2.15-3.fc38.x86_64 35/154 Installing : zlib-1.2.13-3.fc38.x86_64 36/154 Installing : xz-libs-5.4.3-1.fc39.x86_64 37/154 Installing : bzip2-libs-1.0.8-13.fc38.x86_64 38/154 Installing : libstdc++-13.1.1-4.fc39.x86_64 39/154 Installing : libuuid-2.39.1-1.fc39.x86_64 40/154 Installing : libzstd-1.5.5-1.fc39.x86_64 41/154 Installing : elfutils-libelf-0.189-2.fc39.x86_64 42/154 Installing : popt-1.19-2.fc38.x86_64 43/154 Installing : libblkid-2.39.1-1.fc39.x86_64 44/154 Installing : readline-8.2-3.fc38.x86_64 45/154 Installing : gmp-1:6.2.1-4.fc38.x86_64 46/154 Installing : libattr-2.5.1-7.fc39.x86_64 47/154 Installing : libacl-2.3.1-7.fc39.x86_64 48/154 Installing : libcap-2.48-6.fc38.x86_64 49/154 Installing : libxcrypt-4.4.35-1.fc39.x86_64 50/154 Installing : lz4-libs-1.9.4-3.fc39.x86_64 51/154 Installing : systemd-libs-253.5-6.fc39.x86_64 52/154 Installing : mpfr-4.1.1-3.fc38.x86_64 53/154 Installing : dwz-0.15-2.fc38.x86_64 54/154 Installing : unzip-6.0-60.fc38.x86_64 55/154 Installing : file-libs-5.44-3.fc39.x86_64 56/154 Installing : file-5.44-3.fc39.x86_64 57/154 Installing : alternatives-1.24-1.fc39.x86_64 58/154 Installing : jansson-2.13.1-6.fc38.x86_64 59/154 Installing : libcap-ng-0.8.3-5.fc38.x86_64 60/154 Installing : audit-libs-3.1.1-1.fc39.x86_64 61/154 Installing : pam-libs-1.5.3-1.fc39.x86_64 62/154 Installing : libcom_err-1.47.0-1.fc39.x86_64 63/154 Installing : libsepol-3.5-1.fc39.x86_64 64/154 Installing : libsmartcols-2.39.1-1.fc39.x86_64 65/154 Installing : lua-libs-5.4.4-9.fc39.x86_64 66/154 Installing : pcre2-10.42-1.fc38.1.x86_64 67/154 Installing : libselinux-3.5-1.fc39.x86_64 68/154 Installing : sed-4.8-12.fc38.x86_64 69/154 Installing : grep-3.11-1.fc39.x86_64 70/154 Installing : findutils-1:4.9.0-4.fc39.x86_64 71/154 Installing : xz-5.4.3-1.fc39.x86_64 72/154 Installing : libmount-2.39.1-1.fc39.x86_64 73/154 Installing : util-linux-core-2.39.1-1.fc39.x86_64 74/154 Installing : libsemanage-3.5-2.fc39.x86_64 75/154 Installing : tar-2:1.34-8.fc39.x86_64 76/154 Installing : zip-3.0-36.fc38.x86_64 77/154 Installing : zstd-1.5.5-1.fc39.x86_64 78/154 Installing : libfdisk-2.39.1-1.fc39.x86_64 79/154 Installing : bzip2-1.0.8-13.fc38.x86_64 80/154 Installing : libxml2-2.10.4-1.fc39.x86_64 81/154 Installing : sqlite-libs-3.41.2-3.fc39.x86_64 82/154 Installing : ed-1.19-2.fc38.x86_64 83/154 Installing : patch-2.7.6-21.fc39.x86_64 84/154 Installing : elfutils-default-yama-scope-0.189-2.fc39.noarch 85/154 Running scriptlet: elfutils-default-yama-scope-0.189-2.fc39.noarch 85/154 Installing : cpio-2.14-2.fc39.x86_64 86/154 Installing : diffutils-3.10-1.fc39.x86_64 87/154 Installing : gdbm-libs-1:1.23-3.fc38.x86_64 88/154 Installing : cyrus-sasl-lib-2.1.28-10.fc39.x86_64 89/154 Installing : keyutils-libs-1.6.1-6.fc38.x86_64 90/154 Installing : libbrotli-1.0.9-11.fc38.x86_64 91/154 Installing : libdb-5.3.28-55.fc38.x86_64 92/154 Installing : libeconf-0.4.0-5.fc38.x86_64 93/154 Installing : shadow-utils-2:4.13-7.fc39.x86_64 94/154 Running scriptlet: libutempter-1.2.1-9.fc39.x86_64 95/154 Installing : libutempter-1.2.1-9.fc39.x86_64 95/154 Installing : libffi-3.4.4-2.fc38.x86_64 96/154 Installing : p11-kit-0.24.1-6.fc38.x86_64 97/154 Installing : libgomp-13.1.1-4.fc39.x86_64 98/154 Installing : libnghttp2-1.54.0-1.fc39.x86_64 99/154 Installing : libpkgconf-1.9.4-2.fc39.x86_64 100/154 Installing : pkgconf-1.9.4-2.fc39.x86_64 101/154 Installing : pkgconf-pkg-config-1.9.4-2.fc39.x86_64 102/154 Installing : libsigsegv-2.14-4.fc38.x86_64 103/154 Installing : gawk-5.2.2-1.fc39.x86_64 104/154 Installing : libtasn1-4.19.0-2.fc38.x86_64 105/154 Installing : p11-kit-trust-0.24.1-6.fc38.x86_64 106/154 Running scriptlet: p11-kit-trust-0.24.1-6.fc38.x86_64 106/154 Installing : libunistring-1.1-3.fc38.x86_64 107/154 Installing : libunistring1.0-1.0-1.fc38.x86_64 108/154 Installing : libidn2-2.3.4-2.fc38.x86_64 109/154 Installing : libpsl-0.21.2-3.fc39.x86_64 110/154 Installing : libverto-0.3.2-5.fc38.x86_64 111/154 Installing : xxhash-libs-0.8.1-5.fc39.x86_64 112/154 Installing : coreutils-common-9.3-1.fc39.x86_64 113/154 Installing : openssl-libs-1:3.0.8-2.fc39.x86_64 114/154 Installing : coreutils-9.3-1.fc39.x86_64 115/154 Running scriptlet: ca-certificates-2023.2.60-2.fc38.noarch 116/154 Installing : ca-certificates-2023.2.60-2.fc38.noarch 116/154 Running scriptlet: ca-certificates-2023.2.60-2.fc38.noarch 116/154 Installing : krb5-libs-1.21-1.fc39.x86_64 117/154 Installing : libtirpc-1.3.3-1.rc1.fc39.x86_64 118/154 Running scriptlet: authselect-libs-1.4.2-2.fc38.x86_64 119/154 Installing : authselect-libs-1.4.2-2.fc38.x86_64 119/154 Installing : gzip-1.12-3.fc38.x86_64 120/154 Installing : cracklib-2.9.7-31.fc38.x86_64 121/154 Installing : libpwquality-1.4.5-3.fc38.x86_64 122/154 Installing : authselect-1.4.2-2.fc38.x86_64 123/154 Installing : libnsl2-2.0.0-5.fc38.x86_64 124/154 Installing : pam-1.5.3-1.fc39.x86_64 125/154 Installing : libssh-0.10.5-1.fc39.x86_64 126/154 Installing : libarchive-3.6.1-5.fc39.x86_64 127/154 Installing : libevent-2.1.12-8.fc38.x86_64 128/154 Installing : openldap-2.6.4-2.fc39.x86_64 129/154 Installing : libcurl-8.1.2-1.fc39.x86_64 130/154 Installing : elfutils-libs-0.189-2.fc39.x86_64 131/154 Installing : elfutils-debuginfod-client-0.189-2.fc39.x86_64 132/154 Installing : binutils-gold-2.40-9.fc39.x86_64 133/154 Installing : binutils-2.40-9.fc39.x86_64 134/154 Running scriptlet: binutils-2.40-9.fc39.x86_64 134/154 Installing : elfutils-0.189-2.fc39.x86_64 135/154 Installing : gdb-minimal-13.2-1.fc39.x86_64 136/154 Installing : debugedit-5.0-9.fc39.x86_64 137/154 Installing : curl-8.1.2-1.fc39.x86_64 138/154 Installing : rpm-sequoia-1.4.1-1.fc39.x86_64 139/154 Installing : rpm-libs-4.18.91-6.fc39.x86_64 140/154 Running scriptlet: rpm-4.18.91-6.fc39.x86_64 141/154 Installing : rpm-4.18.91-6.fc39.x86_64 141/154 Installing : efi-srpm-macros-5-8.fc39.noarch 142/154 Installing : lua-srpm-macros-1-8.fc38.noarch 143/154 Installing : rpmautospec-rpm-macros-0.3.5-2.fc39.noarch 144/154 Installing : rpm-build-libs-4.18.91-6.fc39.x86_64 145/154 Installing : ansible-srpm-macros-1-10.fc39.noarch 146/154 Installing : fonts-srpm-macros-1:2.0.5-11.fc38.noarch 147/154 Installing : go-srpm-macros-3.2.0-3.fc39.noarch 148/154 Installing : python-srpm-macros-3.11-10.fc39.noarch 149/154 Installing : redhat-rpm-config-255-1.fc39.noarch 150/154 Installing : rpm-build-4.18.91-6.fc39.x86_64 151/154 Installing : util-linux-2.39.1-1.fc39.x86_64 152/154 Installing : which-2.21-39.fc39.x86_64 153/154 Installing : info-7.0.3-2.fc39.x86_64 154/154 Running scriptlet: filesystem-3.18-4.fc39.x86_64 154/154 Running scriptlet: ca-certificates-2023.2.60-2.fc38.noarch 154/154 Running scriptlet: authselect-libs-1.4.2-2.fc38.x86_64 154/154 Running scriptlet: rpm-4.18.91-6.fc39.x86_64 154/154 Running scriptlet: info-7.0.3-2.fc39.x86_64 154/154 Verifying : alternatives-1.24-1.fc39.x86_64 1/154 Verifying : ansible-srpm-macros-1-10.fc39.noarch 2/154 Verifying : audit-libs-3.1.1-1.fc39.x86_64 3/154 Verifying : authselect-1.4.2-2.fc38.x86_64 4/154 Verifying : authselect-libs-1.4.2-2.fc38.x86_64 5/154 Verifying : basesystem-11-17.fc39.noarch 6/154 Verifying : bash-5.2.15-3.fc38.x86_64 7/154 Verifying : binutils-2.40-9.fc39.x86_64 8/154 Verifying : binutils-gold-2.40-9.fc39.x86_64 9/154 Verifying : bzip2-1.0.8-13.fc38.x86_64 10/154 Verifying : bzip2-libs-1.0.8-13.fc38.x86_64 11/154 Verifying : ca-certificates-2023.2.60-2.fc38.noarch 12/154 Verifying : coreutils-9.3-1.fc39.x86_64 13/154 Verifying : coreutils-common-9.3-1.fc39.x86_64 14/154 Verifying : cpio-2.14-2.fc39.x86_64 15/154 Verifying : cracklib-2.9.7-31.fc38.x86_64 16/154 Verifying : crypto-policies-20230614-1.git5f3458e.fc39.noarc 17/154 Verifying : curl-8.1.2-1.fc39.x86_64 18/154 Verifying : cyrus-sasl-lib-2.1.28-10.fc39.x86_64 19/154 Verifying : debugedit-5.0-9.fc39.x86_64 20/154 Verifying : diffutils-3.10-1.fc39.x86_64 21/154 Verifying : dwz-0.15-2.fc38.x86_64 22/154 Verifying : ed-1.19-2.fc38.x86_64 23/154 Verifying : efi-srpm-macros-5-8.fc39.noarch 24/154 Verifying : elfutils-0.189-2.fc39.x86_64 25/154 Verifying : elfutils-debuginfod-client-0.189-2.fc39.x86_64 26/154 Verifying : elfutils-default-yama-scope-0.189-2.fc39.noarch 27/154 Verifying : elfutils-libelf-0.189-2.fc39.x86_64 28/154 Verifying : elfutils-libs-0.189-2.fc39.x86_64 29/154 Verifying : fedora-gpg-keys-39-0.1.noarch 30/154 Verifying : fedora-release-39-0.14.noarch 31/154 Verifying : fedora-release-common-39-0.14.noarch 32/154 Verifying : fedora-release-identity-basic-39-0.14.noarch 33/154 Verifying : fedora-repos-39-0.1.noarch 34/154 Verifying : fedora-repos-rawhide-39-0.1.noarch 35/154 Verifying : file-5.44-3.fc39.x86_64 36/154 Verifying : file-libs-5.44-3.fc39.x86_64 37/154 Verifying : filesystem-3.18-4.fc39.x86_64 38/154 Verifying : findutils-1:4.9.0-4.fc39.x86_64 39/154 Verifying : fonts-srpm-macros-1:2.0.5-11.fc38.noarch 40/154 Verifying : fpc-srpm-macros-1.3-7.fc38.noarch 41/154 Verifying : gawk-5.2.2-1.fc39.x86_64 42/154 Verifying : gdb-minimal-13.2-1.fc39.x86_64 43/154 Verifying : gdbm-libs-1:1.23-3.fc38.x86_64 44/154 Verifying : ghc-srpm-macros-1.6.1-1.fc38.noarch 45/154 Verifying : glibc-2.37.9000-15.fc39.x86_64 46/154 Verifying : glibc-common-2.37.9000-15.fc39.x86_64 47/154 Verifying : glibc-gconv-extra-2.37.9000-15.fc39.x86_64 48/154 Verifying : glibc-minimal-langpack-2.37.9000-15.fc39.x86_64 49/154 Verifying : gmp-1:6.2.1-4.fc38.x86_64 50/154 Verifying : gnat-srpm-macros-6-2.fc38.noarch 51/154 Verifying : go-srpm-macros-3.2.0-3.fc39.noarch 52/154 Verifying : grep-3.11-1.fc39.x86_64 53/154 Verifying : gzip-1.12-3.fc38.x86_64 54/154 Verifying : info-7.0.3-2.fc39.x86_64 55/154 Verifying : jansson-2.13.1-6.fc38.x86_64 56/154 Verifying : kernel-srpm-macros-1.0-19.fc39.noarch 57/154 Verifying : keyutils-libs-1.6.1-6.fc38.x86_64 58/154 Verifying : krb5-libs-1.21-1.fc39.x86_64 59/154 Verifying : libacl-2.3.1-7.fc39.x86_64 60/154 Verifying : libarchive-3.6.1-5.fc39.x86_64 61/154 Verifying : libattr-2.5.1-7.fc39.x86_64 62/154 Verifying : libblkid-2.39.1-1.fc39.x86_64 63/154 Verifying : libbrotli-1.0.9-11.fc38.x86_64 64/154 Verifying : libcap-2.48-6.fc38.x86_64 65/154 Verifying : libcap-ng-0.8.3-5.fc38.x86_64 66/154 Verifying : libcom_err-1.47.0-1.fc39.x86_64 67/154 Verifying : libcurl-8.1.2-1.fc39.x86_64 68/154 Verifying : libdb-5.3.28-55.fc38.x86_64 69/154 Verifying : libeconf-0.4.0-5.fc38.x86_64 70/154 Verifying : libevent-2.1.12-8.fc38.x86_64 71/154 Verifying : libfdisk-2.39.1-1.fc39.x86_64 72/154 Verifying : libffi-3.4.4-2.fc38.x86_64 73/154 Verifying : libgcc-13.1.1-4.fc39.x86_64 74/154 Verifying : libgomp-13.1.1-4.fc39.x86_64 75/154 Verifying : libidn2-2.3.4-2.fc38.x86_64 76/154 Verifying : libmount-2.39.1-1.fc39.x86_64 77/154 Verifying : libnghttp2-1.54.0-1.fc39.x86_64 78/154 Verifying : libnsl2-2.0.0-5.fc38.x86_64 79/154 Verifying : libpkgconf-1.9.4-2.fc39.x86_64 80/154 Verifying : libpsl-0.21.2-3.fc39.x86_64 81/154 Verifying : libpwquality-1.4.5-3.fc38.x86_64 82/154 Verifying : libselinux-3.5-1.fc39.x86_64 83/154 Verifying : libsemanage-3.5-2.fc39.x86_64 84/154 Verifying : libsepol-3.5-1.fc39.x86_64 85/154 Verifying : libsigsegv-2.14-4.fc38.x86_64 86/154 Verifying : libsmartcols-2.39.1-1.fc39.x86_64 87/154 Verifying : libssh-0.10.5-1.fc39.x86_64 88/154 Verifying : libssh-config-0.10.5-1.fc39.noarch 89/154 Verifying : libstdc++-13.1.1-4.fc39.x86_64 90/154 Verifying : libtasn1-4.19.0-2.fc38.x86_64 91/154 Verifying : libtirpc-1.3.3-1.rc1.fc39.x86_64 92/154 Verifying : libunistring-1.1-3.fc38.x86_64 93/154 Verifying : libunistring1.0-1.0-1.fc38.x86_64 94/154 Verifying : libutempter-1.2.1-9.fc39.x86_64 95/154 Verifying : libuuid-2.39.1-1.fc39.x86_64 96/154 Verifying : libverto-0.3.2-5.fc38.x86_64 97/154 Verifying : libxcrypt-4.4.35-1.fc39.x86_64 98/154 Verifying : libxml2-2.10.4-1.fc39.x86_64 99/154 Verifying : libzstd-1.5.5-1.fc39.x86_64 100/154 Verifying : lua-libs-5.4.4-9.fc39.x86_64 101/154 Verifying : lua-srpm-macros-1-8.fc38.noarch 102/154 Verifying : lz4-libs-1.9.4-3.fc39.x86_64 103/154 Verifying : mpfr-4.1.1-3.fc38.x86_64 104/154 Verifying : ncurses-base-6.4-5.20230520.fc39.noarch 105/154 Verifying : ncurses-libs-6.4-5.20230520.fc39.x86_64 106/154 Verifying : ocaml-srpm-macros-7-3.fc38.noarch 107/154 Verifying : openblas-srpm-macros-2-13.fc38.noarch 108/154 Verifying : openldap-2.6.4-2.fc39.x86_64 109/154 Verifying : openssl-libs-1:3.0.8-2.fc39.x86_64 110/154 Verifying : p11-kit-0.24.1-6.fc38.x86_64 111/154 Verifying : p11-kit-trust-0.24.1-6.fc38.x86_64 112/154 Verifying : package-notes-srpm-macros-0.5-8.fc39.noarch 113/154 Verifying : pam-1.5.3-1.fc39.x86_64 114/154 Verifying : pam-libs-1.5.3-1.fc39.x86_64 115/154 Verifying : patch-2.7.6-21.fc39.x86_64 116/154 Verifying : pcre2-10.42-1.fc38.1.x86_64 117/154 Verifying : pcre2-syntax-10.42-1.fc38.1.noarch 118/154 Verifying : perl-srpm-macros-1-48.fc38.noarch 119/154 Verifying : pkgconf-1.9.4-2.fc39.x86_64 120/154 Verifying : pkgconf-m4-1.9.4-2.fc39.noarch 121/154 Verifying : pkgconf-pkg-config-1.9.4-2.fc39.x86_64 122/154 Verifying : popt-1.19-2.fc38.x86_64 123/154 Verifying : publicsuffix-list-dafsa-20230614-1.fc39.noarch 124/154 Verifying : pyproject-srpm-macros-1.9.0-1.fc39.noarch 125/154 Verifying : python-srpm-macros-3.11-10.fc39.noarch 126/154 Verifying : qt5-srpm-macros-5.15.10-1.fc39.noarch 127/154 Verifying : qt6-srpm-macros-6.5.1-1.fc39.noarch 128/154 Verifying : readline-8.2-3.fc38.x86_64 129/154 Verifying : redhat-rpm-config-255-1.fc39.noarch 130/154 Verifying : rpm-4.18.91-6.fc39.x86_64 131/154 Verifying : rpm-build-4.18.91-6.fc39.x86_64 132/154 Verifying : rpm-build-libs-4.18.91-6.fc39.x86_64 133/154 Verifying : rpm-libs-4.18.91-6.fc39.x86_64 134/154 Verifying : rpm-sequoia-1.4.1-1.fc39.x86_64 135/154 Verifying : rpmautospec-rpm-macros-0.3.5-2.fc39.noarch 136/154 Verifying : rust-srpm-macros-24-2.fc39.noarch 137/154 Verifying : sed-4.8-12.fc38.x86_64 138/154 Verifying : setup-2.14.3-3.fc39.noarch 139/154 Verifying : shadow-utils-2:4.13-7.fc39.x86_64 140/154 Verifying : sqlite-libs-3.41.2-3.fc39.x86_64 141/154 Verifying : systemd-libs-253.5-6.fc39.x86_64 142/154 Verifying : tar-2:1.34-8.fc39.x86_64 143/154 Verifying : tzdata-2023c-1.fc39.noarch 144/154 Verifying : unzip-6.0-60.fc38.x86_64 145/154 Verifying : util-linux-2.39.1-1.fc39.x86_64 146/154 Verifying : util-linux-core-2.39.1-1.fc39.x86_64 147/154 Verifying : which-2.21-39.fc39.x86_64 148/154 Verifying : xxhash-libs-0.8.1-5.fc39.x86_64 149/154 Verifying : xz-5.4.3-1.fc39.x86_64 150/154 Verifying : xz-libs-5.4.3-1.fc39.x86_64 151/154 Verifying : zip-3.0-36.fc38.x86_64 152/154 Verifying : zlib-1.2.13-3.fc38.x86_64 153/154 Verifying : zstd-1.5.5-1.fc39.x86_64 154/154 Installed: alternatives-1.24-1.fc39.x86_64 ansible-srpm-macros-1-10.fc39.noarch audit-libs-3.1.1-1.fc39.x86_64 authselect-1.4.2-2.fc38.x86_64 authselect-libs-1.4.2-2.fc38.x86_64 basesystem-11-17.fc39.noarch bash-5.2.15-3.fc38.x86_64 binutils-2.40-9.fc39.x86_64 binutils-gold-2.40-9.fc39.x86_64 bzip2-1.0.8-13.fc38.x86_64 bzip2-libs-1.0.8-13.fc38.x86_64 ca-certificates-2023.2.60-2.fc38.noarch coreutils-9.3-1.fc39.x86_64 coreutils-common-9.3-1.fc39.x86_64 cpio-2.14-2.fc39.x86_64 cracklib-2.9.7-31.fc38.x86_64 crypto-policies-20230614-1.git5f3458e.fc39.noarch curl-8.1.2-1.fc39.x86_64 cyrus-sasl-lib-2.1.28-10.fc39.x86_64 debugedit-5.0-9.fc39.x86_64 diffutils-3.10-1.fc39.x86_64 dwz-0.15-2.fc38.x86_64 ed-1.19-2.fc38.x86_64 efi-srpm-macros-5-8.fc39.noarch elfutils-0.189-2.fc39.x86_64 elfutils-debuginfod-client-0.189-2.fc39.x86_64 elfutils-default-yama-scope-0.189-2.fc39.noarch elfutils-libelf-0.189-2.fc39.x86_64 elfutils-libs-0.189-2.fc39.x86_64 fedora-gpg-keys-39-0.1.noarch fedora-release-39-0.14.noarch fedora-release-common-39-0.14.noarch fedora-release-identity-basic-39-0.14.noarch fedora-repos-39-0.1.noarch fedora-repos-rawhide-39-0.1.noarch file-5.44-3.fc39.x86_64 file-libs-5.44-3.fc39.x86_64 filesystem-3.18-4.fc39.x86_64 findutils-1:4.9.0-4.fc39.x86_64 fonts-srpm-macros-1:2.0.5-11.fc38.noarch fpc-srpm-macros-1.3-7.fc38.noarch gawk-5.2.2-1.fc39.x86_64 gdb-minimal-13.2-1.fc39.x86_64 gdbm-libs-1:1.23-3.fc38.x86_64 ghc-srpm-macros-1.6.1-1.fc38.noarch glibc-2.37.9000-15.fc39.x86_64 glibc-common-2.37.9000-15.fc39.x86_64 glibc-gconv-extra-2.37.9000-15.fc39.x86_64 glibc-minimal-langpack-2.37.9000-15.fc39.x86_64 gmp-1:6.2.1-4.fc38.x86_64 gnat-srpm-macros-6-2.fc38.noarch go-srpm-macros-3.2.0-3.fc39.noarch grep-3.11-1.fc39.x86_64 gzip-1.12-3.fc38.x86_64 info-7.0.3-2.fc39.x86_64 jansson-2.13.1-6.fc38.x86_64 kernel-srpm-macros-1.0-19.fc39.noarch keyutils-libs-1.6.1-6.fc38.x86_64 krb5-libs-1.21-1.fc39.x86_64 libacl-2.3.1-7.fc39.x86_64 libarchive-3.6.1-5.fc39.x86_64 libattr-2.5.1-7.fc39.x86_64 libblkid-2.39.1-1.fc39.x86_64 libbrotli-1.0.9-11.fc38.x86_64 libcap-2.48-6.fc38.x86_64 libcap-ng-0.8.3-5.fc38.x86_64 libcom_err-1.47.0-1.fc39.x86_64 libcurl-8.1.2-1.fc39.x86_64 libdb-5.3.28-55.fc38.x86_64 libeconf-0.4.0-5.fc38.x86_64 libevent-2.1.12-8.fc38.x86_64 libfdisk-2.39.1-1.fc39.x86_64 libffi-3.4.4-2.fc38.x86_64 libgcc-13.1.1-4.fc39.x86_64 libgomp-13.1.1-4.fc39.x86_64 libidn2-2.3.4-2.fc38.x86_64 libmount-2.39.1-1.fc39.x86_64 libnghttp2-1.54.0-1.fc39.x86_64 libnsl2-2.0.0-5.fc38.x86_64 libpkgconf-1.9.4-2.fc39.x86_64 libpsl-0.21.2-3.fc39.x86_64 libpwquality-1.4.5-3.fc38.x86_64 libselinux-3.5-1.fc39.x86_64 libsemanage-3.5-2.fc39.x86_64 libsepol-3.5-1.fc39.x86_64 libsigsegv-2.14-4.fc38.x86_64 libsmartcols-2.39.1-1.fc39.x86_64 libssh-0.10.5-1.fc39.x86_64 libssh-config-0.10.5-1.fc39.noarch libstdc++-13.1.1-4.fc39.x86_64 libtasn1-4.19.0-2.fc38.x86_64 libtirpc-1.3.3-1.rc1.fc39.x86_64 libunistring-1.1-3.fc38.x86_64 libunistring1.0-1.0-1.fc38.x86_64 libutempter-1.2.1-9.fc39.x86_64 libuuid-2.39.1-1.fc39.x86_64 libverto-0.3.2-5.fc38.x86_64 libxcrypt-4.4.35-1.fc39.x86_64 libxml2-2.10.4-1.fc39.x86_64 libzstd-1.5.5-1.fc39.x86_64 lua-libs-5.4.4-9.fc39.x86_64 lua-srpm-macros-1-8.fc38.noarch lz4-libs-1.9.4-3.fc39.x86_64 mpfr-4.1.1-3.fc38.x86_64 ncurses-base-6.4-5.20230520.fc39.noarch ncurses-libs-6.4-5.20230520.fc39.x86_64 ocaml-srpm-macros-7-3.fc38.noarch openblas-srpm-macros-2-13.fc38.noarch openldap-2.6.4-2.fc39.x86_64 openssl-libs-1:3.0.8-2.fc39.x86_64 p11-kit-0.24.1-6.fc38.x86_64 p11-kit-trust-0.24.1-6.fc38.x86_64 package-notes-srpm-macros-0.5-8.fc39.noarch pam-1.5.3-1.fc39.x86_64 pam-libs-1.5.3-1.fc39.x86_64 patch-2.7.6-21.fc39.x86_64 pcre2-10.42-1.fc38.1.x86_64 pcre2-syntax-10.42-1.fc38.1.noarch perl-srpm-macros-1-48.fc38.noarch pkgconf-1.9.4-2.fc39.x86_64 pkgconf-m4-1.9.4-2.fc39.noarch pkgconf-pkg-config-1.9.4-2.fc39.x86_64 popt-1.19-2.fc38.x86_64 publicsuffix-list-dafsa-20230614-1.fc39.noarch pyproject-srpm-macros-1.9.0-1.fc39.noarch python-srpm-macros-3.11-10.fc39.noarch qt5-srpm-macros-5.15.10-1.fc39.noarch qt6-srpm-macros-6.5.1-1.fc39.noarch readline-8.2-3.fc38.x86_64 redhat-rpm-config-255-1.fc39.noarch rpm-4.18.91-6.fc39.x86_64 rpm-build-4.18.91-6.fc39.x86_64 rpm-build-libs-4.18.91-6.fc39.x86_64 rpm-libs-4.18.91-6.fc39.x86_64 rpm-sequoia-1.4.1-1.fc39.x86_64 rpmautospec-rpm-macros-0.3.5-2.fc39.noarch rust-srpm-macros-24-2.fc39.noarch sed-4.8-12.fc38.x86_64 setup-2.14.3-3.fc39.noarch shadow-utils-2:4.13-7.fc39.x86_64 sqlite-libs-3.41.2-3.fc39.x86_64 systemd-libs-253.5-6.fc39.x86_64 tar-2:1.34-8.fc39.x86_64 tzdata-2023c-1.fc39.noarch unzip-6.0-60.fc38.x86_64 util-linux-2.39.1-1.fc39.x86_64 util-linux-core-2.39.1-1.fc39.x86_64 which-2.21-39.fc39.x86_64 xxhash-libs-0.8.1-5.fc39.x86_64 xz-5.4.3-1.fc39.x86_64 xz-libs-5.4.3-1.fc39.x86_64 zip-3.0-36.fc38.x86_64 zlib-1.2.13-3.fc38.x86_64 zstd-1.5.5-1.fc39.x86_64 Complete! Finish: installing minimal buildroot with dnf Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: grep-3.11-1.fc39.x86_64 ed-1.19-2.fc38.x86_64 libpsl-0.21.2-3.fc39.x86_64 libfdisk-2.39.1-1.fc39.x86_64 libgomp-13.1.1-4.fc39.x86_64 libmount-2.39.1-1.fc39.x86_64 ansible-srpm-macros-1-10.fc39.noarch publicsuffix-list-dafsa-20230614-1.fc39.noarch openldap-2.6.4-2.fc39.x86_64 ncurses-base-6.4-5.20230520.fc39.noarch gnat-srpm-macros-6-2.fc38.noarch libssh-config-0.10.5-1.fc39.noarch libuuid-2.39.1-1.fc39.x86_64 pam-1.5.3-1.fc39.x86_64 libevent-2.1.12-8.fc38.x86_64 libsigsegv-2.14-4.fc38.x86_64 libcom_err-1.47.0-1.fc39.x86_64 package-notes-srpm-macros-0.5-8.fc39.noarch qt5-srpm-macros-5.15.10-1.fc39.noarch xz-libs-5.4.3-1.fc39.x86_64 libtasn1-4.19.0-2.fc38.x86_64 perl-srpm-macros-1-48.fc38.noarch libverto-0.3.2-5.fc38.x86_64 fedora-gpg-keys-39-0.1.noarch sed-4.8-12.fc38.x86_64 crypto-policies-20230614-1.git5f3458e.fc39.noarch zstd-1.5.5-1.fc39.x86_64 rpm-build-4.18.91-6.fc39.x86_64 systemd-libs-253.5-6.fc39.x86_64 filesystem-3.18-4.fc39.x86_64 xxhash-libs-0.8.1-5.fc39.x86_64 pam-libs-1.5.3-1.fc39.x86_64 glibc-minimal-langpack-2.37.9000-15.fc39.x86_64 authselect-1.4.2-2.fc38.x86_64 diffutils-3.10-1.fc39.x86_64 ghc-srpm-macros-1.6.1-1.fc38.noarch shadow-utils-4.13-7.fc39.x86_64 debugedit-5.0-9.fc39.x86_64 libeconf-0.4.0-5.fc38.x86_64 pkgconf-pkg-config-1.9.4-2.fc39.x86_64 rpm-sequoia-1.4.1-1.fc39.x86_64 libidn2-2.3.4-2.fc38.x86_64 binutils-2.40-9.fc39.x86_64 util-linux-2.39.1-1.fc39.x86_64 authselect-libs-1.4.2-2.fc38.x86_64 file-libs-5.44-3.fc39.x86_64 libpwquality-1.4.5-3.fc38.x86_64 sqlite-libs-3.41.2-3.fc39.x86_64 libxcrypt-4.4.35-1.fc39.x86_64 libunistring-1.1-3.fc38.x86_64 elfutils-default-yama-scope-0.189-2.fc39.noarch xz-5.4.3-1.fc39.x86_64 bash-5.2.15-3.fc38.x86_64 fedora-release-common-39-0.14.noarch zlib-1.2.13-3.fc38.x86_64 util-linux-core-2.39.1-1.fc39.x86_64 libunistring1.0-1.0-1.fc38.x86_64 openssl-libs-3.0.8-2.fc39.x86_64 libnsl2-2.0.0-5.fc38.x86_64 krb5-libs-1.21-1.fc39.x86_64 libarchive-3.6.1-5.fc39.x86_64 rpm-build-libs-4.18.91-6.fc39.x86_64 ncurses-libs-6.4-5.20230520.fc39.x86_64 fpc-srpm-macros-1.3-7.fc38.noarch gpg-pubkey-18b8e74c-62f2920f cpio-2.14-2.fc39.x86_64 binutils-gold-2.40-9.fc39.x86_64 bzip2-1.0.8-13.fc38.x86_64 libxml2-2.10.4-1.fc39.x86_64 lua-srpm-macros-1-8.fc38.noarch glibc-gconv-extra-2.37.9000-15.fc39.x86_64 alternatives-1.24-1.fc39.x86_64 qt6-srpm-macros-6.5.1-1.fc39.noarch p11-kit-trust-0.24.1-6.fc38.x86_64 elfutils-libs-0.189-2.fc39.x86_64 gdb-minimal-13.2-1.fc39.x86_64 zip-3.0-36.fc38.x86_64 tar-1.34-8.fc39.x86_64 libsmartcols-2.39.1-1.fc39.x86_64 lua-libs-5.4.4-9.fc39.x86_64 rpm-libs-4.18.91-6.fc39.x86_64 dwz-0.15-2.fc38.x86_64 pkgconf-1.9.4-2.fc39.x86_64 pcre2-10.42-1.fc38.1.x86_64 elfutils-0.189-2.fc39.x86_64 p11-kit-0.24.1-6.fc38.x86_64 libgcc-13.1.1-4.fc39.x86_64 patch-2.7.6-21.fc39.x86_64 libattr-2.5.1-7.fc39.x86_64 glibc-common-2.37.9000-15.fc39.x86_64 libacl-2.3.1-7.fc39.x86_64 lz4-libs-1.9.4-3.fc39.x86_64 bzip2-libs-1.0.8-13.fc38.x86_64 libcap-ng-0.8.3-5.fc38.x86_64 ca-certificates-2023.2.60-2.fc38.noarch go-srpm-macros-3.2.0-3.fc39.noarch libutempter-1.2.1-9.fc39.x86_64 pyproject-srpm-macros-1.9.0-1.fc39.noarch mpfr-4.1.1-3.fc38.x86_64 kernel-srpm-macros-1.0-19.fc39.noarch unzip-6.0-60.fc38.x86_64 info-7.0.3-2.fc39.x86_64 curl-8.1.2-1.fc39.x86_64 libblkid-2.39.1-1.fc39.x86_64 efi-srpm-macros-5-8.fc39.noarch gpg-pubkey-eb10b464-6202d9c6 pcre2-syntax-10.42-1.fc38.1.noarch coreutils-9.3-1.fc39.x86_64 redhat-rpm-config-255-1.fc39.noarch popt-1.19-2.fc38.x86_64 fedora-release-identity-basic-39-0.14.noarch libsemanage-3.5-2.fc39.x86_64 libzstd-1.5.5-1.fc39.x86_64 fedora-repos-39-0.1.noarch file-5.44-3.fc39.x86_64 gdbm-libs-1.23-3.fc38.x86_64 libcurl-8.1.2-1.fc39.x86_64 libsepol-3.5-1.fc39.x86_64 libpkgconf-1.9.4-2.fc39.x86_64 gmp-6.2.1-4.fc38.x86_64 jansson-2.13.1-6.fc38.x86_64 setup-2.14.3-3.fc39.noarch gzip-1.12-3.fc38.x86_64 ocaml-srpm-macros-7-3.fc38.noarch readline-8.2-3.fc38.x86_64 coreutils-common-9.3-1.fc39.x86_64 libstdc++-13.1.1-4.fc39.x86_64 pkgconf-m4-1.9.4-2.fc39.noarch fonts-srpm-macros-2.0.5-11.fc38.noarch libtirpc-1.3.3-1.rc1.fc39.x86_64 elfutils-debuginfod-client-0.189-2.fc39.x86_64 glibc-2.37.9000-15.fc39.x86_64 gawk-5.2.2-1.fc39.x86_64 rust-srpm-macros-24-2.fc39.noarch rpm-4.18.91-6.fc39.x86_64 audit-libs-3.1.1-1.fc39.x86_64 findutils-4.9.0-4.fc39.x86_64 fedora-release-39-0.14.noarch openblas-srpm-macros-2-13.fc38.noarch elfutils-libelf-0.189-2.fc39.x86_64 which-2.21-39.fc39.x86_64 libbrotli-1.0.9-11.fc38.x86_64 libnghttp2-1.54.0-1.fc39.x86_64 tzdata-2023c-1.fc39.noarch libssh-0.10.5-1.fc39.x86_64 libffi-3.4.4-2.fc38.x86_64 cyrus-sasl-lib-2.1.28-10.fc39.x86_64 cracklib-2.9.7-31.fc38.x86_64 keyutils-libs-1.6.1-6.fc38.x86_64 libselinux-3.5-1.fc39.x86_64 libdb-5.3.28-55.fc38.x86_64 fedora-repos-rawhide-39-0.1.noarch libcap-2.48-6.fc38.x86_64 python-srpm-macros-3.11-10.fc39.noarch basesystem-11-17.fc39.noarch rpmautospec-rpm-macros-0.3.5-2.fc39.noarch Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1682899200 Wrote: /builddir/build/SRPMS/python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1688303036.090485/root/var/log/dnf.rpm.log /var/lib/mock/fedora-rawhide-x86_64-1688303036.090485/root/var/log/dnf.librepo.log /var/lib/mock/fedora-rawhide-x86_64-1688303036.090485/root/var/log/dnf.log Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-uif_khfu/python-sqlalchemy-utils/python-sqlalchemy-utils.spec) Config(child) 0 minutes 44 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot Finish: run Running (timeout=18000): unbuffer mock --rebuild /var/lib/copr-rpmbuild/results/python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1688303036.090485 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 4.1 starting (python version = 3.11.3, NVR = mock-4.1-1.fc38)... Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/results/python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm) Config(fedora-rawhide-x86_64) Start: clean chroot Finish: clean chroot Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1688303036.090485/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1688303036.090485/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: enabled HW Info plugin Mock Version: 4.1 INFO: Mock Version: 4.1 INFO: Package manager dnf detected and used (fallback) Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1688303036.090485/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin Mock Version: 4.1 INFO: Mock Version: 4.1 INFO: Package manager dnf detected and used (direct choice) Start: dnf update No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 51 kB/s | 1.5 kB 00:00 Copr repository 1.6 MB/s | 93 kB 00:00 fedora 600 kB/s | 20 kB 00:00 Dependencies resolved. Nothing to do. Complete! Finish: dnf update Finish: chroot init Start: build phase for python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm Start: build setup for python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1682899200 Wrote: /builddir/build/SRPMS/python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 57 kB/s | 1.5 kB 00:00 fedora 319 kB/s | 20 kB 00:00 Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: python3-colour noarch 0.1.5-14.fc38 fedora 37 k python3-devel x86_64 3.11.4-1.fc39 fedora 269 k python3-phonenumbers noarch 8.12.53-2.fc38 fedora 4.8 M python3-pytest noarch 7.3.2-1.fc39 fedora 1.9 M Installing dependencies: expat x86_64 2.5.0-2.fc38 fedora 110 k libb2 x86_64 0.98.1-8.fc38 fedora 25 k mpdecimal x86_64 2.5.1-6.fc38 fedora 89 k pyproject-rpm-macros noarch 1.9.0-1.fc39 fedora 42 k python-pip-wheel noarch 23.1.2-1.fc39 fedora 1.4 M python-rpm-macros noarch 3.11-10.fc39 fedora 20 k python-setuptools-wheel noarch 67.7.2-2.fc39 fedora 661 k python3 x86_64 3.11.4-1.fc39 fedora 28 k python3-iniconfig noarch 1.1.1-11.fc39 fedora 18 k python3-libs x86_64 3.11.4-1.fc39 fedora 9.6 M python3-packaging noarch 23.1-1.fc39 fedora 117 k python3-pluggy noarch 1.0.0-6.fc38 fedora 45 k python3-rpm-generators noarch 14-6.fc39 fedora 30 k python3-rpm-macros noarch 3.11-10.fc39 fedora 15 k Transaction Summary ================================================================================ Install 18 Packages Total size: 19 M Total download size: 4.8 M Installed size: 108 M Downloading Packages: [SKIPPED] expat-2.5.0-2.fc38.x86_64.rpm: Already downloaded [SKIPPED] libb2-0.98.1-8.fc38.x86_64.rpm: Already downloaded [SKIPPED] mpdecimal-2.5.1-6.fc38.x86_64.rpm: Already downloaded [SKIPPED] pyproject-rpm-macros-1.9.0-1.fc39.noarch.rpm: Already downloaded [SKIPPED] python-pip-wheel-23.1.2-1.fc39.noarch.rpm: Already downloaded [SKIPPED] python-rpm-macros-3.11-10.fc39.noarch.rpm: Already downloaded [SKIPPED] python-setuptools-wheel-67.7.2-2.fc39.noarch.rpm: Already downloaded [SKIPPED] python3-3.11.4-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] python3-devel-3.11.4-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] python3-iniconfig-1.1.1-11.fc39.noarch.rpm: Already downloaded [SKIPPED] python3-libs-3.11.4-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] python3-packaging-23.1-1.fc39.noarch.rpm: Already downloaded [SKIPPED] python3-pluggy-1.0.0-6.fc38.noarch.rpm: Already downloaded [SKIPPED] python3-pytest-7.3.2-1.fc39.noarch.rpm: Already downloaded [SKIPPED] python3-rpm-generators-14-6.fc39.noarch.rpm: Already downloaded [SKIPPED] python3-rpm-macros-3.11-10.fc39.noarch.rpm: Already downloaded (17/18): python3-colour-0.1.5-14.fc38.noarch.rp 1.1 MB/s | 37 kB 00:00 (18/18): python3-phonenumbers-8.12.53-2.fc38.no 31 MB/s | 4.8 MB 00:00 -------------------------------------------------------------------------------- Total 16 MB/s | 4.8 MB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : python-rpm-macros-3.11-10.fc39.noarch 1/18 Installing : python3-rpm-macros-3.11-10.fc39.noarch 2/18 Installing : pyproject-rpm-macros-1.9.0-1.fc39.noarch 3/18 Installing : python-setuptools-wheel-67.7.2-2.fc39.noarch 4/18 Installing : python-pip-wheel-23.1.2-1.fc39.noarch 5/18 Installing : mpdecimal-2.5.1-6.fc38.x86_64 6/18 Installing : libb2-0.98.1-8.fc38.x86_64 7/18 Installing : expat-2.5.0-2.fc38.x86_64 8/18 Installing : python3-3.11.4-1.fc39.x86_64 9/18 Installing : python3-libs-3.11.4-1.fc39.x86_64 10/18 Installing : python3-packaging-23.1-1.fc39.noarch 11/18 Installing : python3-rpm-generators-14-6.fc39.noarch 12/18 Installing : python3-iniconfig-1.1.1-11.fc39.noarch 13/18 Installing : python3-pluggy-1.0.0-6.fc38.noarch 14/18 Installing : python3-pytest-7.3.2-1.fc39.noarch 15/18 Installing : python3-devel-3.11.4-1.fc39.x86_64 16/18 Installing : python3-colour-0.1.5-14.fc38.noarch 17/18 Installing : python3-phonenumbers-8.12.53-2.fc38.noarch 18/18 Running scriptlet: python3-phonenumbers-8.12.53-2.fc38.noarch 18/18 Verifying : expat-2.5.0-2.fc38.x86_64 1/18 Verifying : libb2-0.98.1-8.fc38.x86_64 2/18 Verifying : mpdecimal-2.5.1-6.fc38.x86_64 3/18 Verifying : pyproject-rpm-macros-1.9.0-1.fc39.noarch 4/18 Verifying : python-pip-wheel-23.1.2-1.fc39.noarch 5/18 Verifying : python-rpm-macros-3.11-10.fc39.noarch 6/18 Verifying : python-setuptools-wheel-67.7.2-2.fc39.noarch 7/18 Verifying : python3-3.11.4-1.fc39.x86_64 8/18 Verifying : python3-colour-0.1.5-14.fc38.noarch 9/18 Verifying : python3-devel-3.11.4-1.fc39.x86_64 10/18 Verifying : python3-iniconfig-1.1.1-11.fc39.noarch 11/18 Verifying : python3-libs-3.11.4-1.fc39.x86_64 12/18 Verifying : python3-packaging-23.1-1.fc39.noarch 13/18 Verifying : python3-phonenumbers-8.12.53-2.fc38.noarch 14/18 Verifying : python3-pluggy-1.0.0-6.fc38.noarch 15/18 Verifying : python3-pytest-7.3.2-1.fc39.noarch 16/18 Verifying : python3-rpm-generators-14-6.fc39.noarch 17/18 Verifying : python3-rpm-macros-3.11-10.fc39.noarch 18/18 Installed: expat-2.5.0-2.fc38.x86_64 libb2-0.98.1-8.fc38.x86_64 mpdecimal-2.5.1-6.fc38.x86_64 pyproject-rpm-macros-1.9.0-1.fc39.noarch python-pip-wheel-23.1.2-1.fc39.noarch python-rpm-macros-3.11-10.fc39.noarch python-setuptools-wheel-67.7.2-2.fc39.noarch python3-3.11.4-1.fc39.x86_64 python3-colour-0.1.5-14.fc38.noarch python3-devel-3.11.4-1.fc39.x86_64 python3-iniconfig-1.1.1-11.fc39.noarch python3-libs-3.11.4-1.fc39.x86_64 python3-packaging-23.1-1.fc39.noarch python3-phonenumbers-8.12.53-2.fc38.noarch python3-pluggy-1.0.0-6.fc38.noarch python3-pytest-7.3.2-1.fc39.noarch python3-rpm-generators-14-6.fc39.noarch python3-rpm-macros-3.11-10.fc39.noarch Complete! Finish: build setup for python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm Start: rpmbuild python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1682899200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.xp1zia + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf SQLAlchemy-Utils-0.41.1 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/SQLAlchemy-Utils-0.41.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd SQLAlchemy-Utils-0.41.1 + /usr/bin/mkdir -p SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/no-psycopg2cffi.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + rm -rf SQLAlchemy-Utils.egg-info + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.cNaunF + umask 022 + cd /builddir/build/BUILD + cd SQLAlchemy-Utils-0.41.1 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/.pyproject-builddir + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/pyproject-wheeldir --output /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-buildrequires -x test Handling setuptools >= 40.8 from default build backend Requirement not satisfied: setuptools >= 40.8 Handling wheel from default build backend Requirement not satisfied: wheel Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-sqlalchemy-utils-0.41.1-1.fc39.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 38 kB/s | 1.5 kB 00:00 fedora 591 kB/s | 20 kB 00:00 Package pyproject-rpm-macros-1.9.0-1.fc39.noarch is already installed. Package python3-colour-0.1.5-14.fc38.noarch is already installed. Package python3-devel-3.11.4-1.fc39.x86_64 is already installed. Package python3-devel-3.11.4-1.fc39.x86_64 is already installed. Package python3-phonenumbers-8.12.53-2.fc38.noarch is already installed. Package python3-pytest-7.3.2-1.fc39.noarch is already installed. Package python3-packaging-23.1-1.fc39.noarch is already installed. Dependencies resolved. ================================================================================ Package Architecture Version Repository Size ================================================================================ Installing: python3-pip noarch 23.1.2-1.fc39 fedora 3.1 M python3-setuptools noarch 67.7.2-2.fc39 fedora 1.5 M python3-wheel noarch 1:0.40.0-1.fc39 fedora 166 k Transaction Summary ================================================================================ Install 3 Packages Total size: 4.8 M Total download size: 3.3 M Installed size: 22 M Downloading Packages: [SKIPPED] python3-setuptools-67.7.2-2.fc39.noarch.rpm: Already downloaded (2/3): python3-wheel-0.40.0-1.fc39.noarch.rpm 5.9 MB/s | 166 kB 00:00 (3/3): python3-pip-23.1.2-1.fc39.noarch.rpm 81 MB/s | 3.1 MB 00:00 -------------------------------------------------------------------------------- Total 29 MB/s | 3.3 MB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : python3-setuptools-67.7.2-2.fc39.noarch 1/3 Installing : python3-pip-23.1.2-1.fc39.noarch 2/3 Installing : python3-wheel-1:0.40.0-1.fc39.noarch 3/3 Running scriptlet: python3-wheel-1:0.40.0-1.fc39.noarch 3/3 Verifying : python3-pip-23.1.2-1.fc39.noarch 1/3 Verifying : python3-setuptools-67.7.2-2.fc39.noarch 2/3 Verifying : python3-wheel-1:0.40.0-1.fc39.noarch 3/3 Installed: python3-pip-23.1.2-1.fc39.noarch python3-setuptools-67.7.2-2.fc39.noarch python3-wheel-1:0.40.0-1.fc39.noarch Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1682899200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Behnoy + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf SQLAlchemy-Utils-0.41.1 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/SQLAlchemy-Utils-0.41.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd SQLAlchemy-Utils-0.41.1 + /usr/bin/mkdir -p SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/no-psycopg2cffi.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + rm -rf SQLAlchemy-Utils.egg-info + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.Md2Za2 + umask 022 + cd /builddir/build/BUILD + cd SQLAlchemy-Utils-0.41.1 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/.pyproject-builddir + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/pyproject-wheeldir --output /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-buildrequires -x test Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 67.7.2) Handling wheel from default build backend Requirement satisfied: wheel (installed: wheel 0.40.0) running egg_info writing SQLAlchemy_Utils.egg-info/PKG-INFO writing dependency_links to SQLAlchemy_Utils.egg-info/dependency_links.txt writing requirements to SQLAlchemy_Utils.egg-info/requires.txt writing top-level names to SQLAlchemy_Utils.egg-info/top_level.txt reading manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found under directory 'tests' warning: no previously-included files matching '*.pyc' found under directory 'docs' no previously-included directories found matching 'docs/_build' warning: no previously-included files found matching 'docs/_themes/.git' adding license file 'LICENSE' writing manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.40.0) running dist_info writing SQLAlchemy_Utils.egg-info/PKG-INFO writing dependency_links to SQLAlchemy_Utils.egg-info/dependency_links.txt writing requirements to SQLAlchemy_Utils.egg-info/requires.txt writing top-level names to SQLAlchemy_Utils.egg-info/top_level.txt reading manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found under directory 'tests' warning: no previously-included files matching '*.pyc' found under directory 'docs' no previously-included directories found matching 'docs/_build' warning: no previously-included files found matching 'docs/_themes/.git' adding license file 'LICENSE' writing manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/SQLAlchemy_Utils-0.41.1.dist-info' Handling SQLAlchemy (>=1.3) from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: SQLAlchemy (>=1.3) Handling importlib-metadata ; python_version < "3.8" from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: importlib-metadata ; python_version < "3.8" Handling arrow (>=0.3.4) ; extra == 'arrow' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: arrow (>=0.3.4) ; extra == 'arrow' Handling Babel (>=1.3) ; extra == 'babel' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Babel (>=1.3) ; extra == 'babel' Handling colour (>=0.0.4) ; extra == 'color' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: colour (>=0.0.4) ; extra == 'color' Handling cryptography (>=0.6) ; extra == 'encrypted' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: cryptography (>=0.6) ; extra == 'encrypted' Handling intervals (>=0.7.1) ; extra == 'intervals' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: intervals (>=0.7.1) ; extra == 'intervals' Handling passlib (<2.0,>=1.6) ; extra == 'password' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: passlib (<2.0,>=1.6) ; extra == 'password' Handling pendulum (>=2.0.5) ; extra == 'pendulum' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pendulum (>=2.0.5) ; extra == 'pendulum' Handling phonenumbers (>=5.9.2) ; extra == 'phone' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: phonenumbers (>=5.9.2) ; extra == 'phone' Handling pytest (>=2.7.1) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: pytest (>=2.7.1) ; extra == 'test' (installed: pytest 7.3.2) Handling Pygments (>=1.2) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: Pygments (>=1.2) ; extra == 'test' Handling Jinja2 (>=2.3) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: Jinja2 (>=2.3) ; extra == 'test' Handling docutils (>=0.10) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: docutils (>=0.10) ; extra == 'test' Handling flexmock (>=0.9.7) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: flexmock (>=0.9.7) ; extra == 'test' Handling psycopg (>=3.1.8) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: psycopg (>=3.1.8) ; extra == 'test' Handling psycopg2 (>=2.5.1) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: psycopg2 (>=2.5.1) ; extra == 'test' Handling pg8000 (>=1.12.4) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: pg8000 (>=1.12.4) ; extra == 'test' Handling pytz (>=2014.2) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: pytz (>=2014.2) ; extra == 'test' Handling python-dateutil (>=2.6) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: python-dateutil (>=2.6) ; extra == 'test' Handling pymysql ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: pymysql ; extra == 'test' Handling flake8 (>=2.4.0) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: flake8 (>=2.4.0) ; extra == 'test' Handling isort (>=4.2.2) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: isort (>=4.2.2) ; extra == 'test' Handling pyodbc ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement not satisfied: pyodbc ; extra == 'test' Handling backports.zoneinfo ; (python_version < "3.9") and extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: backports.zoneinfo ; (python_version < "3.9") and extra == 'test' Handling Babel (>=1.3) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Babel (>=1.3) ; extra == 'test_all' Handling Jinja2 (>=2.3) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Jinja2 (>=2.3) ; extra == 'test_all' Handling Pygments (>=1.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Pygments (>=1.2) ; extra == 'test_all' Handling arrow (>=0.3.4) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: arrow (>=0.3.4) ; extra == 'test_all' Handling colour (>=0.0.4) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: colour (>=0.0.4) ; extra == 'test_all' Handling cryptography (>=0.6) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: cryptography (>=0.6) ; extra == 'test_all' Handling docutils (>=0.10) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: docutils (>=0.10) ; extra == 'test_all' Handling flake8 (>=2.4.0) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: flake8 (>=2.4.0) ; extra == 'test_all' Handling flexmock (>=0.9.7) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: flexmock (>=0.9.7) ; extra == 'test_all' Handling furl (>=0.4.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: furl (>=0.4.1) ; extra == 'test_all' Handling intervals (>=0.7.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: intervals (>=0.7.1) ; extra == 'test_all' Handling isort (>=4.2.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: isort (>=4.2.2) ; extra == 'test_all' Handling passlib (<2.0,>=1.6) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: passlib (<2.0,>=1.6) ; extra == 'test_all' Handling pendulum (>=2.0.5) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pendulum (>=2.0.5) ; extra == 'test_all' Handling pg8000 (>=1.12.4) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pg8000 (>=1.12.4) ; extra == 'test_all' Handling phonenumbers (>=5.9.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: phonenumbers (>=5.9.2) ; extra == 'test_all' Handling psycopg2 (>=2.5.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: psycopg2 (>=2.5.1) ; extra == 'test_all' Handling psycopg (>=3.1.8) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: psycopg (>=3.1.8) ; extra == 'test_all' Handling pymysql ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pymysql ; extra == 'test_all' Handling pyodbc ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pyodbc ; extra == 'test_all' Handling pytest (>=2.7.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pytest (>=2.7.1) ; extra == 'test_all' Handling python-dateutil ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: python-dateutil ; extra == 'test_all' Handling python-dateutil (>=2.6) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: python-dateutil (>=2.6) ; extra == 'test_all' Handling pytz (>=2014.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pytz (>=2014.2) ; extra == 'test_all' Handling backports.zoneinfo ; (python_version < "3.9") and extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: backports.zoneinfo ; (python_version < "3.9") and extra == 'test_all' Handling python-dateutil ; extra == 'timezone' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: python-dateutil ; extra == 'timezone' Handling furl (>=0.4.1) ; extra == 'url' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: furl (>=0.4.1) ; extra == 'url' + cat /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-buildrequires + rm -rfv SQLAlchemy_Utils-0.41.1.dist-info/ removed 'SQLAlchemy_Utils-0.41.1.dist-info/LICENSE' removed 'SQLAlchemy_Utils-0.41.1.dist-info/METADATA' removed 'SQLAlchemy_Utils-0.41.1.dist-info/top_level.txt' removed directory 'SQLAlchemy_Utils-0.41.1.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-sqlalchemy-utils-0.41.1-1.fc39.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 57 kB/s | 1.5 kB 00:00 fedora 174 kB/s | 20 kB 00:00 Package pyproject-rpm-macros-1.9.0-1.fc39.noarch is already installed. Package python3-colour-0.1.5-14.fc38.noarch is already installed. Package python3-devel-3.11.4-1.fc39.x86_64 is already installed. Package python3-devel-3.11.4-1.fc39.x86_64 is already installed. Package python3-phonenumbers-8.12.53-2.fc38.noarch is already installed. Package python3-pytest-7.3.2-1.fc39.noarch is already installed. Package python3-packaging-23.1-1.fc39.noarch is already installed. Package python3-pip-23.1.2-1.fc39.noarch is already installed. Package python3-pytest-7.3.2-1.fc39.noarch is already installed. Package python3-setuptools-67.7.2-2.fc39.noarch is already installed. Package python3-wheel-1:0.40.0-1.fc39.noarch is already installed. Dependencies resolved. ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: python3-PyMySQL noarch 1.0.3-2.fc39 fedora 118 k python3-dateutil noarch 1:2.8.2-6.fc39 fedora 360 k python3-docutils noarch 0.19-2.fc38 fedora 1.1 M python3-flake8 noarch 5.0.3-2.fc38 fedora 158 k python3-flexmock noarch 0.11.3-5.fc38 fedora 88 k python3-isort noarch 5.12.0-2.fc39 fedora 247 k python3-jinja2 noarch 3.1.2-2.fc39 fedora 513 k python3-pg8000 noarch 1.26.1-4.fc38 fedora 77 k python3-psycopg2 x86_64 2.9.6-1.fc39 fedora 209 k python3-psycopg3 noarch 3.1.9-1.fc39 fedora 411 k python3-pygments noarch 2.15.1-1.fc39 fedora 2.4 M python3-pyodbc x86_64 4.0.39-2.fc39 fedora 80 k python3-pytz noarch 2023.3-1.fc39 fedora 65 k python3-sqlalchemy x86_64 2.0.17-1.fc39 copr_base 3.4 M Installing dependencies: libpq x86_64 15.0-3.fc38 fedora 213 k libtool-ltdl x86_64 2.4.7-6.fc38 fedora 37 k python3-asn1crypto noarch 1.5.1-4.fc38 fedora 238 k python3-greenlet x86_64 1.1.3-2.fc38 fedora 133 k python3-markupsafe x86_64 2.1.2-1.fc38 fedora 30 k python3-mccabe noarch 0.7.0-2.fc38 fedora 23 k python3-pycodestyle noarch 2.9.1-2.fc38 fedora 107 k python3-pyflakes noarch 2.5.0-2.fc38 fedora 98 k python3-scramp noarch 1.4.1-5.fc38 fedora 37 k python3-six noarch 1.16.0-9.fc38 fedora 42 k python3-typing-extensions noarch 4.7.0-1.fc39 fedora 79 k unixODBC x86_64 2.3.11-3.fc39 fedora 481 k Transaction Summary ================================================================================ Install 26 Packages Total size: 11 M Total download size: 2.5 M Installed size: 52 M Downloading Packages: [SKIPPED] python3-sqlalchemy-2.0.17-1.fc39.x86_64.rpm: Already downloaded [SKIPPED] libtool-ltdl-2.4.7-6.fc38.x86_64.rpm: Already downloaded [SKIPPED] python3-dateutil-2.8.2-6.fc39.noarch.rpm: Already downloaded [SKIPPED] python3-docutils-0.19-2.fc38.noarch.rpm: Already downloaded [SKIPPED] python3-greenlet-1.1.3-2.fc38.x86_64.rpm: Already downloaded [SKIPPED] python3-jinja2-3.1.2-2.fc39.noarch.rpm: Already downloaded [SKIPPED] python3-markupsafe-2.1.2-1.fc38.x86_64.rpm: Already downloaded [SKIPPED] python3-pygments-2.15.1-1.fc39.noarch.rpm: Already downloaded [SKIPPED] python3-pytz-2023.3-1.fc39.noarch.rpm: Already downloaded [SKIPPED] python3-six-1.16.0-9.fc38.noarch.rpm: Already downloaded [SKIPPED] python3-typing-extensions-4.7.0-1.fc39.noarch.rpm: Already downloaded (12/26): libpq-15.0-3.fc38.x86_64.rpm 7.5 MB/s | 213 kB 00:00 (13/26): python3-PyMySQL-1.0.3-2.fc39.noarch.rp 4.0 MB/s | 118 kB 00:00 (14/26): python3-flake8-5.0.3-2.fc38.noarch.rpm 60 MB/s | 158 kB 00:00 (15/26): python3-isort-5.12.0-2.fc39.noarch.rpm 81 MB/s | 247 kB 00:00 (16/26): python3-mccabe-0.7.0-2.fc38.noarch.rpm 9.3 MB/s | 23 kB 00:00 (17/26): python3-flexmock-0.11.3-5.fc38.noarch. 9.4 MB/s | 88 kB 00:00 (18/26): python3-psycopg2-2.9.6-1.fc39.x86_64.r 70 MB/s | 209 kB 00:00 (19/26): python3-asn1crypto-1.5.1-4.fc38.noarch 5.2 MB/s | 238 kB 00:00 (20/26): python3-pycodestyle-2.9.1-2.fc38.noarc 45 MB/s | 107 kB 00:00 (21/26): python3-pg8000-1.26.1-4.fc38.noarch.rp 6.2 MB/s | 77 kB 00:00 (22/26): python3-pyflakes-2.5.0-2.fc38.noarch.r 30 MB/s | 98 kB 00:00 (23/26): python3-pyodbc-4.0.39-2.fc39.x86_64.rp 6.5 MB/s | 80 kB 00:00 (24/26): python3-scramp-1.4.1-5.fc38.noarch.rpm 3.6 MB/s | 37 kB 00:00 (25/26): unixODBC-2.3.11-3.fc39.x86_64.rpm 121 MB/s | 481 kB 00:00 (26/26): python3-psycopg3-3.1.9-1.fc39.noarch.r 15 MB/s | 411 kB 00:00 -------------------------------------------------------------------------------- Total 15 MB/s | 2.5 MB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : python3-typing-extensions-4.7.0-1.fc39.noarch 1/26 Installing : python3-six-1.16.0-9.fc38.noarch 2/26 Installing : libpq-15.0-3.fc38.x86_64 3/26 Installing : python3-pyflakes-2.5.0-2.fc38.noarch 4/26 Installing : python3-pycodestyle-2.9.1-2.fc38.noarch 5/26 Installing : python3-mccabe-0.7.0-2.fc38.noarch 6/26 Installing : python3-markupsafe-2.1.2-1.fc38.x86_64 7/26 Installing : python3-greenlet-1.1.3-2.fc38.x86_64 8/26 Installing : python3-sqlalchemy-2.0.17-1.fc39.x86_64 9/26 Installing : python3-asn1crypto-1.5.1-4.fc38.noarch 10/26 Installing : python3-scramp-1.4.1-5.fc38.noarch 11/26 Installing : libtool-ltdl-2.4.7-6.fc38.x86_64 12/26 Installing : unixODBC-2.3.11-3.fc39.x86_64 13/26 Installing : python3-pyodbc-4.0.39-2.fc39.x86_64 14/26 Installing : python3-pg8000-1.26.1-4.fc38.noarch 15/26 Installing : python3-jinja2-3.1.2-2.fc39.noarch 16/26 Installing : python3-flake8-5.0.3-2.fc38.noarch 17/26 Installing : python3-psycopg2-2.9.6-1.fc39.x86_64 18/26 Installing : python3-psycopg3-3.1.9-1.fc39.noarch 19/26 Installing : python3-dateutil-1:2.8.2-6.fc39.noarch 20/26 Installing : python3-pytz-2023.3-1.fc39.noarch 21/26 Installing : python3-pygments-2.15.1-1.fc39.noarch 22/26 Installing : python3-isort-5.12.0-2.fc39.noarch 23/26 Installing : python3-flexmock-0.11.3-5.fc38.noarch 24/26 Installing : python3-docutils-0.19-2.fc38.noarch 25/26 Installing : python3-PyMySQL-1.0.3-2.fc39.noarch 26/26 Running scriptlet: python3-PyMySQL-1.0.3-2.fc39.noarch 26/26 Verifying : python3-sqlalchemy-2.0.17-1.fc39.x86_64 1/26 Verifying : libpq-15.0-3.fc38.x86_64 2/26 Verifying : libtool-ltdl-2.4.7-6.fc38.x86_64 3/26 Verifying : python3-PyMySQL-1.0.3-2.fc39.noarch 4/26 Verifying : python3-asn1crypto-1.5.1-4.fc38.noarch 5/26 Verifying : python3-dateutil-1:2.8.2-6.fc39.noarch 6/26 Verifying : python3-docutils-0.19-2.fc38.noarch 7/26 Verifying : python3-flake8-5.0.3-2.fc38.noarch 8/26 Verifying : python3-flexmock-0.11.3-5.fc38.noarch 9/26 Verifying : python3-greenlet-1.1.3-2.fc38.x86_64 10/26 Verifying : python3-isort-5.12.0-2.fc39.noarch 11/26 Verifying : python3-jinja2-3.1.2-2.fc39.noarch 12/26 Verifying : python3-markupsafe-2.1.2-1.fc38.x86_64 13/26 Verifying : python3-mccabe-0.7.0-2.fc38.noarch 14/26 Verifying : python3-pg8000-1.26.1-4.fc38.noarch 15/26 Verifying : python3-psycopg2-2.9.6-1.fc39.x86_64 16/26 Verifying : python3-psycopg3-3.1.9-1.fc39.noarch 17/26 Verifying : python3-pycodestyle-2.9.1-2.fc38.noarch 18/26 Verifying : python3-pyflakes-2.5.0-2.fc38.noarch 19/26 Verifying : python3-pygments-2.15.1-1.fc39.noarch 20/26 Verifying : python3-pyodbc-4.0.39-2.fc39.x86_64 21/26 Verifying : python3-pytz-2023.3-1.fc39.noarch 22/26 Verifying : python3-scramp-1.4.1-5.fc38.noarch 23/26 Verifying : python3-six-1.16.0-9.fc38.noarch 24/26 Verifying : python3-typing-extensions-4.7.0-1.fc39.noarch 25/26 Verifying : unixODBC-2.3.11-3.fc39.x86_64 26/26 Installed: libpq-15.0-3.fc38.x86_64 libtool-ltdl-2.4.7-6.fc38.x86_64 python3-PyMySQL-1.0.3-2.fc39.noarch python3-asn1crypto-1.5.1-4.fc38.noarch python3-dateutil-1:2.8.2-6.fc39.noarch python3-docutils-0.19-2.fc38.noarch python3-flake8-5.0.3-2.fc38.noarch python3-flexmock-0.11.3-5.fc38.noarch python3-greenlet-1.1.3-2.fc38.x86_64 python3-isort-5.12.0-2.fc39.noarch python3-jinja2-3.1.2-2.fc39.noarch python3-markupsafe-2.1.2-1.fc38.x86_64 python3-mccabe-0.7.0-2.fc38.noarch python3-pg8000-1.26.1-4.fc38.noarch python3-psycopg2-2.9.6-1.fc39.x86_64 python3-psycopg3-3.1.9-1.fc39.noarch python3-pycodestyle-2.9.1-2.fc38.noarch python3-pyflakes-2.5.0-2.fc38.noarch python3-pygments-2.15.1-1.fc39.noarch python3-pyodbc-4.0.39-2.fc39.x86_64 python3-pytz-2023.3-1.fc39.noarch python3-scramp-1.4.1-5.fc38.noarch python3-six-1.16.0-9.fc38.noarch python3-sqlalchemy-2.0.17-1.fc39.x86_64 python3-typing-extensions-4.7.0-1.fc39.noarch unixODBC-2.3.11-3.fc39.x86_64 Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1682899200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.SSembo + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf SQLAlchemy-Utils-0.41.1 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/SQLAlchemy-Utils-0.41.1.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd SQLAlchemy-Utils-0.41.1 + /usr/bin/mkdir -p SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/no-psycopg2cffi.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + rm -rf SQLAlchemy-Utils.egg-info + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.3D6vmt + umask 022 + cd /builddir/build/BUILD + cd SQLAlchemy-Utils-0.41.1 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/.pyproject-builddir + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/pyproject-wheeldir --output /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-buildrequires -x test Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 67.7.2) Handling wheel from default build backend Requirement satisfied: wheel (installed: wheel 0.40.0) running egg_info writing SQLAlchemy_Utils.egg-info/PKG-INFO writing dependency_links to SQLAlchemy_Utils.egg-info/dependency_links.txt writing requirements to SQLAlchemy_Utils.egg-info/requires.txt writing top-level names to SQLAlchemy_Utils.egg-info/top_level.txt reading manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found under directory 'tests' warning: no previously-included files matching '*.pyc' found under directory 'docs' no previously-included directories found matching 'docs/_build' warning: no previously-included files found matching 'docs/_themes/.git' adding license file 'LICENSE' writing manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.40.0) running dist_info writing SQLAlchemy_Utils.egg-info/PKG-INFO writing dependency_links to SQLAlchemy_Utils.egg-info/dependency_links.txt writing requirements to SQLAlchemy_Utils.egg-info/requires.txt writing top-level names to SQLAlchemy_Utils.egg-info/top_level.txt reading manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found under directory 'tests' warning: no previously-included files matching '*.pyc' found under directory 'docs' no previously-included directories found matching 'docs/_build' warning: no previously-included files found matching 'docs/_themes/.git' adding license file 'LICENSE' writing manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/SQLAlchemy_Utils-0.41.1.dist-info' Handling SQLAlchemy (>=1.3) from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: SQLAlchemy (>=1.3) (installed: SQLAlchemy 2.0.17) Handling importlib-metadata ; python_version < "3.8" from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: importlib-metadata ; python_version < "3.8" Handling arrow (>=0.3.4) ; extra == 'arrow' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: arrow (>=0.3.4) ; extra == 'arrow' Handling Babel (>=1.3) ; extra == 'babel' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Babel (>=1.3) ; extra == 'babel' Handling colour (>=0.0.4) ; extra == 'color' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: colour (>=0.0.4) ; extra == 'color' Handling cryptography (>=0.6) ; extra == 'encrypted' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: cryptography (>=0.6) ; extra == 'encrypted' Handling intervals (>=0.7.1) ; extra == 'intervals' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: intervals (>=0.7.1) ; extra == 'intervals' Handling passlib (<2.0,>=1.6) ; extra == 'password' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: passlib (<2.0,>=1.6) ; extra == 'password' Handling pendulum (>=2.0.5) ; extra == 'pendulum' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pendulum (>=2.0.5) ; extra == 'pendulum' Handling phonenumbers (>=5.9.2) ; extra == 'phone' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: phonenumbers (>=5.9.2) ; extra == 'phone' Handling pytest (>=2.7.1) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: pytest (>=2.7.1) ; extra == 'test' (installed: pytest 7.3.2) Handling Pygments (>=1.2) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: Pygments (>=1.2) ; extra == 'test' (installed: Pygments 2.15.1) Handling Jinja2 (>=2.3) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: Jinja2 (>=2.3) ; extra == 'test' (installed: Jinja2 3.1.2) Handling docutils (>=0.10) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: docutils (>=0.10) ; extra == 'test' (installed: docutils 0.19) Handling flexmock (>=0.9.7) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: flexmock (>=0.9.7) ; extra == 'test' (installed: flexmock 0.11.3) Handling psycopg (>=3.1.8) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: psycopg (>=3.1.8) ; extra == 'test' (installed: psycopg 3.1.9) Handling psycopg2 (>=2.5.1) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: psycopg2 (>=2.5.1) ; extra == 'test' (installed: psycopg2 2.9.6) Handling pg8000 (>=1.12.4) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: pg8000 (>=1.12.4) ; extra == 'test' (installed: pg8000 1.26.1) Handling pytz (>=2014.2) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: pytz (>=2014.2) ; extra == 'test' (installed: pytz 2023.3) Handling python-dateutil (>=2.6) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: python-dateutil (>=2.6) ; extra == 'test' (installed: python-dateutil 2.8.2) Handling pymysql ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: pymysql ; extra == 'test' (installed: pymysql 1.0.3) Handling flake8 (>=2.4.0) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: flake8 (>=2.4.0) ; extra == 'test' (installed: flake8 5.0.3) Handling isort (>=4.2.2) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: isort (>=4.2.2) ; extra == 'test' (installed: isort 5.12.0) Handling pyodbc ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: pyodbc ; extra == 'test' (installed: pyodbc 4.0.39) Handling backports.zoneinfo ; (python_version < "3.9") and extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: backports.zoneinfo ; (python_version < "3.9") and extra == 'test' Handling Babel (>=1.3) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Babel (>=1.3) ; extra == 'test_all' Handling Jinja2 (>=2.3) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Jinja2 (>=2.3) ; extra == 'test_all' Handling Pygments (>=1.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Pygments (>=1.2) ; extra == 'test_all' Handling arrow (>=0.3.4) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: arrow (>=0.3.4) ; extra == 'test_all' Handling colour (>=0.0.4) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: colour (>=0.0.4) ; extra == 'test_all' Handling cryptography (>=0.6) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: cryptography (>=0.6) ; extra == 'test_all' Handling docutils (>=0.10) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: docutils (>=0.10) ; extra == 'test_all' Handling flake8 (>=2.4.0) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: flake8 (>=2.4.0) ; extra == 'test_all' Handling flexmock (>=0.9.7) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: flexmock (>=0.9.7) ; extra == 'test_all' Handling furl (>=0.4.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: furl (>=0.4.1) ; extra == 'test_all' Handling intervals (>=0.7.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: intervals (>=0.7.1) ; extra == 'test_all' Handling isort (>=4.2.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: isort (>=4.2.2) ; extra == 'test_all' Handling passlib (<2.0,>=1.6) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: passlib (<2.0,>=1.6) ; extra == 'test_all' Handling pendulum (>=2.0.5) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pendulum (>=2.0.5) ; extra == 'test_all' Handling pg8000 (>=1.12.4) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pg8000 (>=1.12.4) ; extra == 'test_all' Handling phonenumbers (>=5.9.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: phonenumbers (>=5.9.2) ; extra == 'test_all' Handling psycopg2 (>=2.5.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: psycopg2 (>=2.5.1) ; extra == 'test_all' Handling psycopg (>=3.1.8) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: psycopg (>=3.1.8) ; extra == 'test_all' Handling pymysql ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pymysql ; extra == 'test_all' Handling pyodbc ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pyodbc ; extra == 'test_all' Handling pytest (>=2.7.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pytest (>=2.7.1) ; extra == 'test_all' Handling python-dateutil ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: python-dateutil ; extra == 'test_all' Handling python-dateutil (>=2.6) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: python-dateutil (>=2.6) ; extra == 'test_all' Handling pytz (>=2014.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pytz (>=2014.2) ; extra == 'test_all' Handling backports.zoneinfo ; (python_version < "3.9") and extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: backports.zoneinfo ; (python_version < "3.9") and extra == 'test_all' Handling python-dateutil ; extra == 'timezone' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: python-dateutil ; extra == 'timezone' Handling furl (>=0.4.1) ; extra == 'url' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: furl (>=0.4.1) ; extra == 'url' + cat /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-buildrequires + rm -rfv SQLAlchemy_Utils-0.41.1.dist-info/ removed 'SQLAlchemy_Utils-0.41.1.dist-info/LICENSE' removed 'SQLAlchemy_Utils-0.41.1.dist-info/METADATA' removed 'SQLAlchemy_Utils-0.41.1.dist-info/top_level.txt' removed directory 'SQLAlchemy_Utils-0.41.1.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-sqlalchemy-utils-0.41.1-1.fc39.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires No matches found for the following disable plugin patterns: local, spacewalk, versionlock Copr repository 55 kB/s | 1.5 kB 00:00 fedora 302 kB/s | 20 kB 00:00 Package pyproject-rpm-macros-1.9.0-1.fc39.noarch is already installed. Package python3-colour-0.1.5-14.fc38.noarch is already installed. Package python3-devel-3.11.4-1.fc39.x86_64 is already installed. Package python3-devel-3.11.4-1.fc39.x86_64 is already installed. Package python3-phonenumbers-8.12.53-2.fc38.noarch is already installed. Package python3-pytest-7.3.2-1.fc39.noarch is already installed. Package python3-docutils-0.19-2.fc38.noarch is already installed. Package python3-flake8-5.0.3-2.fc38.noarch is already installed. Package python3-flexmock-0.11.3-5.fc38.noarch is already installed. Package python3-isort-5.12.0-2.fc39.noarch is already installed. Package python3-jinja2-3.1.2-2.fc39.noarch is already installed. Package python3-packaging-23.1-1.fc39.noarch is already installed. Package python3-pg8000-1.26.1-4.fc38.noarch is already installed. Package python3-pip-23.1.2-1.fc39.noarch is already installed. Package python3-psycopg3-3.1.9-1.fc39.noarch is already installed. Package python3-psycopg2-2.9.6-1.fc39.x86_64 is already installed. Package python3-pygments-2.15.1-1.fc39.noarch is already installed. Package python3-PyMySQL-1.0.3-2.fc39.noarch is already installed. Package python3-pyodbc-4.0.39-2.fc39.x86_64 is already installed. Package python3-pytest-7.3.2-1.fc39.noarch is already installed. Package python3-dateutil-1:2.8.2-6.fc39.noarch is already installed. Package python3-pytz-2023.3-1.fc39.noarch is already installed. Package python3-setuptools-67.7.2-2.fc39.noarch is already installed. Package python3-sqlalchemy-2.0.17-1.fc39.x86_64 is already installed. Package python3-wheel-1:0.40.0-1.fc39.noarch is already installed. Dependencies resolved. Nothing to do. Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1682899200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.lhJfso + umask 022 + cd /builddir/build/BUILD + cd SQLAlchemy-Utils-0.41.1 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + echo 'python3dist(wheel)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/.pyproject-builddir + RPM_TOXENV=py311 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/pyproject-wheeldir --output /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-buildrequires -x test Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 67.7.2) Handling wheel from default build backend Requirement satisfied: wheel (installed: wheel 0.40.0) running egg_info writing SQLAlchemy_Utils.egg-info/PKG-INFO writing dependency_links to SQLAlchemy_Utils.egg-info/dependency_links.txt writing requirements to SQLAlchemy_Utils.egg-info/requires.txt writing top-level names to SQLAlchemy_Utils.egg-info/top_level.txt reading manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found under directory 'tests' warning: no previously-included files matching '*.pyc' found under directory 'docs' no previously-included directories found matching 'docs/_build' warning: no previously-included files found matching 'docs/_themes/.git' adding license file 'LICENSE' writing manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.40.0) running dist_info writing SQLAlchemy_Utils.egg-info/PKG-INFO writing dependency_links to SQLAlchemy_Utils.egg-info/dependency_links.txt writing requirements to SQLAlchemy_Utils.egg-info/requires.txt writing top-level names to SQLAlchemy_Utils.egg-info/top_level.txt reading manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found under directory 'tests' warning: no previously-included files matching '*.pyc' found under directory 'docs' no previously-included directories found matching 'docs/_build' warning: no previously-included files found matching 'docs/_themes/.git' adding license file 'LICENSE' writing manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/SQLAlchemy_Utils-0.41.1.dist-info' Handling SQLAlchemy (>=1.3) from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: SQLAlchemy (>=1.3) (installed: SQLAlchemy 2.0.17) Handling importlib-metadata ; python_version < "3.8" from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: importlib-metadata ; python_version < "3.8" Handling arrow (>=0.3.4) ; extra == 'arrow' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: arrow (>=0.3.4) ; extra == 'arrow' Handling Babel (>=1.3) ; extra == 'babel' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Babel (>=1.3) ; extra == 'babel' Handling colour (>=0.0.4) ; extra == 'color' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: colour (>=0.0.4) ; extra == 'color' Handling cryptography (>=0.6) ; extra == 'encrypted' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: cryptography (>=0.6) ; extra == 'encrypted' Handling intervals (>=0.7.1) ; extra == 'intervals' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: intervals (>=0.7.1) ; extra == 'intervals' Handling passlib (<2.0,>=1.6) ; extra == 'password' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: passlib (<2.0,>=1.6) ; extra == 'password' Handling pendulum (>=2.0.5) ; extra == 'pendulum' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pendulum (>=2.0.5) ; extra == 'pendulum' Handling phonenumbers (>=5.9.2) ; extra == 'phone' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: phonenumbers (>=5.9.2) ; extra == 'phone' Handling pytest (>=2.7.1) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: pytest (>=2.7.1) ; extra == 'test' (installed: pytest 7.3.2) Handling Pygments (>=1.2) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: Pygments (>=1.2) ; extra == 'test' (installed: Pygments 2.15.1) Handling Jinja2 (>=2.3) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: Jinja2 (>=2.3) ; extra == 'test' (installed: Jinja2 3.1.2) Handling docutils (>=0.10) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: docutils (>=0.10) ; extra == 'test' (installed: docutils 0.19) Handling flexmock (>=0.9.7) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: flexmock (>=0.9.7) ; extra == 'test' (installed: flexmock 0.11.3) Handling psycopg (>=3.1.8) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: psycopg (>=3.1.8) ; extra == 'test' (installed: psycopg 3.1.9) Handling psycopg2 (>=2.5.1) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: psycopg2 (>=2.5.1) ; extra == 'test' (installed: psycopg2 2.9.6) Handling pg8000 (>=1.12.4) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: pg8000 (>=1.12.4) ; extra == 'test' (installed: pg8000 1.26.1) Handling pytz (>=2014.2) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: pytz (>=2014.2) ; extra == 'test' (installed: pytz 2023.3) Handling python-dateutil (>=2.6) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: python-dateutil (>=2.6) ; extra == 'test' (installed: python-dateutil 2.8.2) Handling pymysql ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: pymysql ; extra == 'test' (installed: pymysql 1.0.3) Handling flake8 (>=2.4.0) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: flake8 (>=2.4.0) ; extra == 'test' (installed: flake8 5.0.3) Handling isort (>=4.2.2) ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: isort (>=4.2.2) ; extra == 'test' (installed: isort 5.12.0) Handling pyodbc ; extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Requirement satisfied: pyodbc ; extra == 'test' (installed: pyodbc 4.0.39) Handling backports.zoneinfo ; (python_version < "3.9") and extra == 'test' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: backports.zoneinfo ; (python_version < "3.9") and extra == 'test' Handling Babel (>=1.3) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Babel (>=1.3) ; extra == 'test_all' Handling Jinja2 (>=2.3) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Jinja2 (>=2.3) ; extra == 'test_all' Handling Pygments (>=1.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: Pygments (>=1.2) ; extra == 'test_all' Handling arrow (>=0.3.4) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: arrow (>=0.3.4) ; extra == 'test_all' Handling colour (>=0.0.4) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: colour (>=0.0.4) ; extra == 'test_all' Handling cryptography (>=0.6) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: cryptography (>=0.6) ; extra == 'test_all' Handling docutils (>=0.10) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: docutils (>=0.10) ; extra == 'test_all' Handling flake8 (>=2.4.0) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: flake8 (>=2.4.0) ; extra == 'test_all' Handling flexmock (>=0.9.7) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: flexmock (>=0.9.7) ; extra == 'test_all' Handling furl (>=0.4.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: furl (>=0.4.1) ; extra == 'test_all' Handling intervals (>=0.7.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: intervals (>=0.7.1) ; extra == 'test_all' Handling isort (>=4.2.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: isort (>=4.2.2) ; extra == 'test_all' Handling passlib (<2.0,>=1.6) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: passlib (<2.0,>=1.6) ; extra == 'test_all' Handling pendulum (>=2.0.5) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pendulum (>=2.0.5) ; extra == 'test_all' Handling pg8000 (>=1.12.4) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pg8000 (>=1.12.4) ; extra == 'test_all' Handling phonenumbers (>=5.9.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: phonenumbers (>=5.9.2) ; extra == 'test_all' Handling psycopg2 (>=2.5.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: psycopg2 (>=2.5.1) ; extra == 'test_all' Handling psycopg (>=3.1.8) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: psycopg (>=3.1.8) ; extra == 'test_all' Handling pymysql ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pymysql ; extra == 'test_all' Handling pyodbc ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pyodbc ; extra == 'test_all' Handling pytest (>=2.7.1) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pytest (>=2.7.1) ; extra == 'test_all' Handling python-dateutil ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: python-dateutil ; extra == 'test_all' Handling python-dateutil (>=2.6) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: python-dateutil (>=2.6) ; extra == 'test_all' Handling pytz (>=2014.2) ; extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: pytz (>=2014.2) ; extra == 'test_all' Handling backports.zoneinfo ; (python_version < "3.9") and extra == 'test_all' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: backports.zoneinfo ; (python_version < "3.9") and extra == 'test_all' Handling python-dateutil ; extra == 'timezone' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: python-dateutil ; extra == 'timezone' Handling furl (>=0.4.1) ; extra == 'url' from hook generated metadata: Requires-Dist (SQLAlchemy-Utils) Ignoring alien requirement: furl (>=0.4.1) ; extra == 'url' + cat /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-buildrequires + rm -rfv SQLAlchemy_Utils-0.41.1.dist-info/ removed 'SQLAlchemy_Utils-0.41.1.dist-info/LICENSE' removed 'SQLAlchemy_Utils-0.41.1.dist-info/METADATA' removed 'SQLAlchemy_Utils-0.41.1.dist-info/top_level.txt' removed directory 'SQLAlchemy_Utils-0.41.1.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.PKYH5e + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd SQLAlchemy-Utils-0.41.1 + mkdir -p /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + TMPDIR=/builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/pyproject-wheeldir Processing /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) running dist_info creating /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir/pip-modern-metadata-i4ledjtj/SQLAlchemy_Utils.egg-info writing /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir/pip-modern-metadata-i4ledjtj/SQLAlchemy_Utils.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir/pip-modern-metadata-i4ledjtj/SQLAlchemy_Utils.egg-info/dependency_links.txt writing requirements to /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir/pip-modern-metadata-i4ledjtj/SQLAlchemy_Utils.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir/pip-modern-metadata-i4ledjtj/SQLAlchemy_Utils.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir/pip-modern-metadata-i4ledjtj/SQLAlchemy_Utils.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir/pip-modern-metadata-i4ledjtj/SQLAlchemy_Utils.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found under directory 'tests' warning: no previously-included files matching '*.pyc' found under directory 'docs' no previously-included directories found matching 'docs/_build' warning: no previously-included files found matching 'docs/_themes/.git' adding license file 'LICENSE' writing manifest file '/builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir/pip-modern-metadata-i4ledjtj/SQLAlchemy_Utils.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir/pip-modern-metadata-i4ledjtj/SQLAlchemy_Utils-0.41.1.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: SQLAlchemy-Utils Building wheel for SQLAlchemy-Utils (pyproject.toml): started Running command Building wheel for SQLAlchemy-Utils (pyproject.toml) running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/sqlalchemy_utils copying sqlalchemy_utils/view.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/utils.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/query_chain.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/proxy_dict.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/path.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/operators.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/observer.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/models.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/listeners.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/i18n.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/generic.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/expressions.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/exceptions.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/compat.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/asserts.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/aggregates.py -> build/lib/sqlalchemy_utils copying sqlalchemy_utils/__init__.py -> build/lib/sqlalchemy_utils creating build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/weekdays.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/uuid.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/url.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/ts_vector.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/timezone.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/scalar_list.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/scalar_coercible.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/range.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/phone_number.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/pg_composite.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/password.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/ltree.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/locale.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/json.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/ip_address.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/email.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/currency.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/country.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/color.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/choice.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/bit.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/arrow.py -> build/lib/sqlalchemy_utils/types copying sqlalchemy_utils/types/__init__.py -> build/lib/sqlalchemy_utils/types creating build/lib/sqlalchemy_utils/relationships copying sqlalchemy_utils/relationships/chained_join.py -> build/lib/sqlalchemy_utils/relationships copying sqlalchemy_utils/relationships/__init__.py -> build/lib/sqlalchemy_utils/relationships creating build/lib/sqlalchemy_utils/primitives copying sqlalchemy_utils/primitives/weekdays.py -> build/lib/sqlalchemy_utils/primitives copying sqlalchemy_utils/primitives/weekday.py -> build/lib/sqlalchemy_utils/primitives copying sqlalchemy_utils/primitives/ltree.py -> build/lib/sqlalchemy_utils/primitives copying sqlalchemy_utils/primitives/currency.py -> build/lib/sqlalchemy_utils/primitives copying sqlalchemy_utils/primitives/country.py -> build/lib/sqlalchemy_utils/primitives copying sqlalchemy_utils/primitives/__init__.py -> build/lib/sqlalchemy_utils/primitives creating build/lib/sqlalchemy_utils/functions copying sqlalchemy_utils/functions/sort_query.py -> build/lib/sqlalchemy_utils/functions copying sqlalchemy_utils/functions/render.py -> build/lib/sqlalchemy_utils/functions copying sqlalchemy_utils/functions/orm.py -> build/lib/sqlalchemy_utils/functions copying sqlalchemy_utils/functions/mock.py -> build/lib/sqlalchemy_utils/functions copying sqlalchemy_utils/functions/foreign_keys.py -> build/lib/sqlalchemy_utils/functions copying sqlalchemy_utils/functions/database.py -> build/lib/sqlalchemy_utils/functions copying sqlalchemy_utils/functions/__init__.py -> build/lib/sqlalchemy_utils/functions creating build/lib/sqlalchemy_utils/types/enriched_datetime copying sqlalchemy_utils/types/enriched_datetime/pendulum_datetime.py -> build/lib/sqlalchemy_utils/types/enriched_datetime copying sqlalchemy_utils/types/enriched_datetime/pendulum_date.py -> build/lib/sqlalchemy_utils/types/enriched_datetime copying sqlalchemy_utils/types/enriched_datetime/enriched_datetime_type.py -> build/lib/sqlalchemy_utils/types/enriched_datetime copying sqlalchemy_utils/types/enriched_datetime/enriched_date_type.py -> build/lib/sqlalchemy_utils/types/enriched_datetime copying sqlalchemy_utils/types/enriched_datetime/arrow_datetime.py -> build/lib/sqlalchemy_utils/types/enriched_datetime copying sqlalchemy_utils/types/enriched_datetime/__init__.py -> build/lib/sqlalchemy_utils/types/enriched_datetime creating build/lib/sqlalchemy_utils/types/encrypted copying sqlalchemy_utils/types/encrypted/padding.py -> build/lib/sqlalchemy_utils/types/encrypted copying sqlalchemy_utils/types/encrypted/encrypted_type.py -> build/lib/sqlalchemy_utils/types/encrypted copying sqlalchemy_utils/types/encrypted/__init__.py -> build/lib/sqlalchemy_utils/types/encrypted running egg_info writing SQLAlchemy_Utils.egg-info/PKG-INFO writing dependency_links to SQLAlchemy_Utils.egg-info/dependency_links.txt writing requirements to SQLAlchemy_Utils.egg-info/requires.txt writing top-level names to SQLAlchemy_Utils.egg-info/top_level.txt reading manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no previously-included files matching '*.pyc' found under directory 'tests' warning: no previously-included files matching '*.pyc' found under directory 'docs' no previously-included directories found matching 'docs/_build' warning: no previously-included files found matching 'docs/_themes/.git' adding license file 'LICENSE' writing manifest file 'SQLAlchemy_Utils.egg-info/SOURCES.txt' installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64 creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/sqlalchemy_utils creating build/bdist.linux-x86_64/wheel/sqlalchemy_utils/functions copying build/lib/sqlalchemy_utils/functions/__init__.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/functions copying build/lib/sqlalchemy_utils/functions/database.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/functions copying build/lib/sqlalchemy_utils/functions/foreign_keys.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/functions copying build/lib/sqlalchemy_utils/functions/mock.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/functions copying build/lib/sqlalchemy_utils/functions/orm.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/functions copying build/lib/sqlalchemy_utils/functions/render.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/functions copying build/lib/sqlalchemy_utils/functions/sort_query.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/functions creating build/bdist.linux-x86_64/wheel/sqlalchemy_utils/primitives copying build/lib/sqlalchemy_utils/primitives/__init__.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/primitives copying build/lib/sqlalchemy_utils/primitives/country.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/primitives copying build/lib/sqlalchemy_utils/primitives/currency.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/primitives copying build/lib/sqlalchemy_utils/primitives/ltree.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/primitives copying build/lib/sqlalchemy_utils/primitives/weekday.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/primitives copying build/lib/sqlalchemy_utils/primitives/weekdays.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/primitives creating build/bdist.linux-x86_64/wheel/sqlalchemy_utils/relationships copying build/lib/sqlalchemy_utils/relationships/__init__.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/relationships copying build/lib/sqlalchemy_utils/relationships/chained_join.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/relationships creating build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types creating build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types/encrypted copying build/lib/sqlalchemy_utils/types/encrypted/__init__.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types/encrypted copying build/lib/sqlalchemy_utils/types/encrypted/encrypted_type.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types/encrypted copying build/lib/sqlalchemy_utils/types/encrypted/padding.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types/encrypted creating build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types/enriched_datetime copying build/lib/sqlalchemy_utils/types/enriched_datetime/__init__.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types/enriched_datetime copying build/lib/sqlalchemy_utils/types/enriched_datetime/arrow_datetime.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types/enriched_datetime copying build/lib/sqlalchemy_utils/types/enriched_datetime/enriched_date_type.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types/enriched_datetime copying build/lib/sqlalchemy_utils/types/enriched_datetime/enriched_datetime_type.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types/enriched_datetime copying build/lib/sqlalchemy_utils/types/enriched_datetime/pendulum_date.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types/enriched_datetime copying build/lib/sqlalchemy_utils/types/enriched_datetime/pendulum_datetime.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types/enriched_datetime copying build/lib/sqlalchemy_utils/types/__init__.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/arrow.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/bit.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/choice.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/color.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/country.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/currency.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/email.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/ip_address.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/json.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/locale.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/ltree.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/password.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/pg_composite.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/phone_number.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/range.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/scalar_coercible.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/scalar_list.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/timezone.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/ts_vector.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/url.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/uuid.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/types/weekdays.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils/types copying build/lib/sqlalchemy_utils/__init__.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/aggregates.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/asserts.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/compat.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/exceptions.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/expressions.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/generic.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/i18n.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/listeners.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/models.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/observer.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/operators.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/path.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/proxy_dict.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/query_chain.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/utils.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils copying build/lib/sqlalchemy_utils/view.py -> build/bdist.linux-x86_64/wheel/sqlalchemy_utils running install_egg_info Copying SQLAlchemy_Utils.egg-info to build/bdist.linux-x86_64/wheel/SQLAlchemy_Utils-0.41.1-py3.11.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/SQLAlchemy_Utils-0.41.1.dist-info/WHEEL creating '/builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir/pip-wheel-9pab1qfk/.tmp-zyegvitl/SQLAlchemy_Utils-0.41.1-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'sqlalchemy_utils/__init__.py' adding 'sqlalchemy_utils/aggregates.py' adding 'sqlalchemy_utils/asserts.py' adding 'sqlalchemy_utils/compat.py' adding 'sqlalchemy_utils/exceptions.py' adding 'sqlalchemy_utils/expressions.py' adding 'sqlalchemy_utils/generic.py' adding 'sqlalchemy_utils/i18n.py' adding 'sqlalchemy_utils/listeners.py' adding 'sqlalchemy_utils/models.py' adding 'sqlalchemy_utils/observer.py' adding 'sqlalchemy_utils/operators.py' adding 'sqlalchemy_utils/path.py' adding 'sqlalchemy_utils/proxy_dict.py' adding 'sqlalchemy_utils/query_chain.py' adding 'sqlalchemy_utils/utils.py' adding 'sqlalchemy_utils/view.py' adding 'sqlalchemy_utils/functions/__init__.py' adding 'sqlalchemy_utils/functions/database.py' adding 'sqlalchemy_utils/functions/foreign_keys.py' adding 'sqlalchemy_utils/functions/mock.py' adding 'sqlalchemy_utils/functions/orm.py' adding 'sqlalchemy_utils/functions/render.py' adding 'sqlalchemy_utils/functions/sort_query.py' adding 'sqlalchemy_utils/primitives/__init__.py' adding 'sqlalchemy_utils/primitives/country.py' adding 'sqlalchemy_utils/primitives/currency.py' adding 'sqlalchemy_utils/primitives/ltree.py' adding 'sqlalchemy_utils/primitives/weekday.py' adding 'sqlalchemy_utils/primitives/weekdays.py' adding 'sqlalchemy_utils/relationships/__init__.py' adding 'sqlalchemy_utils/relationships/chained_join.py' adding 'sqlalchemy_utils/types/__init__.py' adding 'sqlalchemy_utils/types/arrow.py' adding 'sqlalchemy_utils/types/bit.py' adding 'sqlalchemy_utils/types/choice.py' adding 'sqlalchemy_utils/types/color.py' adding 'sqlalchemy_utils/types/country.py' adding 'sqlalchemy_utils/types/currency.py' adding 'sqlalchemy_utils/types/email.py' adding 'sqlalchemy_utils/types/ip_address.py' adding 'sqlalchemy_utils/types/json.py' adding 'sqlalchemy_utils/types/locale.py' adding 'sqlalchemy_utils/types/ltree.py' adding 'sqlalchemy_utils/types/password.py' adding 'sqlalchemy_utils/types/pg_composite.py' adding 'sqlalchemy_utils/types/phone_number.py' adding 'sqlalchemy_utils/types/range.py' adding 'sqlalchemy_utils/types/scalar_coercible.py' adding 'sqlalchemy_utils/types/scalar_list.py' adding 'sqlalchemy_utils/types/timezone.py' adding 'sqlalchemy_utils/types/ts_vector.py' adding 'sqlalchemy_utils/types/url.py' adding 'sqlalchemy_utils/types/uuid.py' adding 'sqlalchemy_utils/types/weekdays.py' adding 'sqlalchemy_utils/types/encrypted/__init__.py' adding 'sqlalchemy_utils/types/encrypted/encrypted_type.py' adding 'sqlalchemy_utils/types/encrypted/padding.py' adding 'sqlalchemy_utils/types/enriched_datetime/__init__.py' adding 'sqlalchemy_utils/types/enriched_datetime/arrow_datetime.py' adding 'sqlalchemy_utils/types/enriched_datetime/enriched_date_type.py' adding 'sqlalchemy_utils/types/enriched_datetime/enriched_datetime_type.py' adding 'sqlalchemy_utils/types/enriched_datetime/pendulum_date.py' adding 'sqlalchemy_utils/types/enriched_datetime/pendulum_datetime.py' adding 'SQLAlchemy_Utils-0.41.1.dist-info/LICENSE' adding 'SQLAlchemy_Utils-0.41.1.dist-info/METADATA' adding 'SQLAlchemy_Utils-0.41.1.dist-info/WHEEL' adding 'SQLAlchemy_Utils-0.41.1.dist-info/top_level.txt' adding 'SQLAlchemy_Utils-0.41.1.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Building wheel for SQLAlchemy-Utils (pyproject.toml): finished with status 'done' Created wheel for SQLAlchemy-Utils: filename=SQLAlchemy_Utils-0.41.1-py3-none-any.whl size=92599 sha256=2a0ac3edd9887cd1a16fd23066ca31a90834df0ad305d65036af5a0a0136e816 Stored in directory: /builddir/.cache/pip/wheels/fb/be/ce/c9fa13b60ec3c7340e05b09fdd8cf05a651803a228e565b99f Successfully built SQLAlchemy-Utils + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.d2klnQ + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64 ++ dirname /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd SQLAlchemy-Utils-0.41.1 ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' ++ ls /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/pyproject-wheeldir/SQLAlchemy_Utils-0.41.1-py3-none-any.whl + specifier=SQLAlchemy_Utils==0.41.1 + TMPDIR=/builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64 --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/pyproject-wheeldir SQLAlchemy_Utils==0.41.1 Using pip 23.1.2 from /usr/lib/python3.11/site-packages/pip (python 3.11) Looking in links: /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/pyproject-wheeldir Processing ./pyproject-wheeldir/SQLAlchemy_Utils-0.41.1-py3-none-any.whl Installing collected packages: SQLAlchemy_Utils Successfully installed SQLAlchemy_Utils-0.41.1 + '[' -d /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/bin ']' + rm -f /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib/python3.11/site-packages ']' + site_dirs+=("/usr/lib/python3.11/site-packages") + '[' /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib64/python3.11/site-packages '!=' /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib/python3.11/site-packages ']' + '[' -d /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib64/python3.11/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.11/site-packages/SQLAlchemy_Utils-0.41.1.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib/python3.11/site-packages/SQLAlchemy_Utils-0.41.1.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64 --record /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib/python3.11/site-packages/SQLAlchemy_Utils-0.41.1.dist-info/RECORD --output /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-record + rm -fv /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib/python3.11/site-packages/SQLAlchemy_Utils-0.41.1.dist-info/RECORD removed '/builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib/python3.11/site-packages/SQLAlchemy_Utils-0.41.1.dist-info/RECORD' + rm -fv /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib/python3.11/site-packages/SQLAlchemy_Utils-0.41.1.dist-info/REQUESTED removed '/builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib/python3.11/site-packages/SQLAlchemy_Utils-0.41.1.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_PERCENTAGES_COUNT=2 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-files --output-modules /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-modules --buildroot /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64 --sitelib /usr/lib/python3.11/site-packages --sitearch /usr/lib64/python3.11/site-packages --python-version 3.11 --pyproject-record /builddir/build/BUILD/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64-pyproject-record --prefix /usr sqlalchemy_utils + /usr/bin/find-debuginfo -j2 --strict-build-id -m -i --build-id-seed 0.41.1-1.fc39 --unique-debug-suffix -0.41.1-1.fc39.x86_64 --unique-debug-src-base python-sqlalchemy-utils-0.41.1-1.fc39.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1 find-debuginfo: starting Extracting debug info from 0 files Creating .debug symlinks for symlinks to ELF files find: 'debug': No such file or directory find-debuginfo: done + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j2 Bytecompiling .py files below /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib/python3.11 using python3.11 + /usr/lib/rpm/redhat/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.6BpzIO + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd SQLAlchemy-Utils-0.41.1 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/bin:/builddir/.local/bin:/builddir/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib64/python3.11/site-packages:/builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/lib/python3.11/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=2 + /usr/bin/pytest ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.3.2, pluggy-1.0.0 rootdir: /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1 collected 2684 items tests/test_asserts.py EEEEEEEEEEEEEEEEE [ 0%] tests/test_auto_delete_orphans.py ... [ 0%] tests/test_case_insensitive_comparator.py .... [ 0%] tests/test_compat.py ........ [ 1%] tests/test_expressions.py ..... [ 1%] tests/test_instant_defaults_listener.py ... [ 1%] tests/test_instrumented_list.py .. [ 1%] tests/test_models.py ..... [ 1%] tests/test_path.py ............................ [ 2%] tests/test_proxy_dict.py ........ [ 3%] tests/test_query_chain.py ......... [ 3%] tests/test_translation_hybrid.py sssssssssssss [ 3%] tests/test_views.py EEEEEE.x [ 4%] tests/aggregate/test_backrefs.py ... [ 4%] tests/aggregate/test_custom_select_expressions.py EE [ 4%] tests/aggregate/test_join_table_inheritance.py .EEEE [ 4%] tests/aggregate/test_m2m.py EE [ 4%] tests/aggregate/test_m2m_m2m.py E [ 4%] tests/aggregate/test_multiple_aggregates_per_class.py ... [ 4%] tests/aggregate/test_o2m_m2m.py E [ 4%] tests/aggregate/test_o2m_o2m.py E [ 4%] tests/aggregate/test_o2m_o2m_o2m.py EE [ 4%] tests/aggregate/test_search_vectors.py E [ 4%] tests/aggregate/test_simple_paths.py ... [ 5%] tests/aggregate/test_with_column_alias.py ... [ 5%] tests/aggregate/test_with_ondelete_cascade.py E [ 5%] tests/functions/test_cast_if.py ...... [ 5%] tests/functions/test_database.py ....FFFFFFFFFF [ 5%] tests/functions/test_dependent_objects.py ....... [ 6%] tests/functions/test_escape_like.py . [ 6%] tests/functions/test_get_bind.py .... [ 6%] tests/functions/test_get_class_by_table.py ..... [ 6%] tests/functions/test_get_column_key.py ... [ 6%] tests/functions/test_get_columns.py ......... [ 7%] tests/functions/test_get_hybrid_properties.py ... [ 7%] tests/functions/test_get_mapper.py ................ [ 7%] tests/functions/test_get_primary_keys.py ..... [ 7%] tests/functions/test_get_referencing_foreign_keys.py .... [ 8%] tests/functions/test_get_tables.py ........ [ 8%] tests/functions/test_get_type.py ...... [ 8%] tests/functions/test_getdotattr.py ... [ 8%] tests/functions/test_has_changes.py ...... [ 8%] tests/functions/test_has_index.py ........ [ 9%] tests/functions/test_has_unique_index.py ......... [ 9%] tests/functions/test_identity.py ...... [ 9%] tests/functions/test_is_loaded.py .. [ 9%] tests/functions/test_json_sql.py EEEEEEEE [ 10%] tests/functions/test_jsonb_sql.py EEEEEEEE [ 10%] tests/functions/test_make_order_by_deterministic.py .......... [ 10%] tests/functions/test_merge_references.py ..... [ 11%] tests/functions/test_naturally_equivalent.py .. [ 11%] tests/functions/test_non_indexed_foreign_keys.py . [ 11%] tests/functions/test_quote.py .. [ 11%] tests/functions/test_render.py ...... [ 11%] tests/functions/test_table_name.py ... [ 11%] tests/generic_relationship/test_abstract_base_class.py ....... [ 11%] tests/generic_relationship/test_column_aliases.py ....... [ 12%] tests/generic_relationship/test_composite_keys.py ....... [ 12%] tests/generic_relationship/test_hybrid_properties.py . [ 12%] tests/generic_relationship/test_single_table_inheritance.py ........ [ 12%] tests/observes/test_column_property.py EEEE [ 12%] tests/observes/test_dynamic_relationship.py EE [ 12%] tests/observes/test_m2m_m2m_m2m.py EEEEE [ 13%] tests/observes/test_o2m_o2m_o2m.py EEEEE [ 13%] tests/observes/test_o2m_o2o_o2m.py EEEEE [ 13%] tests/observes/test_o2o_o2o.py E [ 13%] tests/observes/test_o2o_o2o_o2o.py EEE [ 13%] tests/primitives/test_country.py sssssssssssssssssssssss [ 14%] tests/primitives/test_currency.py sssssssssssss [ 14%] tests/primitives/test_ltree.py ......................................... [ 16%] ....................... [ 17%] tests/primitives/test_weekdays.py ssssssssssssssssssssssssssssssssssssss [ 18%] [ 18%] tests/relationships/test_chained_join.py ......... [ 19%] tests/relationships/test_select_correlated_expression.py EEEEEEEEEEE [ 19%] tests/types/test_arrow.py sssssss [ 19%] tests/types/test_choice.py ................. [ 20%] tests/types/test_color.py ..... [ 20%] tests/types/test_composite.py EEEEsssssssssEE [ 21%] tests/types/test_country.py ssss [ 21%] tests/types/test_currency.py ssss [ 21%] tests/types/test_date_range.py ssssssssssss [ 21%] tests/types/test_datetime_range.py sssssssssss [ 22%] tests/types/test_email.py .... [ 22%] tests/types/test_encrypted.py ssssssssssssssssssssssssssssssssssssssssss [ 24%] sssssssssssssssssssssss......sssssssssssssssssss [ 25%] tests/types/test_enriched_date_pendulum.py ssssss [ 26%] tests/types/test_enriched_datetime_arrow.py sssssss [ 26%] tests/types/test_enriched_datetime_pendulum.py sssss [ 26%] tests/types/test_int_range.py ssssssssssssssssssssssssssssssssssssssssss [ 28%] sssssssssssssss [ 28%] tests/types/test_ip_address.py .. [ 28%] tests/types/test_json.py .....EEEEE [ 29%] tests/types/test_locale.py sssssss [ 29%] tests/types/test_ltree.py E.EE [ 29%] tests/types/test_numeric_range.py ssssssssssssssssss [ 30%] tests/types/test_password.py sssssssssssssssssss [ 30%] tests/types/test_phonenumber.py ......................... [ 31%] tests/types/test_scalar_list.py ..... [ 31%] tests/types/test_timezone.py ........................................... [ 33%] ........................................................................ [ 36%] ........................................................................ [ 38%] ........................................................................ [ 41%] ........................................................................ [ 44%] ........................................................................ [ 46%] ........................................................................ [ 49%] ........................................................................ [ 52%] ........................................................................ [ 55%] ........................................................................ [ 57%] ........................................................................ [ 60%] ........................................................................ [ 63%] ........................................................................ [ 65%] ........................................................................ [ 68%] ........................................................................ [ 71%] ........................................................................ [ 73%] ........................................................................ [ 76%] ........................................................................ [ 79%] ........................................................................ [ 81%] ........................................................................ [ 84%] ........................................................................ [ 87%] ........................................................................ [ 89%] ........................................................................ [ 92%] ........................................................................ [ 95%] ........................................................................ [ 97%] ........................... [ 98%] tests/types/test_tsvector.py .E.E.EE [ 99%] tests/types/test_url.py sss [ 99%] tests/types/test_uuid.py ..... [ 99%] tests/types/test_weekdays.py sssssssss [ 99%] tests/types/encrypted/test_padding.py .... [100%] ==================================== ERRORS ==================================== _____ ERROR at setup of TestAssertMaxLengthWithArray.test_with_max_length ______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestAssertMaxLengthWithArray.test_smaller_than_max_length __ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError __ ERROR at setup of TestAssertMaxLengthWithArray.test_bigger_than_max_length __ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _______ ERROR at setup of TestAssertNonNullable.test_non_nullable_column _______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _________ ERROR at setup of TestAssertNonNullable.test_nullable_column _________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError __________ ERROR at setup of TestAssertNullable.test_nullable_column ___________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ________ ERROR at setup of TestAssertNullable.test_non_nullable_column _________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError __________ ERROR at setup of TestAssertMaxLength.test_with_max_length __________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestAssertMaxLength.test_with_non_nullable_column ______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ______ ERROR at setup of TestAssertMaxLength.test_smaller_than_max_length ______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ______ ERROR at setup of TestAssertMaxLength.test_bigger_than_max_length _______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ___________ ERROR at setup of TestAssertMinValue.test_with_min_value ___________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _______ ERROR at setup of TestAssertMinValue.test_smaller_than_min_value _______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _______ ERROR at setup of TestAssertMinValue.test_bigger_than_min_value ________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ___________ ERROR at setup of TestAssertMaxValue.test_with_min_value ___________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _______ ERROR at setup of TestAssertMaxValue.test_smaller_than_max_value _______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _______ ERROR at setup of TestAssertMaxValue.test_bigger_than_max_value ________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ____ ERROR at setup of TestMaterializedViews.test_refresh_materialized_view ____ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError __________ ERROR at setup of TestMaterializedViews.test_querying_view __________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestPostgresTrivialView.test_life_cycle_no_cascade _____ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ______ ERROR at setup of TestPostgresTrivialView.test_life_cycle_cascade _______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ______ ERROR at setup of TestMySqlTrivialView.test_life_cycle_no_cascade _______ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: > sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) /usr/lib/python3.11/site-packages/pymysql/connections.py:616: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 3306), timeout = 10, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) sock.connect(sa) # Break explicitly a reference cycle exceptions.clear() return sock except error as exc: if not all_errors: exceptions.clear() # raise only the last error exceptions.append(exc) if sock is not None: sock.close() if len(exceptions): try: if not all_errors: > raise exceptions[0] /usr/lib64/python3.11/socket.py:851: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 3306), timeout = 10, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.11/socket.py:836: ConnectionRefusedError During handling of the above exception, another exception occurred: self = engine = Engine(mysql+pymysql://root@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(mysql+pymysql://root@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'client_flag': 2, 'database': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'root'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __init__( self, *, user=None, # The first four arguments is based on DB-API 2.0 recommendation. password="", host=None, database=None, unix_socket=None, port=0, charset="", sql_mode=None, read_default_file=None, conv=None, use_unicode=True, client_flag=0, cursorclass=Cursor, init_command=None, connect_timeout=10, read_default_group=None, autocommit=False, local_infile=False, max_allowed_packet=16 * 1024 * 1024, defer_connect=False, auth_plugin_map=None, read_timeout=None, write_timeout=None, bind_address=None, binary_prefix=False, program_name=None, server_public_key=None, ssl=None, ssl_ca=None, ssl_cert=None, ssl_disabled=None, ssl_key=None, ssl_verify_cert=None, ssl_verify_identity=None, compress=None, # not supported named_pipe=None, # not supported passwd=None, # deprecated db=None, # deprecated ): if db is not None and database is None: # We will raise warning in 2022 or later. # See https://github.com/PyMySQL/PyMySQL/issues/939 # warnings.warn("'db' is deprecated, use 'database'", DeprecationWarning, 3) database = db if passwd is not None and not password: # We will raise warning in 2022 or later. # See https://github.com/PyMySQL/PyMySQL/issues/939 # warnings.warn( # "'passwd' is deprecated, use 'password'", DeprecationWarning, 3 # ) password = passwd if compress or named_pipe: raise NotImplementedError( "compress and named_pipe arguments are not supported" ) self._local_infile = bool(local_infile) if self._local_infile: client_flag |= CLIENT.LOCAL_FILES if read_default_group and not read_default_file: if sys.platform.startswith("win"): read_default_file = "c:\\my.ini" else: read_default_file = "/etc/my.cnf" if read_default_file: if not read_default_group: read_default_group = "client" cfg = Parser() cfg.read(os.path.expanduser(read_default_file)) def _config(key, arg): if arg: return arg try: return cfg.get(read_default_group, key) except Exception: return arg user = _config("user", user) password = _config("password", password) host = _config("host", host) database = _config("database", database) unix_socket = _config("socket", unix_socket) port = int(_config("port", port)) bind_address = _config("bind-address", bind_address) charset = _config("default-character-set", charset) if not ssl: ssl = {} if isinstance(ssl, dict): for key in ["ca", "capath", "cert", "key", "cipher"]: value = _config("ssl-" + key, ssl.get(key)) if value: ssl[key] = value self.ssl = False if not ssl_disabled: if ssl_ca or ssl_cert or ssl_key or ssl_verify_cert or ssl_verify_identity: ssl = { "ca": ssl_ca, "check_hostname": bool(ssl_verify_identity), "verify_mode": ssl_verify_cert if ssl_verify_cert is not None else False, } if ssl_cert is not None: ssl["cert"] = ssl_cert if ssl_key is not None: ssl["key"] = ssl_key if ssl: if not SSL_ENABLED: raise NotImplementedError("ssl module not found") self.ssl = True client_flag |= CLIENT.SSL self.ctx = self._create_ssl_ctx(ssl) self.host = host or "localhost" self.port = port or 3306 if type(self.port) is not int: raise ValueError("port should be of type int") self.user = user or DEFAULT_USER self.password = password or b"" if isinstance(self.password, str): self.password = self.password.encode("latin1") self.db = database self.unix_socket = unix_socket self.bind_address = bind_address if not (0 < connect_timeout <= 31536000): raise ValueError("connect_timeout should be >0 and <=31536000") self.connect_timeout = connect_timeout or None if read_timeout is not None and read_timeout <= 0: raise ValueError("read_timeout should be > 0") self._read_timeout = read_timeout if write_timeout is not None and write_timeout <= 0: raise ValueError("write_timeout should be > 0") self._write_timeout = write_timeout self.charset = charset or DEFAULT_CHARSET self.use_unicode = use_unicode self.encoding = charset_by_name(self.charset).encoding client_flag |= CLIENT.CAPABILITIES if self.db: client_flag |= CLIENT.CONNECT_WITH_DB self.client_flag = client_flag self.cursorclass = cursorclass self._result = None self._affected_rows = 0 self.host_info = "Not connected" # specified autocommit mode. None means use server default. self.autocommit_mode = autocommit if conv is None: conv = converters.conversions # Need for MySQLdb compatibility. self.encoders = {k: v for (k, v) in conv.items() if type(k) is not int} self.decoders = {k: v for (k, v) in conv.items() if type(k) is int} self.sql_mode = sql_mode self.init_command = init_command self.max_allowed_packet = max_allowed_packet self._auth_plugin_map = auth_plugin_map or {} self._binary_prefix = binary_prefix self.server_public_key = server_public_key self._connect_attrs = { "_client_name": "pymysql", "_pid": str(os.getpid()), "_client_version": VERSION_STRING, } if program_name: self._connect_attrs["program_name"] = program_name if defer_connect: self._sock = None else: > self.connect() /usr/lib/python3.11/site-packages/pymysql/connections.py:352: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) break except (OSError, IOError) as e: if e.errno == errno.EINTR: continue raise self.host_info = "socket %s:%d" % (self.host, self.port) if DEBUG: print("connected using socket") sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) sock.settimeout(None) self._sock = sock self._rfile = sock.makefile("rb") self._next_seq_id = 0 self._get_server_information() self._request_authentication() if self.sql_mode is not None: c = self.cursor() c.execute("SET sql_mode=%s", (self.sql_mode,)) if self.init_command is not None: c = self.cursor() c.execute(self.init_command) c.close() self.commit() if self.autocommit_mode is not None: self.autocommit(self.autocommit_mode) except BaseException as e: self._rfile = None if sock is not None: try: sock.close() except: # noqa pass if isinstance(e, (OSError, IOError)): exc = err.OperationalError( CR.CR_CONN_HOST_ERROR, "Can't connect to MySQL server on %r (%s)" % (self.host, e), ) # Keep original exception and traceback to investigate error. exc.original_exception = e exc.traceback = traceback.format_exc() if DEBUG: print(exc.traceback) > raise exc E pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)") /usr/lib/python3.11/site-packages/pymysql/connections.py:668: OperationalError The above exception was the direct cause of the following exception: engine = Engine(mysql+pymysql://root@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib/python3.11/site-packages/pymysql/connections.py:352: in __init__ self.connect() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) break except (OSError, IOError) as e: if e.errno == errno.EINTR: continue raise self.host_info = "socket %s:%d" % (self.host, self.port) if DEBUG: print("connected using socket") sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) sock.settimeout(None) self._sock = sock self._rfile = sock.makefile("rb") self._next_seq_id = 0 self._get_server_information() self._request_authentication() if self.sql_mode is not None: c = self.cursor() c.execute("SET sql_mode=%s", (self.sql_mode,)) if self.init_command is not None: c = self.cursor() c.execute(self.init_command) c.close() self.commit() if self.autocommit_mode is not None: self.autocommit(self.autocommit_mode) except BaseException as e: self._rfile = None if sock is not None: try: sock.close() except: # noqa pass if isinstance(e, (OSError, IOError)): exc = err.OperationalError( CR.CR_CONN_HOST_ERROR, "Can't connect to MySQL server on %r (%s)" % (self.host, e), ) # Keep original exception and traceback to investigate error. exc.original_exception = e exc.traceback = traceback.format_exc() if DEBUG: print(exc.traceback) > raise exc E sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)") E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib/python3.11/site-packages/pymysql/connections.py:668: OperationalError ________ ERROR at setup of TestMySqlTrivialView.test_life_cycle_cascade ________ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: > sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) /usr/lib/python3.11/site-packages/pymysql/connections.py:616: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 3306), timeout = 10, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) sock.connect(sa) # Break explicitly a reference cycle exceptions.clear() return sock except error as exc: if not all_errors: exceptions.clear() # raise only the last error exceptions.append(exc) if sock is not None: sock.close() if len(exceptions): try: if not all_errors: > raise exceptions[0] /usr/lib64/python3.11/socket.py:851: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 3306), timeout = 10, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.11/socket.py:836: ConnectionRefusedError During handling of the above exception, another exception occurred: self = engine = Engine(mysql+pymysql://root@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(mysql+pymysql://root@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'client_flag': 2, 'database': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'root'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __init__( self, *, user=None, # The first four arguments is based on DB-API 2.0 recommendation. password="", host=None, database=None, unix_socket=None, port=0, charset="", sql_mode=None, read_default_file=None, conv=None, use_unicode=True, client_flag=0, cursorclass=Cursor, init_command=None, connect_timeout=10, read_default_group=None, autocommit=False, local_infile=False, max_allowed_packet=16 * 1024 * 1024, defer_connect=False, auth_plugin_map=None, read_timeout=None, write_timeout=None, bind_address=None, binary_prefix=False, program_name=None, server_public_key=None, ssl=None, ssl_ca=None, ssl_cert=None, ssl_disabled=None, ssl_key=None, ssl_verify_cert=None, ssl_verify_identity=None, compress=None, # not supported named_pipe=None, # not supported passwd=None, # deprecated db=None, # deprecated ): if db is not None and database is None: # We will raise warning in 2022 or later. # See https://github.com/PyMySQL/PyMySQL/issues/939 # warnings.warn("'db' is deprecated, use 'database'", DeprecationWarning, 3) database = db if passwd is not None and not password: # We will raise warning in 2022 or later. # See https://github.com/PyMySQL/PyMySQL/issues/939 # warnings.warn( # "'passwd' is deprecated, use 'password'", DeprecationWarning, 3 # ) password = passwd if compress or named_pipe: raise NotImplementedError( "compress and named_pipe arguments are not supported" ) self._local_infile = bool(local_infile) if self._local_infile: client_flag |= CLIENT.LOCAL_FILES if read_default_group and not read_default_file: if sys.platform.startswith("win"): read_default_file = "c:\\my.ini" else: read_default_file = "/etc/my.cnf" if read_default_file: if not read_default_group: read_default_group = "client" cfg = Parser() cfg.read(os.path.expanduser(read_default_file)) def _config(key, arg): if arg: return arg try: return cfg.get(read_default_group, key) except Exception: return arg user = _config("user", user) password = _config("password", password) host = _config("host", host) database = _config("database", database) unix_socket = _config("socket", unix_socket) port = int(_config("port", port)) bind_address = _config("bind-address", bind_address) charset = _config("default-character-set", charset) if not ssl: ssl = {} if isinstance(ssl, dict): for key in ["ca", "capath", "cert", "key", "cipher"]: value = _config("ssl-" + key, ssl.get(key)) if value: ssl[key] = value self.ssl = False if not ssl_disabled: if ssl_ca or ssl_cert or ssl_key or ssl_verify_cert or ssl_verify_identity: ssl = { "ca": ssl_ca, "check_hostname": bool(ssl_verify_identity), "verify_mode": ssl_verify_cert if ssl_verify_cert is not None else False, } if ssl_cert is not None: ssl["cert"] = ssl_cert if ssl_key is not None: ssl["key"] = ssl_key if ssl: if not SSL_ENABLED: raise NotImplementedError("ssl module not found") self.ssl = True client_flag |= CLIENT.SSL self.ctx = self._create_ssl_ctx(ssl) self.host = host or "localhost" self.port = port or 3306 if type(self.port) is not int: raise ValueError("port should be of type int") self.user = user or DEFAULT_USER self.password = password or b"" if isinstance(self.password, str): self.password = self.password.encode("latin1") self.db = database self.unix_socket = unix_socket self.bind_address = bind_address if not (0 < connect_timeout <= 31536000): raise ValueError("connect_timeout should be >0 and <=31536000") self.connect_timeout = connect_timeout or None if read_timeout is not None and read_timeout <= 0: raise ValueError("read_timeout should be > 0") self._read_timeout = read_timeout if write_timeout is not None and write_timeout <= 0: raise ValueError("write_timeout should be > 0") self._write_timeout = write_timeout self.charset = charset or DEFAULT_CHARSET self.use_unicode = use_unicode self.encoding = charset_by_name(self.charset).encoding client_flag |= CLIENT.CAPABILITIES if self.db: client_flag |= CLIENT.CONNECT_WITH_DB self.client_flag = client_flag self.cursorclass = cursorclass self._result = None self._affected_rows = 0 self.host_info = "Not connected" # specified autocommit mode. None means use server default. self.autocommit_mode = autocommit if conv is None: conv = converters.conversions # Need for MySQLdb compatibility. self.encoders = {k: v for (k, v) in conv.items() if type(k) is not int} self.decoders = {k: v for (k, v) in conv.items() if type(k) is int} self.sql_mode = sql_mode self.init_command = init_command self.max_allowed_packet = max_allowed_packet self._auth_plugin_map = auth_plugin_map or {} self._binary_prefix = binary_prefix self.server_public_key = server_public_key self._connect_attrs = { "_client_name": "pymysql", "_pid": str(os.getpid()), "_client_version": VERSION_STRING, } if program_name: self._connect_attrs["program_name"] = program_name if defer_connect: self._sock = None else: > self.connect() /usr/lib/python3.11/site-packages/pymysql/connections.py:352: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) break except (OSError, IOError) as e: if e.errno == errno.EINTR: continue raise self.host_info = "socket %s:%d" % (self.host, self.port) if DEBUG: print("connected using socket") sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) sock.settimeout(None) self._sock = sock self._rfile = sock.makefile("rb") self._next_seq_id = 0 self._get_server_information() self._request_authentication() if self.sql_mode is not None: c = self.cursor() c.execute("SET sql_mode=%s", (self.sql_mode,)) if self.init_command is not None: c = self.cursor() c.execute(self.init_command) c.close() self.commit() if self.autocommit_mode is not None: self.autocommit(self.autocommit_mode) except BaseException as e: self._rfile = None if sock is not None: try: sock.close() except: # noqa pass if isinstance(e, (OSError, IOError)): exc = err.OperationalError( CR.CR_CONN_HOST_ERROR, "Can't connect to MySQL server on %r (%s)" % (self.host, e), ) # Keep original exception and traceback to investigate error. exc.original_exception = e exc.traceback = traceback.format_exc() if DEBUG: print(exc.traceback) > raise exc E pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)") /usr/lib/python3.11/site-packages/pymysql/connections.py:668: OperationalError The above exception was the direct cause of the following exception: engine = Engine(mysql+pymysql://root@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib/python3.11/site-packages/pymysql/connections.py:352: in __init__ self.connect() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) break except (OSError, IOError) as e: if e.errno == errno.EINTR: continue raise self.host_info = "socket %s:%d" % (self.host, self.port) if DEBUG: print("connected using socket") sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) sock.settimeout(None) self._sock = sock self._rfile = sock.makefile("rb") self._next_seq_id = 0 self._get_server_information() self._request_authentication() if self.sql_mode is not None: c = self.cursor() c.execute("SET sql_mode=%s", (self.sql_mode,)) if self.init_command is not None: c = self.cursor() c.execute(self.init_command) c.close() self.commit() if self.autocommit_mode is not None: self.autocommit(self.autocommit_mode) except BaseException as e: self._rfile = None if sock is not None: try: sock.close() except: # noqa pass if isinstance(e, (OSError, IOError)): exc = err.OperationalError( CR.CR_CONN_HOST_ERROR, "Can't connect to MySQL server on %r (%s)" % (self.host, e), ) # Keep original exception and traceback to investigate error. exc.original_exception = e exc.traceback = traceback.format_exc() if DEBUG: print(exc.traceback) > raise exc E sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)") E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib/python3.11/site-packages/pymysql/connections.py:668: OperationalError _ ERROR at setup of TestLazyEvaluatedSelectExpressionsForAggregates.test_assigns_aggregates_on_insert _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestLazyEvaluatedSelectExpressionsForAggregates.test_assigns_aggregates_on_update _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestLazyEvaluatedSelectExpressionsForAggregates.test_assigns_aggregates_on_insert[simple] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestLazyEvaluatedSelectExpressionsForAggregates.test_assigns_aggregates_on_insert[child] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestLazyEvaluatedSelectExpressionsForAggregates.test_assigns_aggregates_on_update[simple] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestLazyEvaluatedSelectExpressionsForAggregates.test_assigns_aggregates_on_update[child] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestAggregatesWithManyToManyRelationships.test_assigns_aggregates_on_insert _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestAggregatesWithManyToManyRelationships.test_updates_aggregates_on_delete _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ______ ERROR at setup of TestAggregateManyToManyAndManyToMany.test_insert ______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ______ ERROR at setup of TestAggregateOneToManyAndManyToMany.test_insert _______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestAggregateOneToManyAndOneToMany.test_assigns_aggregates _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ______ ERROR at setup of Test3LevelDeepOneToMany.test_assigns_aggregates _______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of Test3LevelDeepOneToMany.test_only_updates_affected_aggregates _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSearchVectorAggregates.test_assigns_aggregates_on_insert _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestAggregateValueGenerationWithCascadeDelete.test_something _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ___________ ERROR at setup of TestJSONSQL.test_compiled_scalars[1-1] ___________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _______ ERROR at setup of TestJSONSQL.test_compiled_scalars[14.14-14.14] _______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONSQL.test_compiled_scalars[value2-result2] ______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONSQL.test_compiled_scalars[value3-result3] ______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONSQL.test_compiled_scalars[value4-result4] ______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONSQL.test_compiled_scalars[value5-result5] ______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONSQL.test_compiled_scalars[value6-result6] ______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONSQL.test_compiled_scalars[value7-result7] ______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError __________ ERROR at setup of TestJSONBSQL.test_compiled_scalars[1-1] ___________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ______ ERROR at setup of TestJSONBSQL.test_compiled_scalars[14.14-14.14] _______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONBSQL.test_compiled_scalars[value2-result2] _____ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONBSQL.test_compiled_scalars[value3-result3] _____ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONBSQL.test_compiled_scalars[value4-result4] _____ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONBSQL.test_compiled_scalars[value5-result5] _____ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONBSQL.test_compiled_scalars[value6-result6] _____ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestJSONBSQL.test_compiled_scalars[value7-result7] _____ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError __________ ERROR at setup of TestObservesForColumn.test_simple_insert __________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForColumnWithoutActualChanges.test_only_notifies_observer_on_actual_changes _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForMultipleColumns.test_only_notifies_observer_on_actual_changes _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForMultipleColumnsFiresOnlyOnce.test_only_notifies_observer_on_actual_changes _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForDynamicRelationship.test_add_observed_object _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForDynamicRelationship.test_add_observed_object_from_backref _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError __ ERROR at setup of TestObservesForManyToManyToManyToMany.test_simple_insert __ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForManyToManyToManyToMany.test_add_leaf_object _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForManyToManyToManyToMany.test_remove_leaf_object _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForManyToManyToManyToMany.test_delete_intermediate_object _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForManyToManyToManyToMany.test_gathered_objects_are_distinct _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ___ ERROR at setup of TestObservesFor3LevelDeepOneToMany.test_simple_insert ____ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError __ ERROR at setup of TestObservesFor3LevelDeepOneToMany.test_add_leaf_object ___ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesFor3LevelDeepOneToMany.test_remove_leaf_object _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesFor3LevelDeepOneToMany.test_delete_intermediate_object _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesFor3LevelDeepOneToMany.test_gathered_objects_are_distinct _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ___ ERROR at setup of TestObservesForOneToManyToOneToMany.test_simple_insert ___ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError __ ERROR at setup of TestObservesForOneToManyToOneToMany.test_add_leaf_object __ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForOneToManyToOneToMany.test_remove_leaf_object _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForOneToManyToOneToMany.test_delete_intermediate_object _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForOneToManyToOneToMany.test_gathered_objects_are_distinct _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForOneToManyToOneToMany.test_observable_root_obj_is_none _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ____ ERROR at setup of TestObservesForOneToOneToOneToOne.test_simple_insert ____ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForOneToOneToOneToOne.test_replace_leaf_object _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestObservesForOneToOneToOneToOne.test_delete_leaf_object __ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSelectCorrelatedExpression.test_returns_correct_results[categories-categories-subcategories-result0] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSelectCorrelatedExpression.test_returns_correct_results[articles-comments-comments-result1] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSelectCorrelatedExpression.test_returns_correct_results[users-groups-groups-result2] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSelectCorrelatedExpression.test_returns_correct_results[users-users-all_friends-result3] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSelectCorrelatedExpression.test_returns_correct_results[users-users-all_friends.all_friends-result4] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSelectCorrelatedExpression.test_returns_correct_results[users-users-groups.users-result5] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSelectCorrelatedExpression.test_returns_correct_results[groups-articles-users.authored_articles-result6] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSelectCorrelatedExpression.test_returns_correct_results[categories-categories-subcategories.subcategories-result7] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSelectCorrelatedExpression.test_returns_correct_results[categories-categories-subcategories.subcategories.subcategories-result8] _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSelectCorrelatedExpression.test_order_by_intermediate_table_column _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestSelectCorrelatedExpression.test_with_non_aggregate_function _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestCompositeTypeWithRegularTypes.test_parameter_processing _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ___ ERROR at setup of TestCompositeTypeWithRegularTypes.test_non_ascii_chars ___ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____ ERROR at setup of TestCompositeTypeWithRegularTypes.test_dict_input ______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ___ ERROR at setup of TestCompositeTypeWithRegularTypes.test_incomplete_dict ___ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ ERROR at setup of TestCompositeTypeWhenTypeAlreadyExistsInDatabase.test_parameter_processing _ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError __ ERROR at setup of TestCompositeTypeWithMixedCase.test_parameter_processing __ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _______________ ERROR at setup of TestPostgresJSONType.test_list _______________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _______ ERROR at setup of TestPostgresJSONType.test_parameter_processing _______ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _________ ERROR at setup of TestPostgresJSONType.test_non_ascii_chars __________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ___________ ERROR at setup of TestPostgresJSONType.test_compilation ____________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _________ ERROR at setup of TestPostgresJSONType.test_unhashable_type __________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _________________ ERROR at setup of TestLTREE.test_saves_path __________________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ________________ ERROR at setup of TestLTREE.test_literal_param ________________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _________________ ERROR at setup of TestLTREE.test_compilation _________________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _____________ ERROR at setup of TestTSVector.test_type_reflection ______________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _________ ERROR at setup of TestTSVector.test_catalog_passed_to_match __________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ___________ ERROR at setup of TestTSVector.test_match_concatenation ____________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ____________ ERROR at setup of TestTSVector.test_match_with_catalog ____________ self = engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: engine = Engine(postgresql://postgres:***@localhost/sqlalchemy_utils_test) @pytest.fixture def connection(engine): > return engine.connect() conftest.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=sqlalchemy_utils_test user=postgres' connection_factory = None, cursor_factory = None kwargs = {'dbname': 'sqlalchemy_utils_test', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError =================================== FAILURES =================================== ____________________ TestDatabaseMySQL.test_create_and_drop ____________________ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: > sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) /usr/lib/python3.11/site-packages/pymysql/connections.py:616: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 3306), timeout = 10, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) sock.connect(sa) # Break explicitly a reference cycle exceptions.clear() return sock except error as exc: if not all_errors: exceptions.clear() # raise only the last error exceptions.append(exc) if sock is not None: sock.close() if len(exceptions): try: if not all_errors: > raise exceptions[0] /usr/lib64/python3.11/socket.py:851: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 3306), timeout = 10, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.11/socket.py:836: ConnectionRefusedError During handling of the above exception, another exception occurred: self = engine = Engine(mysql+pymysql://root@localhost), connection = None _has_events = None, _allow_revalidate = True, _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(mysql+pymysql://root@localhost) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = (), cparams = {'client_flag': 2, 'host': 'localhost', 'user': 'root'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __init__( self, *, user=None, # The first four arguments is based on DB-API 2.0 recommendation. password="", host=None, database=None, unix_socket=None, port=0, charset="", sql_mode=None, read_default_file=None, conv=None, use_unicode=True, client_flag=0, cursorclass=Cursor, init_command=None, connect_timeout=10, read_default_group=None, autocommit=False, local_infile=False, max_allowed_packet=16 * 1024 * 1024, defer_connect=False, auth_plugin_map=None, read_timeout=None, write_timeout=None, bind_address=None, binary_prefix=False, program_name=None, server_public_key=None, ssl=None, ssl_ca=None, ssl_cert=None, ssl_disabled=None, ssl_key=None, ssl_verify_cert=None, ssl_verify_identity=None, compress=None, # not supported named_pipe=None, # not supported passwd=None, # deprecated db=None, # deprecated ): if db is not None and database is None: # We will raise warning in 2022 or later. # See https://github.com/PyMySQL/PyMySQL/issues/939 # warnings.warn("'db' is deprecated, use 'database'", DeprecationWarning, 3) database = db if passwd is not None and not password: # We will raise warning in 2022 or later. # See https://github.com/PyMySQL/PyMySQL/issues/939 # warnings.warn( # "'passwd' is deprecated, use 'password'", DeprecationWarning, 3 # ) password = passwd if compress or named_pipe: raise NotImplementedError( "compress and named_pipe arguments are not supported" ) self._local_infile = bool(local_infile) if self._local_infile: client_flag |= CLIENT.LOCAL_FILES if read_default_group and not read_default_file: if sys.platform.startswith("win"): read_default_file = "c:\\my.ini" else: read_default_file = "/etc/my.cnf" if read_default_file: if not read_default_group: read_default_group = "client" cfg = Parser() cfg.read(os.path.expanduser(read_default_file)) def _config(key, arg): if arg: return arg try: return cfg.get(read_default_group, key) except Exception: return arg user = _config("user", user) password = _config("password", password) host = _config("host", host) database = _config("database", database) unix_socket = _config("socket", unix_socket) port = int(_config("port", port)) bind_address = _config("bind-address", bind_address) charset = _config("default-character-set", charset) if not ssl: ssl = {} if isinstance(ssl, dict): for key in ["ca", "capath", "cert", "key", "cipher"]: value = _config("ssl-" + key, ssl.get(key)) if value: ssl[key] = value self.ssl = False if not ssl_disabled: if ssl_ca or ssl_cert or ssl_key or ssl_verify_cert or ssl_verify_identity: ssl = { "ca": ssl_ca, "check_hostname": bool(ssl_verify_identity), "verify_mode": ssl_verify_cert if ssl_verify_cert is not None else False, } if ssl_cert is not None: ssl["cert"] = ssl_cert if ssl_key is not None: ssl["key"] = ssl_key if ssl: if not SSL_ENABLED: raise NotImplementedError("ssl module not found") self.ssl = True client_flag |= CLIENT.SSL self.ctx = self._create_ssl_ctx(ssl) self.host = host or "localhost" self.port = port or 3306 if type(self.port) is not int: raise ValueError("port should be of type int") self.user = user or DEFAULT_USER self.password = password or b"" if isinstance(self.password, str): self.password = self.password.encode("latin1") self.db = database self.unix_socket = unix_socket self.bind_address = bind_address if not (0 < connect_timeout <= 31536000): raise ValueError("connect_timeout should be >0 and <=31536000") self.connect_timeout = connect_timeout or None if read_timeout is not None and read_timeout <= 0: raise ValueError("read_timeout should be > 0") self._read_timeout = read_timeout if write_timeout is not None and write_timeout <= 0: raise ValueError("write_timeout should be > 0") self._write_timeout = write_timeout self.charset = charset or DEFAULT_CHARSET self.use_unicode = use_unicode self.encoding = charset_by_name(self.charset).encoding client_flag |= CLIENT.CAPABILITIES if self.db: client_flag |= CLIENT.CONNECT_WITH_DB self.client_flag = client_flag self.cursorclass = cursorclass self._result = None self._affected_rows = 0 self.host_info = "Not connected" # specified autocommit mode. None means use server default. self.autocommit_mode = autocommit if conv is None: conv = converters.conversions # Need for MySQLdb compatibility. self.encoders = {k: v for (k, v) in conv.items() if type(k) is not int} self.decoders = {k: v for (k, v) in conv.items() if type(k) is int} self.sql_mode = sql_mode self.init_command = init_command self.max_allowed_packet = max_allowed_packet self._auth_plugin_map = auth_plugin_map or {} self._binary_prefix = binary_prefix self.server_public_key = server_public_key self._connect_attrs = { "_client_name": "pymysql", "_pid": str(os.getpid()), "_client_version": VERSION_STRING, } if program_name: self._connect_attrs["program_name"] = program_name if defer_connect: self._sock = None else: > self.connect() /usr/lib/python3.11/site-packages/pymysql/connections.py:352: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) break except (OSError, IOError) as e: if e.errno == errno.EINTR: continue raise self.host_info = "socket %s:%d" % (self.host, self.port) if DEBUG: print("connected using socket") sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) sock.settimeout(None) self._sock = sock self._rfile = sock.makefile("rb") self._next_seq_id = 0 self._get_server_information() self._request_authentication() if self.sql_mode is not None: c = self.cursor() c.execute("SET sql_mode=%s", (self.sql_mode,)) if self.init_command is not None: c = self.cursor() c.execute(self.init_command) c.close() self.commit() if self.autocommit_mode is not None: self.autocommit(self.autocommit_mode) except BaseException as e: self._rfile = None if sock is not None: try: sock.close() except: # noqa pass if isinstance(e, (OSError, IOError)): exc = err.OperationalError( CR.CR_CONN_HOST_ERROR, "Can't connect to MySQL server on %r (%s)" % (self.host, e), ) # Keep original exception and traceback to investigate error. exc.original_exception = e exc.traceback = traceback.format_exc() if DEBUG: print(exc.traceback) > raise exc E pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)") /usr/lib/python3.11/site-packages/pymysql/connections.py:668: OperationalError The above exception was the direct cause of the following exception: self = dsn = 'mysql+pymysql://root@localhost/db_test_sqlalchemy_util' def test_create_and_drop(self, dsn): > assert not database_exists(dsn) tests/functions/test_database.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sqlalchemy_utils/functions/database.py:498: in database_exists return bool(_get_scalar_result(engine, sa.text(text))) sqlalchemy_utils/functions/database.py:442: in _get_scalar_result with engine.connect() as conn: /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib/python3.11/site-packages/pymysql/connections.py:352: in __init__ self.connect() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) break except (OSError, IOError) as e: if e.errno == errno.EINTR: continue raise self.host_info = "socket %s:%d" % (self.host, self.port) if DEBUG: print("connected using socket") sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) sock.settimeout(None) self._sock = sock self._rfile = sock.makefile("rb") self._next_seq_id = 0 self._get_server_information() self._request_authentication() if self.sql_mode is not None: c = self.cursor() c.execute("SET sql_mode=%s", (self.sql_mode,)) if self.init_command is not None: c = self.cursor() c.execute(self.init_command) c.close() self.commit() if self.autocommit_mode is not None: self.autocommit(self.autocommit_mode) except BaseException as e: self._rfile = None if sock is not None: try: sock.close() except: # noqa pass if isinstance(e, (OSError, IOError)): exc = err.OperationalError( CR.CR_CONN_HOST_ERROR, "Can't connect to MySQL server on %r (%s)" % (self.host, e), ) # Keep original exception and traceback to investigate error. exc.original_exception = e exc.traceback = traceback.format_exc() if DEBUG: print(exc.traceback) > raise exc E sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)") E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib/python3.11/site-packages/pymysql/connections.py:668: OperationalError _____________ TestDatabaseMySQLWithQuotedName.test_create_and_drop _____________ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: > sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) /usr/lib/python3.11/site-packages/pymysql/connections.py:616: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 3306), timeout = 10, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) sock.connect(sa) # Break explicitly a reference cycle exceptions.clear() return sock except error as exc: if not all_errors: exceptions.clear() # raise only the last error exceptions.append(exc) if sock is not None: sock.close() if len(exceptions): try: if not all_errors: > raise exceptions[0] /usr/lib64/python3.11/socket.py:851: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 3306), timeout = 10, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.11/socket.py:836: ConnectionRefusedError During handling of the above exception, another exception occurred: self = engine = Engine(mysql+pymysql://root@localhost), connection = None _has_events = None, _allow_revalidate = True, _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(mysql+pymysql://root@localhost) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = (), cparams = {'client_flag': 2, 'host': 'localhost', 'user': 'root'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __init__( self, *, user=None, # The first four arguments is based on DB-API 2.0 recommendation. password="", host=None, database=None, unix_socket=None, port=0, charset="", sql_mode=None, read_default_file=None, conv=None, use_unicode=True, client_flag=0, cursorclass=Cursor, init_command=None, connect_timeout=10, read_default_group=None, autocommit=False, local_infile=False, max_allowed_packet=16 * 1024 * 1024, defer_connect=False, auth_plugin_map=None, read_timeout=None, write_timeout=None, bind_address=None, binary_prefix=False, program_name=None, server_public_key=None, ssl=None, ssl_ca=None, ssl_cert=None, ssl_disabled=None, ssl_key=None, ssl_verify_cert=None, ssl_verify_identity=None, compress=None, # not supported named_pipe=None, # not supported passwd=None, # deprecated db=None, # deprecated ): if db is not None and database is None: # We will raise warning in 2022 or later. # See https://github.com/PyMySQL/PyMySQL/issues/939 # warnings.warn("'db' is deprecated, use 'database'", DeprecationWarning, 3) database = db if passwd is not None and not password: # We will raise warning in 2022 or later. # See https://github.com/PyMySQL/PyMySQL/issues/939 # warnings.warn( # "'passwd' is deprecated, use 'password'", DeprecationWarning, 3 # ) password = passwd if compress or named_pipe: raise NotImplementedError( "compress and named_pipe arguments are not supported" ) self._local_infile = bool(local_infile) if self._local_infile: client_flag |= CLIENT.LOCAL_FILES if read_default_group and not read_default_file: if sys.platform.startswith("win"): read_default_file = "c:\\my.ini" else: read_default_file = "/etc/my.cnf" if read_default_file: if not read_default_group: read_default_group = "client" cfg = Parser() cfg.read(os.path.expanduser(read_default_file)) def _config(key, arg): if arg: return arg try: return cfg.get(read_default_group, key) except Exception: return arg user = _config("user", user) password = _config("password", password) host = _config("host", host) database = _config("database", database) unix_socket = _config("socket", unix_socket) port = int(_config("port", port)) bind_address = _config("bind-address", bind_address) charset = _config("default-character-set", charset) if not ssl: ssl = {} if isinstance(ssl, dict): for key in ["ca", "capath", "cert", "key", "cipher"]: value = _config("ssl-" + key, ssl.get(key)) if value: ssl[key] = value self.ssl = False if not ssl_disabled: if ssl_ca or ssl_cert or ssl_key or ssl_verify_cert or ssl_verify_identity: ssl = { "ca": ssl_ca, "check_hostname": bool(ssl_verify_identity), "verify_mode": ssl_verify_cert if ssl_verify_cert is not None else False, } if ssl_cert is not None: ssl["cert"] = ssl_cert if ssl_key is not None: ssl["key"] = ssl_key if ssl: if not SSL_ENABLED: raise NotImplementedError("ssl module not found") self.ssl = True client_flag |= CLIENT.SSL self.ctx = self._create_ssl_ctx(ssl) self.host = host or "localhost" self.port = port or 3306 if type(self.port) is not int: raise ValueError("port should be of type int") self.user = user or DEFAULT_USER self.password = password or b"" if isinstance(self.password, str): self.password = self.password.encode("latin1") self.db = database self.unix_socket = unix_socket self.bind_address = bind_address if not (0 < connect_timeout <= 31536000): raise ValueError("connect_timeout should be >0 and <=31536000") self.connect_timeout = connect_timeout or None if read_timeout is not None and read_timeout <= 0: raise ValueError("read_timeout should be > 0") self._read_timeout = read_timeout if write_timeout is not None and write_timeout <= 0: raise ValueError("write_timeout should be > 0") self._write_timeout = write_timeout self.charset = charset or DEFAULT_CHARSET self.use_unicode = use_unicode self.encoding = charset_by_name(self.charset).encoding client_flag |= CLIENT.CAPABILITIES if self.db: client_flag |= CLIENT.CONNECT_WITH_DB self.client_flag = client_flag self.cursorclass = cursorclass self._result = None self._affected_rows = 0 self.host_info = "Not connected" # specified autocommit mode. None means use server default. self.autocommit_mode = autocommit if conv is None: conv = converters.conversions # Need for MySQLdb compatibility. self.encoders = {k: v for (k, v) in conv.items() if type(k) is not int} self.decoders = {k: v for (k, v) in conv.items() if type(k) is int} self.sql_mode = sql_mode self.init_command = init_command self.max_allowed_packet = max_allowed_packet self._auth_plugin_map = auth_plugin_map or {} self._binary_prefix = binary_prefix self.server_public_key = server_public_key self._connect_attrs = { "_client_name": "pymysql", "_pid": str(os.getpid()), "_client_version": VERSION_STRING, } if program_name: self._connect_attrs["program_name"] = program_name if defer_connect: self._sock = None else: > self.connect() /usr/lib/python3.11/site-packages/pymysql/connections.py:352: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) break except (OSError, IOError) as e: if e.errno == errno.EINTR: continue raise self.host_info = "socket %s:%d" % (self.host, self.port) if DEBUG: print("connected using socket") sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) sock.settimeout(None) self._sock = sock self._rfile = sock.makefile("rb") self._next_seq_id = 0 self._get_server_information() self._request_authentication() if self.sql_mode is not None: c = self.cursor() c.execute("SET sql_mode=%s", (self.sql_mode,)) if self.init_command is not None: c = self.cursor() c.execute(self.init_command) c.close() self.commit() if self.autocommit_mode is not None: self.autocommit(self.autocommit_mode) except BaseException as e: self._rfile = None if sock is not None: try: sock.close() except: # noqa pass if isinstance(e, (OSError, IOError)): exc = err.OperationalError( CR.CR_CONN_HOST_ERROR, "Can't connect to MySQL server on %r (%s)" % (self.host, e), ) # Keep original exception and traceback to investigate error. exc.original_exception = e exc.traceback = traceback.format_exc() if DEBUG: print(exc.traceback) > raise exc E pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)") /usr/lib/python3.11/site-packages/pymysql/connections.py:668: OperationalError The above exception was the direct cause of the following exception: self = dsn = 'mysql+pymysql://root@localhost/db_test_sqlalchemy-util' def test_create_and_drop(self, dsn): > assert not database_exists(dsn) tests/functions/test_database.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sqlalchemy_utils/functions/database.py:498: in database_exists return bool(_get_scalar_result(engine, sa.text(text))) sqlalchemy_utils/functions/database.py:442: in _get_scalar_result with engine.connect() as conn: /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib/python3.11/site-packages/pymysql/connections.py:352: in __init__ self.connect() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , sock = None def connect(self, sock=None): self._closed = False try: if sock is None: if self.unix_socket: sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) sock.settimeout(self.connect_timeout) sock.connect(self.unix_socket) self.host_info = "Localhost via UNIX socket" self._secure = True if DEBUG: print("connected using unix_socket") else: kwargs = {} if self.bind_address is not None: kwargs["source_address"] = (self.bind_address, 0) while True: try: sock = socket.create_connection( (self.host, self.port), self.connect_timeout, **kwargs ) break except (OSError, IOError) as e: if e.errno == errno.EINTR: continue raise self.host_info = "socket %s:%d" % (self.host, self.port) if DEBUG: print("connected using socket") sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) sock.settimeout(None) self._sock = sock self._rfile = sock.makefile("rb") self._next_seq_id = 0 self._get_server_information() self._request_authentication() if self.sql_mode is not None: c = self.cursor() c.execute("SET sql_mode=%s", (self.sql_mode,)) if self.init_command is not None: c = self.cursor() c.execute(self.init_command) c.close() self.commit() if self.autocommit_mode is not None: self.autocommit(self.autocommit_mode) except BaseException as e: self._rfile = None if sock is not None: try: sock.close() except: # noqa pass if isinstance(e, (OSError, IOError)): exc = err.OperationalError( CR.CR_CONN_HOST_ERROR, "Can't connect to MySQL server on %r (%s)" % (self.host, e), ) # Keep original exception and traceback to investigate error. exc.original_exception = e exc.traceback = traceback.format_exc() if DEBUG: print(exc.traceback) > raise exc E sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'localhost' ([Errno 111] Connection refused)") E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib/python3.11/site-packages/pymysql/connections.py:668: OperationalError __________________ TestDatabasePostgres.test_create_and_drop ___________________ self = engine = Engine(postgresql://postgres:***@localhost/postgres), connection = None _has_events = None, _allow_revalidate = True, _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/postgres) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=postgres user=postgres', connection_factory = None cursor_factory = None kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: self = dsn = 'postgresql://postgres:@localhost/db_test_sqlalchemy_util' def test_create_and_drop(self, dsn): assert not database_exists(dsn) > create_database(dsn) tests/functions/test_database.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sqlalchemy_utils/functions/database.py:568: in create_database with engine.begin() as conn: /usr/lib64/python3.11/contextlib.py:137: in __enter__ return next(self.gen) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3228: in begin with self.connect() as conn: /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=postgres user=postgres', connection_factory = None cursor_factory = None kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ______________________ TestDatabasePostgres.test_template ______________________ self = engine = Engine(postgresql://postgres:***@localhost/postgres), connection = None _has_events = None, _allow_revalidate = True, _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/postgres) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=postgres user=postgres', connection_factory = None cursor_factory = None kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: self = postgresql_db_user = 'postgres', postgresql_db_password = '' def test_template(self, postgresql_db_user, postgresql_db_password): dsn = 'postgresql://{}:{}@localhost/db_test_sqlalchemy_util'.format( postgresql_db_user, postgresql_db_password ) with pytest.raises(sa.exc.ProgrammingError) as excinfo: > create_database(dsn, template='my_template') tests/functions/test_database.py:77: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sqlalchemy_utils/functions/database.py:568: in create_database with engine.begin() as conn: /usr/lib64/python3.11/contextlib.py:137: in __enter__ return next(self.gen) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3228: in begin with self.connect() as conn: /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=postgres user=postgres', connection_factory = None cursor_factory = None kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _______________ TestDatabasePostgresPg8000.test_create_and_drop ________________ self = , user = 'postgres' host = 'localhost', database = 'db_to_test_create_and_drop_via_pg8000_driver' port = 5432, password = None, source_address = None, unix_sock = None ssl_context = None, timeout = None, tcp_keepalive = True application_name = None, replication = None def __init__( self, user, host="localhost", database=None, port=5432, password=None, source_address=None, unix_sock=None, ssl_context=None, timeout=None, tcp_keepalive=True, application_name=None, replication=None, ): self._client_encoding = "utf8" self._commands_with_count = ( b"INSERT", b"DELETE", b"UPDATE", b"MOVE", b"FETCH", b"COPY", b"SELECT", ) self.notifications = deque(maxlen=100) self.notices = deque(maxlen=100) self.parameter_statuses = deque(maxlen=100) if user is None: raise InterfaceError("The 'user' connection parameter cannot be None") init_params = { "user": user, "database": database, "application_name": application_name, "replication": replication, } for k, v in tuple(init_params.items()): if isinstance(v, str): init_params[k] = v.encode("utf8") elif v is None: del init_params[k] elif not isinstance(v, (bytes, bytearray)): raise InterfaceError(f"The parameter {k} can't be of type {type(v)}.") self.user = init_params["user"] if isinstance(password, str): self.password = password.encode("utf8") else: self.password = password self.autocommit = False self._xid = None self._statement_nums = set() self._caches = {} if unix_sock is None and host is not None: try: > self._usock = socket.create_connection( (host, port), timeout, source_address ) /usr/lib/python3.11/site-packages/pg8000/core.py:208: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 5432), timeout = None, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) sock.connect(sa) # Break explicitly a reference cycle exceptions.clear() return sock except error as exc: if not all_errors: exceptions.clear() # raise only the last error exceptions.append(exc) if sock is not None: sock.close() if len(exceptions): try: if not all_errors: > raise exceptions[0] /usr/lib64/python3.11/socket.py:851: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('localhost', 5432), timeout = None, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.11/socket.py:836: ConnectionRefusedError The above exception was the direct cause of the following exception: self = engine = Engine(postgresql+pg8000://postgres:***@localhost/db_to_test_create_and_drop_via_pg8000_driver) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql+pg8000://postgres:***@localhost/db_to_test_create_and_drop_via_pg8000_driver) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'database': 'db_to_test_create_and_drop_via_pg8000_driver', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ user = 'postgres', host = 'localhost' database = 'db_to_test_create_and_drop_via_pg8000_driver', port = 5432 password = None, source_address = None, unix_sock = None, ssl_context = None timeout = None, tcp_keepalive = True, application_name = None replication = None def connect( user, host="localhost", database=None, port=5432, password=None, source_address=None, unix_sock=None, ssl_context=None, timeout=None, tcp_keepalive=True, application_name=None, replication=None, ): > return Connection( user, host=host, database=database, port=port, password=password, source_address=source_address, unix_sock=unix_sock, ssl_context=ssl_context, timeout=timeout, tcp_keepalive=tcp_keepalive, application_name=application_name, replication=replication, ) /usr/lib/python3.11/site-packages/pg8000/__init__.py:117: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , args = ('postgres',) kwargs = {'application_name': None, 'database': 'db_to_test_create_and_drop_via_pg8000_driver', 'host': 'localhost', 'password': None, ...} def __init__(self, *args, **kwargs): try: > super().__init__(*args, **kwargs) /usr/lib/python3.11/site-packages/pg8000/legacy.py:442: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , user = 'postgres' host = 'localhost', database = 'db_to_test_create_and_drop_via_pg8000_driver' port = 5432, password = None, source_address = None, unix_sock = None ssl_context = None, timeout = None, tcp_keepalive = True application_name = None, replication = None def __init__( self, user, host="localhost", database=None, port=5432, password=None, source_address=None, unix_sock=None, ssl_context=None, timeout=None, tcp_keepalive=True, application_name=None, replication=None, ): self._client_encoding = "utf8" self._commands_with_count = ( b"INSERT", b"DELETE", b"UPDATE", b"MOVE", b"FETCH", b"COPY", b"SELECT", ) self.notifications = deque(maxlen=100) self.notices = deque(maxlen=100) self.parameter_statuses = deque(maxlen=100) if user is None: raise InterfaceError("The 'user' connection parameter cannot be None") init_params = { "user": user, "database": database, "application_name": application_name, "replication": replication, } for k, v in tuple(init_params.items()): if isinstance(v, str): init_params[k] = v.encode("utf8") elif v is None: del init_params[k] elif not isinstance(v, (bytes, bytearray)): raise InterfaceError(f"The parameter {k} can't be of type {type(v)}.") self.user = init_params["user"] if isinstance(password, str): self.password = password.encode("utf8") else: self.password = password self.autocommit = False self._xid = None self._statement_nums = set() self._caches = {} if unix_sock is None and host is not None: try: self._usock = socket.create_connection( (host, port), timeout, source_address ) except socket.error as e: > raise InterfaceError( f"Can't create a connection to host {host} and port {port} " f"(timeout is {timeout} and source_address is {source_address})." ) from e E pg8000.exceptions.InterfaceError: Can't create a connection to host localhost and port 5432 (timeout is None and source_address is None). /usr/lib/python3.11/site-packages/pg8000/core.py:212: InterfaceError The above exception was the direct cause of the following exception: self = dsn = 'postgresql+pg8000://postgres:@localhost/db_to_test_create_and_drop_via_pg8000_driver' def test_create_and_drop(self, dsn): > assert not database_exists(dsn) tests/functions/test_database.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sqlalchemy_utils/functions/database.py:488: in database_exists return bool(_get_scalar_result(engine, sa.text(text))) sqlalchemy_utils/functions/database.py:442: in _get_scalar_result with engine.connect() as conn: /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib/python3.11/site-packages/pg8000/__init__.py:117: in connect return Connection( /usr/lib/python3.11/site-packages/pg8000/legacy.py:442: in __init__ super().__init__(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , user = 'postgres' host = 'localhost', database = 'db_to_test_create_and_drop_via_pg8000_driver' port = 5432, password = None, source_address = None, unix_sock = None ssl_context = None, timeout = None, tcp_keepalive = True application_name = None, replication = None def __init__( self, user, host="localhost", database=None, port=5432, password=None, source_address=None, unix_sock=None, ssl_context=None, timeout=None, tcp_keepalive=True, application_name=None, replication=None, ): self._client_encoding = "utf8" self._commands_with_count = ( b"INSERT", b"DELETE", b"UPDATE", b"MOVE", b"FETCH", b"COPY", b"SELECT", ) self.notifications = deque(maxlen=100) self.notices = deque(maxlen=100) self.parameter_statuses = deque(maxlen=100) if user is None: raise InterfaceError("The 'user' connection parameter cannot be None") init_params = { "user": user, "database": database, "application_name": application_name, "replication": replication, } for k, v in tuple(init_params.items()): if isinstance(v, str): init_params[k] = v.encode("utf8") elif v is None: del init_params[k] elif not isinstance(v, (bytes, bytearray)): raise InterfaceError(f"The parameter {k} can't be of type {type(v)}.") self.user = init_params["user"] if isinstance(password, str): self.password = password.encode("utf8") else: self.password = password self.autocommit = False self._xid = None self._statement_nums = set() self._caches = {} if unix_sock is None and host is not None: try: self._usock = socket.create_connection( (host, port), timeout, source_address ) except socket.error as e: > raise InterfaceError( f"Can't create a connection to host {host} and port {port} " f"(timeout is {timeout} and source_address is {source_address})." ) from e E sqlalchemy.exc.InterfaceError: (pg8000.exceptions.InterfaceError) Can't create a connection to host localhost and port 5432 (timeout is None and source_address is None). E (Background on this error at: https://sqlalche.me/e/20/rvf5) /usr/lib/python3.11/site-packages/pg8000/core.py:212: InterfaceError ______________ TestDatabasePostgresPsycoPG3.test_create_and_drop _______________ self = engine = Engine(postgresql+psycopg://postgres:***@localhost/postgres) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql+psycopg://postgres:***@localhost/postgres) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'context': , 'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = conninfo = 'host=localhost dbname=postgres user=postgres', autocommit = False prepare_threshold = 5, row_factory = None, cursor_factory = None context = kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} params = {'connect_timeout': None, 'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} @classmethod # type: ignore[misc] # https://github.com/python/mypy/issues/11004 def connect( cls, conninfo: str = "", *, autocommit: bool = False, prepare_threshold: Optional[int] = 5, row_factory: Optional[RowFactory[Row]] = None, cursor_factory: Optional[Type[Cursor[Row]]] = None, context: Optional[AdaptContext] = None, **kwargs: Any, ) -> "Connection[Any]": """ Connect to a database server and return a new `Connection` instance. """ params = cls._get_connection_params(conninfo, **kwargs) conninfo = make_conninfo(**params) try: rv = cls._wait_conn( cls._connect_gen(conninfo, autocommit=autocommit), timeout=params["connect_timeout"], ) except e._NO_TRACEBACK as ex: > raise ex.with_traceback(None) E psycopg.OperationalError: connection failed: :1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib/python3.11/site-packages/psycopg/connection.py:728: OperationalError The above exception was the direct cause of the following exception: self = dsn = 'postgresql+psycopg://postgres:@localhost/db_to_test_create_and_drop_via_psycopg3_driver' def test_create_and_drop(self, dsn): assert not database_exists(dsn) > create_database(dsn) tests/functions/test_database.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sqlalchemy_utils/functions/database.py:568: in create_database with engine.begin() as conn: /usr/lib64/python3.11/contextlib.py:137: in __enter__ return next(self.gen) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3228: in begin with self.connect() as conn: /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = conninfo = 'host=localhost dbname=postgres user=postgres', autocommit = False prepare_threshold = 5, row_factory = None, cursor_factory = None context = kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} params = {'connect_timeout': None, 'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} @classmethod # type: ignore[misc] # https://github.com/python/mypy/issues/11004 def connect( cls, conninfo: str = "", *, autocommit: bool = False, prepare_threshold: Optional[int] = 5, row_factory: Optional[RowFactory[Row]] = None, cursor_factory: Optional[Type[Cursor[Row]]] = None, context: Optional[AdaptContext] = None, **kwargs: Any, ) -> "Connection[Any]": """ Connect to a database server and return a new `Connection` instance. """ params = cls._get_connection_params(conninfo, **kwargs) conninfo = make_conninfo(**params) try: rv = cls._wait_conn( cls._connect_gen(conninfo, autocommit=autocommit), timeout=params["connect_timeout"], ) except e._NO_TRACEBACK as ex: > raise ex.with_traceback(None) E sqlalchemy.exc.OperationalError: (psycopg.OperationalError) connection failed: :1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib/python3.11/site-packages/psycopg/connection.py:728: OperationalError ___________ TestDatabasePostgresWithQuotedName.test_create_and_drop ____________ self = engine = Engine(postgresql://postgres:***@localhost/postgres), connection = None _has_events = None, _allow_revalidate = True, _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/postgres) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=postgres user=postgres', connection_factory = None cursor_factory = None kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: self = dsn = 'postgresql://postgres:@localhost/db_test_sqlalchemy-util' def test_create_and_drop(self, dsn): assert not database_exists(dsn) > create_database(dsn) tests/functions/test_database.py:19: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sqlalchemy_utils/functions/database.py:568: in create_database with engine.begin() as conn: /usr/lib64/python3.11/contextlib.py:137: in __enter__ return next(self.gen) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3228: in begin with self.connect() as conn: /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=postgres user=postgres', connection_factory = None cursor_factory = None kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _______________ TestDatabasePostgresWithQuotedName.test_template _______________ self = engine = Engine(postgresql://postgres:***@localhost/postgres), connection = None _has_events = None, _allow_revalidate = True, _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/postgres) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=postgres user=postgres', connection_factory = None cursor_factory = None kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: self = postgresql_db_user = 'postgres', postgresql_db_password = '' def test_template(self, postgresql_db_user, postgresql_db_password): dsn = 'postgresql://{}:{}@localhost/db_test_sqlalchemy-util'.format( postgresql_db_user, postgresql_db_password ) with pytest.raises(sa.exc.ProgrammingError) as excinfo: > create_database(dsn, template='my-template') tests/functions/test_database.py:130: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sqlalchemy_utils/functions/database.py:568: in create_database with engine.begin() as conn: /usr/lib64/python3.11/contextlib.py:137: in __enter__ return next(self.gen) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3228: in begin with self.connect() as conn: /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=postgres user=postgres', connection_factory = None cursor_factory = None kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError _ TestDatabasePostgresCreateDatabaseCloseConnection.test_create_database_twice _ self = engine = Engine(postgresql://postgres:***@localhost/postgres), connection = None _has_events = None, _allow_revalidate = True, _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(postgresql://postgres:***@localhost/postgres) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = () cparams = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=postgres user=postgres', connection_factory = None cursor_factory = None kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError The above exception was the direct cause of the following exception: self = postgresql_db_user = 'postgres', postgresql_db_password = '' def test_create_database_twice( self, postgresql_db_user, postgresql_db_password ): dsn_list = [ 'postgresql://{}:{}@localhost/db_test_sqlalchemy-util-a'.format( postgresql_db_user, postgresql_db_password ), 'postgresql://{}:{}@localhost/db_test_sqlalchemy-util-b'.format( postgresql_db_user, postgresql_db_password ), ] for dsn_item in dsn_list: assert not database_exists(dsn_item) > create_database(dsn_item, template="template1") tests/functions/test_database.py:153: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sqlalchemy_utils/functions/database.py:568: in create_database with engine.begin() as conn: /usr/lib64/python3.11/contextlib.py:137: in __enter__ return next(self.gen) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3228: in begin with self.connect() as conn: /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: in connect return self.loaded_dbapi.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dsn = 'host=localhost dbname=postgres user=postgres', connection_factory = None cursor_factory = None kwargs = {'dbname': 'postgres', 'host': 'localhost', 'user': 'postgres'} kwasync = {} def connect(dsn=None, connection_factory=None, cursor_factory=None, **kwargs): """ Create a new database connection. The connection parameters can be specified as a string: conn = psycopg2.connect("dbname=test user=postgres password=secret") or using a set of keyword arguments: conn = psycopg2.connect(database="test", user="postgres", password="secret") Or as a mix of both. The basic connection parameters are: - *dbname*: the database name - *database*: the database name (only as keyword argument) - *user*: user name used to authenticate - *password*: password used to authenticate - *host*: database host address (defaults to UNIX socket if not provided) - *port*: connection port number (defaults to 5432 if not provided) Using the *connection_factory* parameter a different class or connections factory can be specified. It should be a callable object taking a dsn argument. Using the *cursor_factory* parameter, a new default cursor factory will be used by cursor(). Using *async*=True an asynchronous connection will be created. *async_* is a valid alias (for Python versions where ``async`` is a keyword). Any other keyword parameter will be passed to the underlying client library: the list of supported parameters depends on the library version. """ kwasync = {} if 'async' in kwargs: kwasync['async'] = kwargs.pop('async') if 'async_' in kwargs: kwasync['async_'] = kwargs.pop('async_') dsn = _ext.make_dsn(dsn, **kwargs) > conn = _connect(dsn, connection_factory=connection_factory, **kwasync) E sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused E Is the server running on that host and accepting TCP/IP connections? E E (Background on this error at: https://sqlalche.me/e/20/e3q8) /usr/lib64/python3.11/site-packages/psycopg2/__init__.py:122: OperationalError ____________________ TestDatabaseMssql.test_create_and_drop ____________________ self = engine = Engine(mssql+pyodbc://sa:***@localhost/db_test_sqlalchemy_util?driver=ODBC+Driver+17+for+SQL+Server) connection = None, _has_events = None, _allow_revalidate = True _allow_autobegin = True def __init__( self, engine: Engine, connection: Optional[PoolProxiedConnection] = None, _has_events: Optional[bool] = None, _allow_revalidate: bool = True, _allow_autobegin: bool = True, ): """Construct a new Connection.""" self.engine = engine self.dialect = dialect = engine.dialect if connection is None: try: > self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = Engine(mssql+pyodbc://sa:***@localhost/db_test_sqlalchemy_util?driver=ODBC+Driver+17+for+SQL+Server) def raw_connection(self) -> PoolProxiedConnection: """Return a "raw" DBAPI connection from the connection pool. The returned object is a proxied version of the DBAPI connection object used by the underlying driver in use. The object will have all the same behavior as the real DBAPI connection, except that its ``close()`` method will result in the connection being returned to the pool, rather than being closed for real. This method provides direct DBAPI connection access for special situations when the API provided by :class:`_engine.Connection` is not needed. When a :class:`_engine.Connection` object is already present, the DBAPI connection is available using the :attr:`_engine.Connection.connection` accessor. .. seealso:: :ref:`dbapi_connections` """ > return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def connect(self) -> PoolProxiedConnection: """Return a DBAPI connection from the pool. The connection is instrumented such that when its ``close()`` method is called, the connection will be returned to the pool. """ > return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = threadconns = None, fairy = None @classmethod def _checkout( cls, pool: Pool, threadconns: Optional[threading.local] = None, fairy: Optional[_ConnectionFairy] = None, ) -> _ConnectionFairy: if not fairy: > fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = pool = @classmethod def checkout(cls, pool: Pool) -> _ConnectionFairy: if TYPE_CHECKING: rec = cast(_ConnectionRecord, pool._do_get()) else: > rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: return self._create_connection() except: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _do_get(self) -> ConnectionPoolEntry: use_overflow = self._max_overflow > -1 wait = use_overflow and self._overflow >= self._max_overflow try: return self._pool.get(wait, self._timeout) except sqla_queue.Empty: # don't do things inside of "except Empty", because when we say # we timed out or can't connect and raise, Python 3 tells # people the real error is queue.Empty which it isn't. pass if use_overflow and self._overflow >= self._max_overflow: if not wait: return self._do_get() else: raise exc.TimeoutError( "QueuePool limit of size %d overflow %d reached, " "connection timed out, timeout %0.2f" % (self.size(), self.overflow(), self._timeout), code="3o7r", ) if self._inc_overflow(): try: > return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def _create_connection(self) -> ConnectionPoolEntry: """Called by subclasses to create a new ConnectionRecord.""" > return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = pool = , connect = True def __init__(self, pool: Pool, connect: bool = True): self.fresh = False self.fairy_ref = None self.starttime = 0 self.dbapi_connection = None self.__pool = pool if connect: > self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() self.dbapi_connection = connection = pool._invoke_creator(self) pool.logger.debug("Created new connection %r", connection) self.fresh = True except BaseException as e: > with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = type_ = None, value = None, traceback = None def __exit__( self, type_: Optional[Type[BaseException]], value: Optional[BaseException], traceback: Optional[types.TracebackType], ) -> NoReturn: assert self._exc_info is not None # see #2703 for notes if type_ is None: exc_type, exc_value, exc_tb = self._exc_info assert exc_value is not None self._exc_info = None # remove potential circular references > raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def __connect(self) -> None: pool = self.__pool # ensure any existing connection is removed, so that if # creator fails, this attribute stays None self.dbapi_connection = None try: self.starttime = time.time() > self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ connection_record = def connect( connection_record: Optional[ConnectionPoolEntry] = None, ) -> DBAPIConnection: if dialect._has_events: for fn in dialect.dispatch.do_connect: connection = cast( DBAPIConnection, fn(dialect, connection_record, cargs, cparams), ) if connection is not None: return connection > return dialect.connect(*cargs, **cparams) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = ('DRIVER={ODBC Driver 17 for SQL Server};Server=localhost;Database=db_test_sqlalchemy_util;UID=sa;PWD=Strong_Passw0rd',) cparams = {} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) E pyodbc.Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)") /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: Error The above exception was the direct cause of the following exception: self = dsn = 'mssql+pyodbc://sa:Strong_Passw0rd@localhost/db_test_sqlalchemy_util?driver=ODBC+Driver+17+for+SQL+Server' def test_create_and_drop(self, dsn): > assert not database_exists(dsn) tests/functions/test_database.py:18: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ sqlalchemy_utils/functions/database.py:513: in database_exists return bool(_get_scalar_result(engine, sa.text(text))) sqlalchemy_utils/functions/database.py:442: in _get_scalar_result with engine.connect() as conn: /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3264: in connect return self._connection_cls(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:147: in __init__ Connection._handle_dbapi_exception_noconnection( /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:2426: in _handle_dbapi_exception_noconnection raise sqlalchemy_exception.with_traceback(exc_info[2]) from e /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:145: in __init__ self._dbapi_connection = engine.raw_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/engine/base.py:3288: in raw_connection return self.pool.connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:452: in connect return _ConnectionFairy._checkout(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:1267: in _checkout fairy = _ConnectionRecord.checkout(pool) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:716: in checkout rec = pool._do_get() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:169: in _do_get with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/impl.py:167: in _do_get return self._create_connection() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:393: in _create_connection return _ConnectionRecord(self) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:678: in __init__ self.__connect() /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:902: in __connect with util.safe_reraise(): /usr/lib64/python3.11/site-packages/sqlalchemy/util/langhelpers.py:147: in __exit__ raise exc_value.with_traceback(exc_tb) /usr/lib64/python3.11/site-packages/sqlalchemy/pool/base.py:898: in __connect self.dbapi_connection = connection = pool._invoke_creator(self) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/create.py:637: in connect return dialect.connect(*cargs, **cparams) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = cargs = ('DRIVER={ODBC Driver 17 for SQL Server};Server=localhost;Database=db_test_sqlalchemy_util;UID=sa;PWD=Strong_Passw0rd',) cparams = {} def connect(self, *cargs, **cparams): # inherits the docstring from interfaces.Dialect.connect > return self.loaded_dbapi.connect(*cargs, **cparams) E sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)") E (Background on this error at: https://sqlalche.me/e/20/dbapi) /usr/lib64/python3.11/site-packages/sqlalchemy/engine/default.py:615: DBAPIError =========================== short test summary info ============================ FAILED tests/functions/test_database.py::TestDatabaseMySQL::test_create_and_drop FAILED tests/functions/test_database.py::TestDatabaseMySQLWithQuotedName::test_create_and_drop FAILED tests/functions/test_database.py::TestDatabasePostgres::test_create_and_drop FAILED tests/functions/test_database.py::TestDatabasePostgres::test_template FAILED tests/functions/test_database.py::TestDatabasePostgresPg8000::test_create_and_drop FAILED tests/functions/test_database.py::TestDatabasePostgresPsycoPG3::test_create_and_drop FAILED tests/functions/test_database.py::TestDatabasePostgresWithQuotedName::test_create_and_drop FAILED tests/functions/test_database.py::TestDatabasePostgresWithQuotedName::test_template FAILED tests/functions/test_database.py::TestDatabasePostgresCreateDatabaseCloseConnection::test_create_database_twice FAILED tests/functions/test_database.py::TestDatabaseMssql::test_create_and_drop ERROR tests/test_asserts.py::TestAssertMaxLengthWithArray::test_with_max_length ERROR tests/test_asserts.py::TestAssertMaxLengthWithArray::test_smaller_than_max_length ERROR tests/test_asserts.py::TestAssertMaxLengthWithArray::test_bigger_than_max_length ERROR tests/test_asserts.py::TestAssertNonNullable::test_non_nullable_column ERROR tests/test_asserts.py::TestAssertNonNullable::test_nullable_column - sq... ERROR tests/test_asserts.py::TestAssertNullable::test_nullable_column - sqlal... ERROR tests/test_asserts.py::TestAssertNullable::test_non_nullable_column - s... ERROR tests/test_asserts.py::TestAssertMaxLength::test_with_max_length - sqla... ERROR tests/test_asserts.py::TestAssertMaxLength::test_with_non_nullable_column ERROR tests/test_asserts.py::TestAssertMaxLength::test_smaller_than_max_length ERROR tests/test_asserts.py::TestAssertMaxLength::test_bigger_than_max_length ERROR tests/test_asserts.py::TestAssertMinValue::test_with_min_value - sqlalc... ERROR tests/test_asserts.py::TestAssertMinValue::test_smaller_than_min_value ERROR tests/test_asserts.py::TestAssertMinValue::test_bigger_than_min_value ERROR tests/test_asserts.py::TestAssertMaxValue::test_with_min_value - sqlalc... ERROR tests/test_asserts.py::TestAssertMaxValue::test_smaller_than_max_value ERROR tests/test_asserts.py::TestAssertMaxValue::test_bigger_than_max_value ERROR tests/test_views.py::TestMaterializedViews::test_refresh_materialized_view ERROR tests/test_views.py::TestMaterializedViews::test_querying_view - sqlalc... ERROR tests/test_views.py::TestPostgresTrivialView::test_life_cycle_no_cascade ERROR tests/test_views.py::TestPostgresTrivialView::test_life_cycle_cascade ERROR tests/test_views.py::TestMySqlTrivialView::test_life_cycle_no_cascade ERROR tests/test_views.py::TestMySqlTrivialView::test_life_cycle_cascade - sq... ERROR tests/aggregate/test_custom_select_expressions.py::TestLazyEvaluatedSelectExpressionsForAggregates::test_assigns_aggregates_on_insert ERROR tests/aggregate/test_custom_select_expressions.py::TestLazyEvaluatedSelectExpressionsForAggregates::test_assigns_aggregates_on_update ERROR tests/aggregate/test_join_table_inheritance.py::TestLazyEvaluatedSelectExpressionsForAggregates::test_assigns_aggregates_on_insert[simple] ERROR tests/aggregate/test_join_table_inheritance.py::TestLazyEvaluatedSelectExpressionsForAggregates::test_assigns_aggregates_on_insert[child] ERROR tests/aggregate/test_join_table_inheritance.py::TestLazyEvaluatedSelectExpressionsForAggregates::test_assigns_aggregates_on_update[simple] ERROR tests/aggregate/test_join_table_inheritance.py::TestLazyEvaluatedSelectExpressionsForAggregates::test_assigns_aggregates_on_update[child] ERROR tests/aggregate/test_m2m.py::TestAggregatesWithManyToManyRelationships::test_assigns_aggregates_on_insert ERROR tests/aggregate/test_m2m.py::TestAggregatesWithManyToManyRelationships::test_updates_aggregates_on_delete ERROR tests/aggregate/test_m2m_m2m.py::TestAggregateManyToManyAndManyToMany::test_insert ERROR tests/aggregate/test_o2m_m2m.py::TestAggregateOneToManyAndManyToMany::test_insert ERROR tests/aggregate/test_o2m_o2m.py::TestAggregateOneToManyAndOneToMany::test_assigns_aggregates ERROR tests/aggregate/test_o2m_o2m_o2m.py::Test3LevelDeepOneToMany::test_assigns_aggregates ERROR tests/aggregate/test_o2m_o2m_o2m.py::Test3LevelDeepOneToMany::test_only_updates_affected_aggregates ERROR tests/aggregate/test_search_vectors.py::TestSearchVectorAggregates::test_assigns_aggregates_on_insert ERROR tests/aggregate/test_with_ondelete_cascade.py::TestAggregateValueGenerationWithCascadeDelete::test_something ERROR tests/functions/test_json_sql.py::TestJSONSQL::test_compiled_scalars[1-1] ERROR tests/functions/test_json_sql.py::TestJSONSQL::test_compiled_scalars[14.14-14.14] ERROR tests/functions/test_json_sql.py::TestJSONSQL::test_compiled_scalars[value2-result2] ERROR tests/functions/test_json_sql.py::TestJSONSQL::test_compiled_scalars[value3-result3] ERROR tests/functions/test_json_sql.py::TestJSONSQL::test_compiled_scalars[value4-result4] ERROR tests/functions/test_json_sql.py::TestJSONSQL::test_compiled_scalars[value5-result5] ERROR tests/functions/test_json_sql.py::TestJSONSQL::test_compiled_scalars[value6-result6] ERROR tests/functions/test_json_sql.py::TestJSONSQL::test_compiled_scalars[value7-result7] ERROR tests/functions/test_jsonb_sql.py::TestJSONBSQL::test_compiled_scalars[1-1] ERROR tests/functions/test_jsonb_sql.py::TestJSONBSQL::test_compiled_scalars[14.14-14.14] ERROR tests/functions/test_jsonb_sql.py::TestJSONBSQL::test_compiled_scalars[value2-result2] ERROR tests/functions/test_jsonb_sql.py::TestJSONBSQL::test_compiled_scalars[value3-result3] ERROR tests/functions/test_jsonb_sql.py::TestJSONBSQL::test_compiled_scalars[value4-result4] ERROR tests/functions/test_jsonb_sql.py::TestJSONBSQL::test_compiled_scalars[value5-result5] ERROR tests/functions/test_jsonb_sql.py::TestJSONBSQL::test_compiled_scalars[value6-result6] ERROR tests/functions/test_jsonb_sql.py::TestJSONBSQL::test_compiled_scalars[value7-result7] ERROR tests/observes/test_column_property.py::TestObservesForColumn::test_simple_insert ERROR tests/observes/test_column_property.py::TestObservesForColumnWithoutActualChanges::test_only_notifies_observer_on_actual_changes ERROR tests/observes/test_column_property.py::TestObservesForMultipleColumns::test_only_notifies_observer_on_actual_changes ERROR tests/observes/test_column_property.py::TestObservesForMultipleColumnsFiresOnlyOnce::test_only_notifies_observer_on_actual_changes ERROR tests/observes/test_dynamic_relationship.py::TestObservesForDynamicRelationship::test_add_observed_object ERROR tests/observes/test_dynamic_relationship.py::TestObservesForDynamicRelationship::test_add_observed_object_from_backref ERROR tests/observes/test_m2m_m2m_m2m.py::TestObservesForManyToManyToManyToMany::test_simple_insert ERROR tests/observes/test_m2m_m2m_m2m.py::TestObservesForManyToManyToManyToMany::test_add_leaf_object ERROR tests/observes/test_m2m_m2m_m2m.py::TestObservesForManyToManyToManyToMany::test_remove_leaf_object ERROR tests/observes/test_m2m_m2m_m2m.py::TestObservesForManyToManyToManyToMany::test_delete_intermediate_object ERROR tests/observes/test_m2m_m2m_m2m.py::TestObservesForManyToManyToManyToMany::test_gathered_objects_are_distinct ERROR tests/observes/test_o2m_o2m_o2m.py::TestObservesFor3LevelDeepOneToMany::test_simple_insert ERROR tests/observes/test_o2m_o2m_o2m.py::TestObservesFor3LevelDeepOneToMany::test_add_leaf_object ERROR tests/observes/test_o2m_o2m_o2m.py::TestObservesFor3LevelDeepOneToMany::test_remove_leaf_object ERROR tests/observes/test_o2m_o2m_o2m.py::TestObservesFor3LevelDeepOneToMany::test_delete_intermediate_object ERROR tests/observes/test_o2m_o2m_o2m.py::TestObservesFor3LevelDeepOneToMany::test_gathered_objects_are_distinct ERROR tests/observes/test_o2m_o2o_o2m.py::TestObservesForOneToManyToOneToMany::test_simple_insert ERROR tests/observes/test_o2m_o2o_o2m.py::TestObservesForOneToManyToOneToMany::test_add_leaf_object ERROR tests/observes/test_o2m_o2o_o2m.py::TestObservesForOneToManyToOneToMany::test_remove_leaf_object ERROR tests/observes/test_o2m_o2o_o2m.py::TestObservesForOneToManyToOneToMany::test_delete_intermediate_object ERROR tests/observes/test_o2m_o2o_o2m.py::TestObservesForOneToManyToOneToMany::test_gathered_objects_are_distinct ERROR tests/observes/test_o2o_o2o.py::TestObservesForOneToManyToOneToMany::test_observable_root_obj_is_none ERROR tests/observes/test_o2o_o2o_o2o.py::TestObservesForOneToOneToOneToOne::test_simple_insert ERROR tests/observes/test_o2o_o2o_o2o.py::TestObservesForOneToOneToOneToOne::test_replace_leaf_object ERROR tests/observes/test_o2o_o2o_o2o.py::TestObservesForOneToOneToOneToOne::test_delete_leaf_object ERROR tests/relationships/test_select_correlated_expression.py::TestSelectCorrelatedExpression::test_returns_correct_results[categories-categories-subcategories-result0] ERROR tests/relationships/test_select_correlated_expression.py::TestSelectCorrelatedExpression::test_returns_correct_results[articles-comments-comments-result1] ERROR tests/relationships/test_select_correlated_expression.py::TestSelectCorrelatedExpression::test_returns_correct_results[users-groups-groups-result2] ERROR tests/relationships/test_select_correlated_expression.py::TestSelectCorrelatedExpression::test_returns_correct_results[users-users-all_friends-result3] ERROR tests/relationships/test_select_correlated_expression.py::TestSelectCorrelatedExpression::test_returns_correct_results[users-users-all_friends.all_friends-result4] ERROR tests/relationships/test_select_correlated_expression.py::TestSelectCorrelatedExpression::test_returns_correct_results[users-users-groups.users-result5] ERROR tests/relationships/test_select_correlated_expression.py::TestSelectCorrelatedExpression::test_returns_correct_results[groups-articles-users.authored_articles-result6] ERROR tests/relationships/test_select_correlated_expression.py::TestSelectCorrelatedExpression::test_returns_correct_results[categories-categories-subcategories.subcategories-result7] ERROR tests/relationships/test_select_correlated_expression.py::TestSelectCorrelatedExpression::test_returns_correct_results[categories-categories-subcategories.subcategories.subcategories-result8] ERROR tests/relationships/test_select_correlated_expression.py::TestSelectCorrelatedExpression::test_order_by_intermediate_table_column ERROR tests/relationships/test_select_correlated_expression.py::TestSelectCorrelatedExpression::test_with_non_aggregate_function ERROR tests/types/test_composite.py::TestCompositeTypeWithRegularTypes::test_parameter_processing ERROR tests/types/test_composite.py::TestCompositeTypeWithRegularTypes::test_non_ascii_chars ERROR tests/types/test_composite.py::TestCompositeTypeWithRegularTypes::test_dict_input ERROR tests/types/test_composite.py::TestCompositeTypeWithRegularTypes::test_incomplete_dict ERROR tests/types/test_composite.py::TestCompositeTypeWhenTypeAlreadyExistsInDatabase::test_parameter_processing ERROR tests/types/test_composite.py::TestCompositeTypeWithMixedCase::test_parameter_processing ERROR tests/types/test_json.py::TestPostgresJSONType::test_list - sqlalchemy.... ERROR tests/types/test_json.py::TestPostgresJSONType::test_parameter_processing ERROR tests/types/test_json.py::TestPostgresJSONType::test_non_ascii_chars - ... ERROR tests/types/test_json.py::TestPostgresJSONType::test_compilation - sqla... ERROR tests/types/test_json.py::TestPostgresJSONType::test_unhashable_type - ... ERROR tests/types/test_ltree.py::TestLTREE::test_saves_path - sqlalchemy.exc.... ERROR tests/types/test_ltree.py::TestLTREE::test_literal_param - sqlalchemy.e... ERROR tests/types/test_ltree.py::TestLTREE::test_compilation - sqlalchemy.exc... ERROR tests/types/test_tsvector.py::TestTSVector::test_type_reflection - sqla... ERROR tests/types/test_tsvector.py::TestTSVector::test_catalog_passed_to_match ERROR tests/types/test_tsvector.py::TestTSVector::test_match_concatenation - ... ERROR tests/types/test_tsvector.py::TestTSVector::test_match_with_catalog - s... ===== 10 failed, 2216 passed, 349 skipped, 1 xfailed, 108 errors in 34.55s ===== Processing files: python3-sqlalchemy-utils-0.41.1-1.fc39.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.Vofcwm Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.z28DkN + : + RPM_EC=0 ++ jobs -p + exit 0 + umask 022 + cd /builddir/build/BUILD + cd SQLAlchemy-Utils-0.41.1 + DOCDIR=/builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/share/doc/python3-sqlalchemy-utils + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/share/doc/python3-sqlalchemy-utils + cp -pr /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/README.rst /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/share/doc/python3-sqlalchemy-utils + RPM_EC=0 ++ jobs -p + exit 0 + umask 022 + cd /builddir/build/BUILD + cd SQLAlchemy-Utils-0.41.1 + LICENSEDIR=/builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/share/licenses/python3-sqlalchemy-utils + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/share/licenses/python3-sqlalchemy-utils + cp -pr /builddir/build/BUILD/SQLAlchemy-Utils-0.41.1/LICENSE /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64/usr/share/licenses/python3-sqlalchemy-utils + RPM_EC=0 ++ jobs -p + exit 0 Provides: python-sqlalchemy-utils = 0.41.1-1.fc39 python3-sqlalchemy-utils = 0.41.1-1.fc39 python3.11-sqlalchemy-utils = 0.41.1-1.fc39 python3.11dist(sqlalchemy-utils) = 0.41.1 python3dist(sqlalchemy-utils) = 0.41.1 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.11 python3.11dist(sqlalchemy) >= 1.3 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64 Wrote: /builddir/build/SRPMS/python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm Wrote: /builddir/build/RPMS/python3-sqlalchemy-utils-0.41.1-1.fc39.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.3Lrwss + umask 022 + cd /builddir/build/BUILD + cd SQLAlchemy-Utils-0.41.1 + /usr/bin/rm -rf /builddir/build/BUILDROOT/python-sqlalchemy-utils-0.41.1-1.fc39.x86_64 + RPM_EC=0 ++ jobs -p + exit 0 Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.bAN34v + umask 022 + cd /builddir/build/BUILD + rm -rf SQLAlchemy-Utils-0.41.1 SQLAlchemy-Utils-0.41.1.gemspec + RPM_EC=0 ++ jobs -p + exit 0 Finish: rpmbuild python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm Finish: build phase for python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1688303036.090485/root/var/log/dnf.rpm.log /var/lib/mock/fedora-rawhide-x86_64-1688303036.090485/root/var/log/dnf.librepo.log /var/lib/mock/fedora-rawhide-x86_64-1688303036.090485/root/var/log/dnf.log INFO: Done(/var/lib/copr-rpmbuild/results/python-sqlalchemy-utils-0.41.1-1.fc39.src.rpm) Config(child) 0 minutes 52 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot Finish: run Running RPMResults tool