embedded-postgres 18.6.0__py3-none-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- embedded_postgres/__init__.py +2 -0
- embedded_postgres/_commands.py +71 -0
- embedded_postgres/pginstall/bin/clusterdb.exe +0 -0
- embedded_postgres/pginstall/bin/createdb.exe +0 -0
- embedded_postgres/pginstall/bin/createuser.exe +0 -0
- embedded_postgres/pginstall/bin/dropdb.exe +0 -0
- embedded_postgres/pginstall/bin/dropuser.exe +0 -0
- embedded_postgres/pginstall/bin/ecpg.exe +0 -0
- embedded_postgres/pginstall/bin/initdb.exe +0 -0
- embedded_postgres/pginstall/bin/libecpg.dll +0 -0
- embedded_postgres/pginstall/bin/libecpg_compat.dll +0 -0
- embedded_postgres/pginstall/bin/libpgtypes.dll +0 -0
- embedded_postgres/pginstall/bin/libpq.dll +0 -0
- embedded_postgres/pginstall/bin/oid2name.exe +0 -0
- embedded_postgres/pginstall/bin/pg_amcheck.exe +0 -0
- embedded_postgres/pginstall/bin/pg_archivecleanup.exe +0 -0
- embedded_postgres/pginstall/bin/pg_basebackup.exe +0 -0
- embedded_postgres/pginstall/bin/pg_checksums.exe +0 -0
- embedded_postgres/pginstall/bin/pg_combinebackup.exe +0 -0
- embedded_postgres/pginstall/bin/pg_config.exe +0 -0
- embedded_postgres/pginstall/bin/pg_controldata.exe +0 -0
- embedded_postgres/pginstall/bin/pg_createsubscriber.exe +0 -0
- embedded_postgres/pginstall/bin/pg_ctl.exe +0 -0
- embedded_postgres/pginstall/bin/pg_dump.exe +0 -0
- embedded_postgres/pginstall/bin/pg_dumpall.exe +0 -0
- embedded_postgres/pginstall/bin/pg_isready.exe +0 -0
- embedded_postgres/pginstall/bin/pg_receivewal.exe +0 -0
- embedded_postgres/pginstall/bin/pg_recvlogical.exe +0 -0
- embedded_postgres/pginstall/bin/pg_resetwal.exe +0 -0
- embedded_postgres/pginstall/bin/pg_restore.exe +0 -0
- embedded_postgres/pginstall/bin/pg_rewind.exe +0 -0
- embedded_postgres/pginstall/bin/pg_test_fsync.exe +0 -0
- embedded_postgres/pginstall/bin/pg_test_timing.exe +0 -0
- embedded_postgres/pginstall/bin/pg_upgrade.exe +0 -0
- embedded_postgres/pginstall/bin/pg_verifybackup.exe +0 -0
- embedded_postgres/pginstall/bin/pg_waldump.exe +0 -0
- embedded_postgres/pginstall/bin/pg_walsummary.exe +0 -0
- embedded_postgres/pginstall/bin/pgbench.exe +0 -0
- embedded_postgres/pginstall/bin/postgres.exe +0 -0
- embedded_postgres/pginstall/bin/psql.exe +0 -0
- embedded_postgres/pginstall/bin/reindexdb.exe +0 -0
- embedded_postgres/pginstall/bin/vacuumdb.exe +0 -0
- embedded_postgres/pginstall/bin/vacuumlo.exe +0 -0
- embedded_postgres/pginstall/include/ecpg_config.h +9 -0
- embedded_postgres/pginstall/include/ecpg_informix.h +90 -0
- embedded_postgres/pginstall/include/ecpgerrno.h +80 -0
- embedded_postgres/pginstall/include/ecpglib.h +79 -0
- embedded_postgres/pginstall/include/ecpgtype.h +109 -0
- embedded_postgres/pginstall/include/informix/esql/datetime.h +14 -0
- embedded_postgres/pginstall/include/informix/esql/decimal.h +13 -0
- embedded_postgres/pginstall/include/informix/esql/sqltypes.h +59 -0
- embedded_postgres/pginstall/include/internal/c.h +1364 -0
- embedded_postgres/pginstall/include/internal/fe-auth-sasl.h +153 -0
- embedded_postgres/pginstall/include/internal/libpq/pqcomm.h +175 -0
- embedded_postgres/pginstall/include/internal/libpq/protocol.h +89 -0
- embedded_postgres/pginstall/include/internal/libpq-int.h +980 -0
- embedded_postgres/pginstall/include/internal/port.h +565 -0
- embedded_postgres/pginstall/include/internal/postgres_fe.h +34 -0
- embedded_postgres/pginstall/include/internal/pqexpbuffer.h +192 -0
- embedded_postgres/pginstall/include/libpq/libpq-fs.h +24 -0
- embedded_postgres/pginstall/include/libpq-events.h +94 -0
- embedded_postgres/pginstall/include/libpq-fe.h +837 -0
- embedded_postgres/pginstall/include/pg_config.h +824 -0
- embedded_postgres/pginstall/include/pg_config_manual.h +363 -0
- embedded_postgres/pginstall/include/pg_config_os.h +59 -0
- embedded_postgres/pginstall/include/pgtypes.h +17 -0
- embedded_postgres/pginstall/include/pgtypes_date.h +32 -0
- embedded_postgres/pginstall/include/pgtypes_error.h +18 -0
- embedded_postgres/pginstall/include/pgtypes_interval.h +40 -0
- embedded_postgres/pginstall/include/pgtypes_numeric.h +69 -0
- embedded_postgres/pginstall/include/pgtypes_timestamp.h +31 -0
- embedded_postgres/pginstall/include/postgres_ext.h +74 -0
- embedded_postgres/pginstall/include/server/access/amapi.h +332 -0
- embedded_postgres/pginstall/include/server/access/amvalidate.h +40 -0
- embedded_postgres/pginstall/include/server/access/attmap.h +54 -0
- embedded_postgres/pginstall/include/server/access/attnum.h +64 -0
- embedded_postgres/pginstall/include/server/access/brin.h +58 -0
- embedded_postgres/pginstall/include/server/access/brin_internal.h +116 -0
- embedded_postgres/pginstall/include/server/access/brin_page.h +96 -0
- embedded_postgres/pginstall/include/server/access/brin_pageops.h +38 -0
- embedded_postgres/pginstall/include/server/access/brin_revmap.h +41 -0
- embedded_postgres/pginstall/include/server/access/brin_tuple.h +112 -0
- embedded_postgres/pginstall/include/server/access/brin_xlog.h +151 -0
- embedded_postgres/pginstall/include/server/access/bufmask.h +32 -0
- embedded_postgres/pginstall/include/server/access/clog.h +62 -0
- embedded_postgres/pginstall/include/server/access/cmptype.h +44 -0
- embedded_postgres/pginstall/include/server/access/commit_ts.h +73 -0
- embedded_postgres/pginstall/include/server/access/detoast.h +82 -0
- embedded_postgres/pginstall/include/server/access/genam.h +278 -0
- embedded_postgres/pginstall/include/server/access/generic_xlog.h +45 -0
- embedded_postgres/pginstall/include/server/access/gin.h +106 -0
- embedded_postgres/pginstall/include/server/access/gin_private.h +506 -0
- embedded_postgres/pginstall/include/server/access/gin_tuple.h +44 -0
- embedded_postgres/pginstall/include/server/access/ginblock.h +346 -0
- embedded_postgres/pginstall/include/server/access/ginxlog.h +216 -0
- embedded_postgres/pginstall/include/server/access/gist.h +253 -0
- embedded_postgres/pginstall/include/server/access/gist_private.h +571 -0
- embedded_postgres/pginstall/include/server/access/gistscan.h +24 -0
- embedded_postgres/pginstall/include/server/access/gistxlog.h +117 -0
- embedded_postgres/pginstall/include/server/access/hash.h +490 -0
- embedded_postgres/pginstall/include/server/access/hash_xlog.h +270 -0
- embedded_postgres/pginstall/include/server/access/heapam.h +455 -0
- embedded_postgres/pginstall/include/server/access/heapam_xlog.h +538 -0
- embedded_postgres/pginstall/include/server/access/heaptoast.h +149 -0
- embedded_postgres/pginstall/include/server/access/hio.h +62 -0
- embedded_postgres/pginstall/include/server/access/htup.h +89 -0
- embedded_postgres/pginstall/include/server/access/htup_details.h +923 -0
- embedded_postgres/pginstall/include/server/access/itup.h +186 -0
- embedded_postgres/pginstall/include/server/access/multixact.h +161 -0
- embedded_postgres/pginstall/include/server/access/nbtree.h +1367 -0
- embedded_postgres/pginstall/include/server/access/nbtxlog.h +367 -0
- embedded_postgres/pginstall/include/server/access/parallel.h +81 -0
- embedded_postgres/pginstall/include/server/access/printsimple.h +23 -0
- embedded_postgres/pginstall/include/server/access/printtup.h +35 -0
- embedded_postgres/pginstall/include/server/access/relation.h +28 -0
- embedded_postgres/pginstall/include/server/access/reloptions.h +260 -0
- embedded_postgres/pginstall/include/server/access/relscan.h +217 -0
- embedded_postgres/pginstall/include/server/access/rewriteheap.h +57 -0
- embedded_postgres/pginstall/include/server/access/rmgr.h +62 -0
- embedded_postgres/pginstall/include/server/access/rmgrdesc_utils.h +22 -0
- embedded_postgres/pginstall/include/server/access/rmgrlist.h +49 -0
- embedded_postgres/pginstall/include/server/access/sdir.h +67 -0
- embedded_postgres/pginstall/include/server/access/sequence.h +23 -0
- embedded_postgres/pginstall/include/server/access/session.h +44 -0
- embedded_postgres/pginstall/include/server/access/skey.h +151 -0
- embedded_postgres/pginstall/include/server/access/slru.h +218 -0
- embedded_postgres/pginstall/include/server/access/spgist.h +229 -0
- embedded_postgres/pginstall/include/server/access/spgist_private.h +549 -0
- embedded_postgres/pginstall/include/server/access/spgxlog.h +259 -0
- embedded_postgres/pginstall/include/server/access/stratnum.h +85 -0
- embedded_postgres/pginstall/include/server/access/subtrans.h +26 -0
- embedded_postgres/pginstall/include/server/access/syncscan.h +30 -0
- embedded_postgres/pginstall/include/server/access/sysattr.h +29 -0
- embedded_postgres/pginstall/include/server/access/table.h +28 -0
- embedded_postgres/pginstall/include/server/access/tableam.h +2060 -0
- embedded_postgres/pginstall/include/server/access/tidstore.h +54 -0
- embedded_postgres/pginstall/include/server/access/timeline.h +44 -0
- embedded_postgres/pginstall/include/server/access/toast_compression.h +73 -0
- embedded_postgres/pginstall/include/server/access/toast_helper.h +116 -0
- embedded_postgres/pginstall/include/server/access/toast_internals.h +63 -0
- embedded_postgres/pginstall/include/server/access/transam.h +418 -0
- embedded_postgres/pginstall/include/server/access/tsmapi.h +82 -0
- embedded_postgres/pginstall/include/server/access/tupconvert.h +54 -0
- embedded_postgres/pginstall/include/server/access/tupdesc.h +251 -0
- embedded_postgres/pginstall/include/server/access/tupdesc_details.h +28 -0
- embedded_postgres/pginstall/include/server/access/tupmacs.h +235 -0
- embedded_postgres/pginstall/include/server/access/twophase.h +70 -0
- embedded_postgres/pginstall/include/server/access/twophase_rmgr.h +40 -0
- embedded_postgres/pginstall/include/server/access/valid.h +58 -0
- embedded_postgres/pginstall/include/server/access/visibilitymap.h +48 -0
- embedded_postgres/pginstall/include/server/access/visibilitymapdefs.h +34 -0
- embedded_postgres/pginstall/include/server/access/xact.h +536 -0
- embedded_postgres/pginstall/include/server/access/xlog.h +317 -0
- embedded_postgres/pginstall/include/server/access/xlog_internal.h +405 -0
- embedded_postgres/pginstall/include/server/access/xlogarchive.h +35 -0
- embedded_postgres/pginstall/include/server/access/xlogbackup.h +43 -0
- embedded_postgres/pginstall/include/server/access/xlogdefs.h +83 -0
- embedded_postgres/pginstall/include/server/access/xloginsert.h +68 -0
- embedded_postgres/pginstall/include/server/access/xlogprefetcher.h +55 -0
- embedded_postgres/pginstall/include/server/access/xlogreader.h +444 -0
- embedded_postgres/pginstall/include/server/access/xlogrecord.h +248 -0
- embedded_postgres/pginstall/include/server/access/xlogrecovery.h +158 -0
- embedded_postgres/pginstall/include/server/access/xlogstats.h +43 -0
- embedded_postgres/pginstall/include/server/access/xlogutils.h +123 -0
- embedded_postgres/pginstall/include/server/archive/archive_module.h +67 -0
- embedded_postgres/pginstall/include/server/archive/shell_archive.h +24 -0
- embedded_postgres/pginstall/include/server/bootstrap/bootstrap.h +69 -0
- embedded_postgres/pginstall/include/server/c.h +1364 -0
- embedded_postgres/pginstall/include/server/catalog/binary_upgrade.h +38 -0
- embedded_postgres/pginstall/include/server/catalog/catalog.h +48 -0
- embedded_postgres/pginstall/include/server/catalog/catversion.h +62 -0
- embedded_postgres/pginstall/include/server/catalog/dependency.h +234 -0
- embedded_postgres/pginstall/include/server/catalog/genbki.h +149 -0
- embedded_postgres/pginstall/include/server/catalog/heap.h +168 -0
- embedded_postgres/pginstall/include/server/catalog/index.h +220 -0
- embedded_postgres/pginstall/include/server/catalog/indexing.h +54 -0
- embedded_postgres/pginstall/include/server/catalog/namespace.h +189 -0
- embedded_postgres/pginstall/include/server/catalog/objectaccess.h +267 -0
- embedded_postgres/pginstall/include/server/catalog/objectaddress.h +93 -0
- embedded_postgres/pginstall/include/server/catalog/partition.h +34 -0
- embedded_postgres/pginstall/include/server/catalog/pg_aggregate.h +182 -0
- embedded_postgres/pginstall/include/server/catalog/pg_aggregate_d.h +85 -0
- embedded_postgres/pginstall/include/server/catalog/pg_am.h +66 -0
- embedded_postgres/pginstall/include/server/catalog/pg_am_d.h +54 -0
- embedded_postgres/pginstall/include/server/catalog/pg_amop.h +105 -0
- embedded_postgres/pginstall/include/server/catalog/pg_amop_d.h +51 -0
- embedded_postgres/pginstall/include/server/catalog/pg_amproc.h +75 -0
- embedded_postgres/pginstall/include/server/catalog/pg_amproc_d.h +42 -0
- embedded_postgres/pginstall/include/server/catalog/pg_attrdef.h +69 -0
- embedded_postgres/pginstall/include/server/catalog/pg_attrdef_d.h +40 -0
- embedded_postgres/pginstall/include/server/catalog/pg_attribute.h +234 -0
- embedded_postgres/pginstall/include/server/catalog/pg_attribute_d.h +69 -0
- embedded_postgres/pginstall/include/server/catalog/pg_auth_members.h +56 -0
- embedded_postgres/pginstall/include/server/catalog/pg_auth_members_d.h +46 -0
- embedded_postgres/pginstall/include/server/catalog/pg_authid.h +64 -0
- embedded_postgres/pginstall/include/server/catalog/pg_authid_d.h +66 -0
- embedded_postgres/pginstall/include/server/catalog/pg_cast.h +106 -0
- embedded_postgres/pginstall/include/server/catalog/pg_cast_d.h +71 -0
- embedded_postgres/pginstall/include/server/catalog/pg_class.h +238 -0
- embedded_postgres/pginstall/include/server/catalog/pg_class_d.h +140 -0
- embedded_postgres/pginstall/include/server/catalog/pg_collation.h +106 -0
- embedded_postgres/pginstall/include/server/catalog/pg_collation_d.h +72 -0
- embedded_postgres/pginstall/include/server/catalog/pg_constraint.h +301 -0
- embedded_postgres/pginstall/include/server/catalog/pg_constraint_d.h +83 -0
- embedded_postgres/pginstall/include/server/catalog/pg_control.h +266 -0
- embedded_postgres/pginstall/include/server/catalog/pg_conversion.h +79 -0
- embedded_postgres/pginstall/include/server/catalog/pg_conversion_d.h +45 -0
- embedded_postgres/pginstall/include/server/catalog/pg_database.h +129 -0
- embedded_postgres/pginstall/include/server/catalog/pg_database_d.h +60 -0
- embedded_postgres/pginstall/include/server/catalog/pg_db_role_setting.h +61 -0
- embedded_postgres/pginstall/include/server/catalog/pg_db_role_setting_d.h +40 -0
- embedded_postgres/pginstall/include/server/catalog/pg_default_acl.h +75 -0
- embedded_postgres/pginstall/include/server/catalog/pg_default_acl_d.h +54 -0
- embedded_postgres/pginstall/include/server/catalog/pg_depend.h +77 -0
- embedded_postgres/pginstall/include/server/catalog/pg_depend_d.h +43 -0
- embedded_postgres/pginstall/include/server/catalog/pg_description.h +73 -0
- embedded_postgres/pginstall/include/server/catalog/pg_description_d.h +39 -0
- embedded_postgres/pginstall/include/server/catalog/pg_enum.h +69 -0
- embedded_postgres/pginstall/include/server/catalog/pg_enum_d.h +41 -0
- embedded_postgres/pginstall/include/server/catalog/pg_event_trigger.h +60 -0
- embedded_postgres/pginstall/include/server/catalog/pg_event_trigger_d.h +43 -0
- embedded_postgres/pginstall/include/server/catalog/pg_extension.h +62 -0
- embedded_postgres/pginstall/include/server/catalog/pg_extension_d.h +44 -0
- embedded_postgres/pginstall/include/server/catalog/pg_foreign_data_wrapper.h +61 -0
- embedded_postgres/pginstall/include/server/catalog/pg_foreign_data_wrapper_d.h +43 -0
- embedded_postgres/pginstall/include/server/catalog/pg_foreign_server.h +58 -0
- embedded_postgres/pginstall/include/server/catalog/pg_foreign_server_d.h +44 -0
- embedded_postgres/pginstall/include/server/catalog/pg_foreign_table.h +51 -0
- embedded_postgres/pginstall/include/server/catalog/pg_foreign_table_d.h +38 -0
- embedded_postgres/pginstall/include/server/catalog/pg_index.h +94 -0
- embedded_postgres/pginstall/include/server/catalog/pg_index_d.h +68 -0
- embedded_postgres/pginstall/include/server/catalog/pg_inherits.h +67 -0
- embedded_postgres/pginstall/include/server/catalog/pg_inherits_d.h +40 -0
- embedded_postgres/pginstall/include/server/catalog/pg_init_privs.h +83 -0
- embedded_postgres/pginstall/include/server/catalog/pg_init_privs_d.h +40 -0
- embedded_postgres/pginstall/include/server/catalog/pg_language.h +75 -0
- embedded_postgres/pginstall/include/server/catalog/pg_language_d.h +48 -0
- embedded_postgres/pginstall/include/server/catalog/pg_largeobject.h +55 -0
- embedded_postgres/pginstall/include/server/catalog/pg_largeobject_d.h +38 -0
- embedded_postgres/pginstall/include/server/catalog/pg_largeobject_metadata.h +51 -0
- embedded_postgres/pginstall/include/server/catalog/pg_largeobject_metadata_d.h +38 -0
- embedded_postgres/pginstall/include/server/catalog/pg_namespace.h +67 -0
- embedded_postgres/pginstall/include/server/catalog/pg_namespace_d.h +43 -0
- embedded_postgres/pginstall/include/server/catalog/pg_opclass.h +91 -0
- embedded_postgres/pginstall/include/server/catalog/pg_opclass_d.h +58 -0
- embedded_postgres/pginstall/include/server/catalog/pg_operator.h +124 -0
- embedded_postgres/pginstall/include/server/catalog/pg_operator_d.h +153 -0
- embedded_postgres/pginstall/include/server/catalog/pg_opfamily.h +67 -0
- embedded_postgres/pginstall/include/server/catalog/pg_opfamily_d.h +58 -0
- embedded_postgres/pginstall/include/server/catalog/pg_parameter_acl.h +62 -0
- embedded_postgres/pginstall/include/server/catalog/pg_parameter_acl_d.h +41 -0
- embedded_postgres/pginstall/include/server/catalog/pg_partitioned_table.h +76 -0
- embedded_postgres/pginstall/include/server/catalog/pg_partitioned_table_d.h +43 -0
- embedded_postgres/pginstall/include/server/catalog/pg_policy.h +58 -0
- embedded_postgres/pginstall/include/server/catalog/pg_policy_d.h +44 -0
- embedded_postgres/pginstall/include/server/catalog/pg_proc.h +224 -0
- embedded_postgres/pginstall/include/server/catalog/pg_proc_d.h +108 -0
- embedded_postgres/pginstall/include/server/catalog/pg_publication.h +194 -0
- embedded_postgres/pginstall/include/server/catalog/pg_publication_d.h +57 -0
- embedded_postgres/pginstall/include/server/catalog/pg_publication_namespace.h +50 -0
- embedded_postgres/pginstall/include/server/catalog/pg_publication_namespace_d.h +39 -0
- embedded_postgres/pginstall/include/server/catalog/pg_publication_rel.h +57 -0
- embedded_postgres/pginstall/include/server/catalog/pg_publication_rel_d.h +42 -0
- embedded_postgres/pginstall/include/server/catalog/pg_range.h +75 -0
- embedded_postgres/pginstall/include/server/catalog/pg_range_d.h +43 -0
- embedded_postgres/pginstall/include/server/catalog/pg_replication_origin.h +63 -0
- embedded_postgres/pginstall/include/server/catalog/pg_replication_origin_d.h +38 -0
- embedded_postgres/pginstall/include/server/catalog/pg_rewrite.h +61 -0
- embedded_postgres/pginstall/include/server/catalog/pg_rewrite_d.h +44 -0
- embedded_postgres/pginstall/include/server/catalog/pg_seclabel.h +45 -0
- embedded_postgres/pginstall/include/server/catalog/pg_seclabel_d.h +40 -0
- embedded_postgres/pginstall/include/server/catalog/pg_sequence.h +46 -0
- embedded_postgres/pginstall/include/server/catalog/pg_sequence_d.h +43 -0
- embedded_postgres/pginstall/include/server/catalog/pg_shdepend.h +78 -0
- embedded_postgres/pginstall/include/server/catalog/pg_shdepend_d.h +43 -0
- embedded_postgres/pginstall/include/server/catalog/pg_shdescription.h +65 -0
- embedded_postgres/pginstall/include/server/catalog/pg_shdescription_d.h +40 -0
- embedded_postgres/pginstall/include/server/catalog/pg_shseclabel.h +46 -0
- embedded_postgres/pginstall/include/server/catalog/pg_shseclabel_d.h +42 -0
- embedded_postgres/pginstall/include/server/catalog/pg_statistic.h +288 -0
- embedded_postgres/pginstall/include/server/catalog/pg_statistic_d.h +206 -0
- embedded_postgres/pginstall/include/server/catalog/pg_statistic_ext.h +91 -0
- embedded_postgres/pginstall/include/server/catalog/pg_statistic_ext_d.h +52 -0
- embedded_postgres/pginstall/include/server/catalog/pg_statistic_ext_data.h +61 -0
- embedded_postgres/pginstall/include/server/catalog/pg_statistic_ext_data_d.h +41 -0
- embedded_postgres/pginstall/include/server/catalog/pg_subscription.h +190 -0
- embedded_postgres/pginstall/include/server/catalog/pg_subscription_d.h +93 -0
- embedded_postgres/pginstall/include/server/catalog/pg_subscription_rel.h +95 -0
- embedded_postgres/pginstall/include/server/catalog/pg_subscription_rel_d.h +58 -0
- embedded_postgres/pginstall/include/server/catalog/pg_tablespace.h +57 -0
- embedded_postgres/pginstall/include/server/catalog/pg_tablespace_d.h +45 -0
- embedded_postgres/pginstall/include/server/catalog/pg_transform.h +51 -0
- embedded_postgres/pginstall/include/server/catalog/pg_transform_d.h +41 -0
- embedded_postgres/pginstall/include/server/catalog/pg_trigger.h +153 -0
- embedded_postgres/pginstall/include/server/catalog/pg_trigger_d.h +116 -0
- embedded_postgres/pginstall/include/server/catalog/pg_ts_config.h +56 -0
- embedded_postgres/pginstall/include/server/catalog/pg_ts_config_d.h +41 -0
- embedded_postgres/pginstall/include/server/catalog/pg_ts_config_map.h +51 -0
- embedded_postgres/pginstall/include/server/catalog/pg_ts_config_map_d.h +39 -0
- embedded_postgres/pginstall/include/server/catalog/pg_ts_dict.h +62 -0
- embedded_postgres/pginstall/include/server/catalog/pg_ts_dict_d.h +42 -0
- embedded_postgres/pginstall/include/server/catalog/pg_ts_parser.h +63 -0
- embedded_postgres/pginstall/include/server/catalog/pg_ts_parser_d.h +44 -0
- embedded_postgres/pginstall/include/server/catalog/pg_ts_template.h +54 -0
- embedded_postgres/pginstall/include/server/catalog/pg_ts_template_d.h +41 -0
- embedded_postgres/pginstall/include/server/catalog/pg_type.h +407 -0
- embedded_postgres/pginstall/include/server/catalog/pg_type_d.h +331 -0
- embedded_postgres/pginstall/include/server/catalog/pg_user_mapping.h +58 -0
- embedded_postgres/pginstall/include/server/catalog/pg_user_mapping_d.h +40 -0
- embedded_postgres/pginstall/include/server/catalog/schemapg.h +242 -0
- embedded_postgres/pginstall/include/server/catalog/storage.h +50 -0
- embedded_postgres/pginstall/include/server/catalog/storage_xlog.h +59 -0
- embedded_postgres/pginstall/include/server/catalog/syscache_ids.h +106 -0
- embedded_postgres/pginstall/include/server/catalog/syscache_info.h +581 -0
- embedded_postgres/pginstall/include/server/catalog/system_fk_info.h +253 -0
- embedded_postgres/pginstall/include/server/catalog/toasting.h +30 -0
- embedded_postgres/pginstall/include/server/commands/alter.h +34 -0
- embedded_postgres/pginstall/include/server/commands/async.h +52 -0
- embedded_postgres/pginstall/include/server/commands/cluster.h +51 -0
- embedded_postgres/pginstall/include/server/commands/collationcmds.h +25 -0
- embedded_postgres/pginstall/include/server/commands/comment.h +45 -0
- embedded_postgres/pginstall/include/server/commands/conversioncmds.h +23 -0
- embedded_postgres/pginstall/include/server/commands/copy.h +130 -0
- embedded_postgres/pginstall/include/server/commands/copyapi.h +105 -0
- embedded_postgres/pginstall/include/server/commands/copyfrom_internal.h +197 -0
- embedded_postgres/pginstall/include/server/commands/createas.h +34 -0
- embedded_postgres/pginstall/include/server/commands/dbcommands.h +37 -0
- embedded_postgres/pginstall/include/server/commands/dbcommands_xlog.h +60 -0
- embedded_postgres/pginstall/include/server/commands/defrem.h +165 -0
- embedded_postgres/pginstall/include/server/commands/discard.h +20 -0
- embedded_postgres/pginstall/include/server/commands/event_trigger.h +97 -0
- embedded_postgres/pginstall/include/server/commands/explain.h +84 -0
- embedded_postgres/pginstall/include/server/commands/explain_dr.h +32 -0
- embedded_postgres/pginstall/include/server/commands/explain_format.h +58 -0
- embedded_postgres/pginstall/include/server/commands/explain_state.h +100 -0
- embedded_postgres/pginstall/include/server/commands/extension.h +60 -0
- embedded_postgres/pginstall/include/server/commands/lockcmds.h +24 -0
- embedded_postgres/pginstall/include/server/commands/matview.h +36 -0
- embedded_postgres/pginstall/include/server/commands/policy.h +38 -0
- embedded_postgres/pginstall/include/server/commands/portalcmds.h +34 -0
- embedded_postgres/pginstall/include/server/commands/prepare.h +62 -0
- embedded_postgres/pginstall/include/server/commands/proclang.h +23 -0
- embedded_postgres/pginstall/include/server/commands/progress.h +160 -0
- embedded_postgres/pginstall/include/server/commands/publicationcmds.h +43 -0
- embedded_postgres/pginstall/include/server/commands/schemacmds.h +29 -0
- embedded_postgres/pginstall/include/server/commands/seclabel.h +34 -0
- embedded_postgres/pginstall/include/server/commands/sequence.h +70 -0
- embedded_postgres/pginstall/include/server/commands/subscriptioncmds.h +31 -0
- embedded_postgres/pginstall/include/server/commands/tablecmds.h +110 -0
- embedded_postgres/pginstall/include/server/commands/tablespace.h +71 -0
- embedded_postgres/pginstall/include/server/commands/trigger.h +292 -0
- embedded_postgres/pginstall/include/server/commands/typecmds.h +64 -0
- embedded_postgres/pginstall/include/server/commands/user.h +43 -0
- embedded_postgres/pginstall/include/server/commands/vacuum.h +410 -0
- embedded_postgres/pginstall/include/server/commands/view.h +25 -0
- embedded_postgres/pginstall/include/server/common/archive.h +21 -0
- embedded_postgres/pginstall/include/server/common/base64.h +19 -0
- embedded_postgres/pginstall/include/server/common/blkreftable.h +116 -0
- embedded_postgres/pginstall/include/server/common/checksum_helper.h +72 -0
- embedded_postgres/pginstall/include/server/common/compression.h +53 -0
- embedded_postgres/pginstall/include/server/common/config_info.h +21 -0
- embedded_postgres/pginstall/include/server/common/connect.h +28 -0
- embedded_postgres/pginstall/include/server/common/controldata_utils.h +21 -0
- embedded_postgres/pginstall/include/server/common/cryptohash.h +39 -0
- embedded_postgres/pginstall/include/server/common/fe_memutils.h +101 -0
- embedded_postgres/pginstall/include/server/common/file_perm.h +56 -0
- embedded_postgres/pginstall/include/server/common/file_utils.h +66 -0
- embedded_postgres/pginstall/include/server/common/hashfn.h +119 -0
- embedded_postgres/pginstall/include/server/common/hashfn_unstable.h +407 -0
- embedded_postgres/pginstall/include/server/common/hmac.h +30 -0
- embedded_postgres/pginstall/include/server/common/int.h +742 -0
- embedded_postgres/pginstall/include/server/common/int128.h +276 -0
- embedded_postgres/pginstall/include/server/common/ip.h +33 -0
- embedded_postgres/pginstall/include/server/common/jsonapi.h +267 -0
- embedded_postgres/pginstall/include/server/common/keywords.h +29 -0
- embedded_postgres/pginstall/include/server/common/kwlookup.h +44 -0
- embedded_postgres/pginstall/include/server/common/link-canary.h +17 -0
- embedded_postgres/pginstall/include/server/common/logging.h +163 -0
- embedded_postgres/pginstall/include/server/common/md5.h +37 -0
- embedded_postgres/pginstall/include/server/common/oauth-common.h +19 -0
- embedded_postgres/pginstall/include/server/common/openssl.h +43 -0
- embedded_postgres/pginstall/include/server/common/parse_manifest.h +57 -0
- embedded_postgres/pginstall/include/server/common/percentrepl.h +18 -0
- embedded_postgres/pginstall/include/server/common/pg_lzcompress.h +93 -0
- embedded_postgres/pginstall/include/server/common/pg_prng.h +62 -0
- embedded_postgres/pginstall/include/server/common/relpath.h +154 -0
- embedded_postgres/pginstall/include/server/common/restricted_token.h +24 -0
- embedded_postgres/pginstall/include/server/common/saslprep.h +30 -0
- embedded_postgres/pginstall/include/server/common/scram-common.h +70 -0
- embedded_postgres/pginstall/include/server/common/sha1.h +21 -0
- embedded_postgres/pginstall/include/server/common/sha2.h +32 -0
- embedded_postgres/pginstall/include/server/common/shortest_dec.h +63 -0
- embedded_postgres/pginstall/include/server/common/string.h +44 -0
- embedded_postgres/pginstall/include/server/common/unicode_case.h +35 -0
- embedded_postgres/pginstall/include/server/common/unicode_case_table.h +13630 -0
- embedded_postgres/pginstall/include/server/common/unicode_category.h +91 -0
- embedded_postgres/pginstall/include/server/common/unicode_category_table.h +7153 -0
- embedded_postgres/pginstall/include/server/common/unicode_east_asian_fw_table.h +126 -0
- embedded_postgres/pginstall/include/server/common/unicode_nonspacing_table.h +338 -0
- embedded_postgres/pginstall/include/server/common/unicode_norm.h +39 -0
- embedded_postgres/pginstall/include/server/common/unicode_norm_hashfunc.h +3016 -0
- embedded_postgres/pginstall/include/server/common/unicode_norm_table.h +9202 -0
- embedded_postgres/pginstall/include/server/common/unicode_normprops_table.h +8025 -0
- embedded_postgres/pginstall/include/server/common/unicode_version.h +14 -0
- embedded_postgres/pginstall/include/server/common/username.h +15 -0
- embedded_postgres/pginstall/include/server/datatype/timestamp.h +269 -0
- embedded_postgres/pginstall/include/server/executor/execAsync.h +25 -0
- embedded_postgres/pginstall/include/server/executor/execExpr.h +924 -0
- embedded_postgres/pginstall/include/server/executor/execParallel.h +51 -0
- embedded_postgres/pginstall/include/server/executor/execPartition.h +143 -0
- embedded_postgres/pginstall/include/server/executor/execScan.h +254 -0
- embedded_postgres/pginstall/include/server/executor/execdebug.h +130 -0
- embedded_postgres/pginstall/include/server/executor/execdesc.h +70 -0
- embedded_postgres/pginstall/include/server/executor/executor.h +789 -0
- embedded_postgres/pginstall/include/server/executor/functions.h +55 -0
- embedded_postgres/pginstall/include/server/executor/hashjoin.h +365 -0
- embedded_postgres/pginstall/include/server/executor/instrument.h +121 -0
- embedded_postgres/pginstall/include/server/executor/nodeAgg.h +341 -0
- embedded_postgres/pginstall/include/server/executor/nodeAppend.h +30 -0
- embedded_postgres/pginstall/include/server/executor/nodeBitmapAnd.h +24 -0
- embedded_postgres/pginstall/include/server/executor/nodeBitmapHeapscan.h +33 -0
- embedded_postgres/pginstall/include/server/executor/nodeBitmapIndexscan.h +30 -0
- embedded_postgres/pginstall/include/server/executor/nodeBitmapOr.h +24 -0
- embedded_postgres/pginstall/include/server/executor/nodeCtescan.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeCustom.h +42 -0
- embedded_postgres/pginstall/include/server/executor/nodeForeignscan.h +38 -0
- embedded_postgres/pginstall/include/server/executor/nodeFunctionscan.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeGather.h +24 -0
- embedded_postgres/pginstall/include/server/executor/nodeGatherMerge.h +26 -0
- embedded_postgres/pginstall/include/server/executor/nodeGroup.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeHash.h +75 -0
- embedded_postgres/pginstall/include/server/executor/nodeHashjoin.h +34 -0
- embedded_postgres/pginstall/include/server/executor/nodeIncrementalSort.h +28 -0
- embedded_postgres/pginstall/include/server/executor/nodeIndexonlyscan.h +37 -0
- embedded_postgres/pginstall/include/server/executor/nodeIndexscan.h +48 -0
- embedded_postgres/pginstall/include/server/executor/nodeLimit.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeLockRows.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeMaterial.h +25 -0
- embedded_postgres/pginstall/include/server/executor/nodeMemoize.h +32 -0
- embedded_postgres/pginstall/include/server/executor/nodeMergeAppend.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeMergejoin.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeModifyTable.h +33 -0
- embedded_postgres/pginstall/include/server/executor/nodeNamedtuplestorescan.h +22 -0
- embedded_postgres/pginstall/include/server/executor/nodeNestloop.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeProjectSet.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeRecursiveunion.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeResult.h +25 -0
- embedded_postgres/pginstall/include/server/executor/nodeSamplescan.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeSeqscan.h +31 -0
- embedded_postgres/pginstall/include/server/executor/nodeSetOp.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeSort.h +32 -0
- embedded_postgres/pginstall/include/server/executor/nodeSubplan.h +29 -0
- embedded_postgres/pginstall/include/server/executor/nodeSubqueryscan.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeTableFuncscan.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeTidrangescan.h +24 -0
- embedded_postgres/pginstall/include/server/executor/nodeTidscan.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeUnique.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeValuesscan.h +22 -0
- embedded_postgres/pginstall/include/server/executor/nodeWindowAgg.h +23 -0
- embedded_postgres/pginstall/include/server/executor/nodeWorktablescan.h +22 -0
- embedded_postgres/pginstall/include/server/executor/spi.h +207 -0
- embedded_postgres/pginstall/include/server/executor/spi_priv.h +105 -0
- embedded_postgres/pginstall/include/server/executor/tablefunc.h +67 -0
- embedded_postgres/pginstall/include/server/executor/tqueue.h +32 -0
- embedded_postgres/pginstall/include/server/executor/tstoreReceiver.h +31 -0
- embedded_postgres/pginstall/include/server/executor/tuptable.h +539 -0
- embedded_postgres/pginstall/include/server/extension/cube/cubedata.h +82 -0
- embedded_postgres/pginstall/include/server/extension/hstore/hstore.h +205 -0
- embedded_postgres/pginstall/include/server/extension/isn/isn.h +34 -0
- embedded_postgres/pginstall/include/server/extension/ltree/ltree.h +319 -0
- embedded_postgres/pginstall/include/server/extension/seg/segdata.h +33 -0
- embedded_postgres/pginstall/include/server/extension/vector/halfvec.h +77 -0
- embedded_postgres/pginstall/include/server/extension/vector/sparsevec.h +51 -0
- embedded_postgres/pginstall/include/server/extension/vector/vector.h +37 -0
- embedded_postgres/pginstall/include/server/fe_utils/archive.h +21 -0
- embedded_postgres/pginstall/include/server/fe_utils/astreamer.h +231 -0
- embedded_postgres/pginstall/include/server/fe_utils/cancel.h +32 -0
- embedded_postgres/pginstall/include/server/fe_utils/conditional.h +107 -0
- embedded_postgres/pginstall/include/server/fe_utils/connect_utils.h +48 -0
- embedded_postgres/pginstall/include/server/fe_utils/mbprint.h +30 -0
- embedded_postgres/pginstall/include/server/fe_utils/option_utils.h +28 -0
- embedded_postgres/pginstall/include/server/fe_utils/parallel_slot.h +77 -0
- embedded_postgres/pginstall/include/server/fe_utils/print.h +236 -0
- embedded_postgres/pginstall/include/server/fe_utils/psqlscan.h +98 -0
- embedded_postgres/pginstall/include/server/fe_utils/psqlscan_int.h +181 -0
- embedded_postgres/pginstall/include/server/fe_utils/query_utils.h +24 -0
- embedded_postgres/pginstall/include/server/fe_utils/recovery_gen.h +30 -0
- embedded_postgres/pginstall/include/server/fe_utils/simple_list.h +71 -0
- embedded_postgres/pginstall/include/server/fe_utils/string_utils.h +71 -0
- embedded_postgres/pginstall/include/server/fmgr.h +851 -0
- embedded_postgres/pginstall/include/server/foreign/fdwapi.h +294 -0
- embedded_postgres/pginstall/include/server/foreign/foreign.h +85 -0
- embedded_postgres/pginstall/include/server/funcapi.h +360 -0
- embedded_postgres/pginstall/include/server/getopt_long.h +37 -0
- embedded_postgres/pginstall/include/server/jit/SectionMemoryManager.h +226 -0
- embedded_postgres/pginstall/include/server/jit/jit.h +106 -0
- embedded_postgres/pginstall/include/server/jit/llvmjit.h +152 -0
- embedded_postgres/pginstall/include/server/jit/llvmjit_backport.h +22 -0
- embedded_postgres/pginstall/include/server/jit/llvmjit_emit.h +320 -0
- embedded_postgres/pginstall/include/server/lib/binaryheap.h +69 -0
- embedded_postgres/pginstall/include/server/lib/bipartite_match.h +46 -0
- embedded_postgres/pginstall/include/server/lib/bloomfilter.h +27 -0
- embedded_postgres/pginstall/include/server/lib/dshash.h +130 -0
- embedded_postgres/pginstall/include/server/lib/hyperloglog.h +68 -0
- embedded_postgres/pginstall/include/server/lib/ilist.h +1159 -0
- embedded_postgres/pginstall/include/server/lib/integerset.h +24 -0
- embedded_postgres/pginstall/include/server/lib/knapsack.h +16 -0
- embedded_postgres/pginstall/include/server/lib/pairingheap.h +102 -0
- embedded_postgres/pginstall/include/server/lib/qunique.h +67 -0
- embedded_postgres/pginstall/include/server/lib/radixtree.h +3026 -0
- embedded_postgres/pginstall/include/server/lib/rbtree.h +81 -0
- embedded_postgres/pginstall/include/server/lib/simplehash.h +1210 -0
- embedded_postgres/pginstall/include/server/lib/sort_template.h +445 -0
- embedded_postgres/pginstall/include/server/lib/stringinfo.h +270 -0
- embedded_postgres/pginstall/include/server/libpq/auth.h +54 -0
- embedded_postgres/pginstall/include/server/libpq/be-fsstubs.h +32 -0
- embedded_postgres/pginstall/include/server/libpq/be-gssapi-common.h +27 -0
- embedded_postgres/pginstall/include/server/libpq/crypt.h +60 -0
- embedded_postgres/pginstall/include/server/libpq/hba.h +191 -0
- embedded_postgres/pginstall/include/server/libpq/ifaddr.h +30 -0
- embedded_postgres/pginstall/include/server/libpq/libpq-be-fe-helpers.h +457 -0
- embedded_postgres/pginstall/include/server/libpq/libpq-be.h +370 -0
- embedded_postgres/pginstall/include/server/libpq/libpq-fs.h +24 -0
- embedded_postgres/pginstall/include/server/libpq/libpq.h +145 -0
- embedded_postgres/pginstall/include/server/libpq/oauth.h +101 -0
- embedded_postgres/pginstall/include/server/libpq/pg-gssapi.h +42 -0
- embedded_postgres/pginstall/include/server/libpq/pqcomm.h +175 -0
- embedded_postgres/pginstall/include/server/libpq/pqformat.h +209 -0
- embedded_postgres/pginstall/include/server/libpq/pqmq.h +24 -0
- embedded_postgres/pginstall/include/server/libpq/pqsignal.h +54 -0
- embedded_postgres/pginstall/include/server/libpq/protocol.h +89 -0
- embedded_postgres/pginstall/include/server/libpq/sasl.h +147 -0
- embedded_postgres/pginstall/include/server/libpq/scram.h +37 -0
- embedded_postgres/pginstall/include/server/mb/pg_wchar.h +802 -0
- embedded_postgres/pginstall/include/server/mb/stringinfo_mb.h +24 -0
- embedded_postgres/pginstall/include/server/miscadmin.h +543 -0
- embedded_postgres/pginstall/include/server/nodes/bitmapset.h +140 -0
- embedded_postgres/pginstall/include/server/nodes/execnodes.h +2924 -0
- embedded_postgres/pginstall/include/server/nodes/extensible.h +164 -0
- embedded_postgres/pginstall/include/server/nodes/lockoptions.h +61 -0
- embedded_postgres/pginstall/include/server/nodes/makefuncs.h +128 -0
- embedded_postgres/pginstall/include/server/nodes/memnodes.h +152 -0
- embedded_postgres/pginstall/include/server/nodes/miscnodes.h +57 -0
- embedded_postgres/pginstall/include/server/nodes/multibitmapset.h +39 -0
- embedded_postgres/pginstall/include/server/nodes/nodeFuncs.h +224 -0
- embedded_postgres/pginstall/include/server/nodes/nodes.h +441 -0
- embedded_postgres/pginstall/include/server/nodes/nodetags.h +496 -0
- embedded_postgres/pginstall/include/server/nodes/params.h +170 -0
- embedded_postgres/pginstall/include/server/nodes/parsenodes.h +4335 -0
- embedded_postgres/pginstall/include/server/nodes/pathnodes.h +3609 -0
- embedded_postgres/pginstall/include/server/nodes/pg_list.h +686 -0
- embedded_postgres/pginstall/include/server/nodes/plannodes.h +1767 -0
- embedded_postgres/pginstall/include/server/nodes/primnodes.h +2374 -0
- embedded_postgres/pginstall/include/server/nodes/print.h +34 -0
- embedded_postgres/pginstall/include/server/nodes/queryjumble.h +113 -0
- embedded_postgres/pginstall/include/server/nodes/readfuncs.h +38 -0
- embedded_postgres/pginstall/include/server/nodes/replnodes.h +132 -0
- embedded_postgres/pginstall/include/server/nodes/subscripting.h +167 -0
- embedded_postgres/pginstall/include/server/nodes/supportnodes.h +393 -0
- embedded_postgres/pginstall/include/server/nodes/tidbitmap.h +128 -0
- embedded_postgres/pginstall/include/server/nodes/value.h +90 -0
- embedded_postgres/pginstall/include/server/optimizer/appendinfo.h +50 -0
- embedded_postgres/pginstall/include/server/optimizer/clauses.h +72 -0
- embedded_postgres/pginstall/include/server/optimizer/cost.h +226 -0
- embedded_postgres/pginstall/include/server/optimizer/geqo.h +90 -0
- embedded_postgres/pginstall/include/server/optimizer/geqo_copy.h +30 -0
- embedded_postgres/pginstall/include/server/optimizer/geqo_gene.h +45 -0
- embedded_postgres/pginstall/include/server/optimizer/geqo_misc.h +34 -0
- embedded_postgres/pginstall/include/server/optimizer/geqo_mutation.h +30 -0
- embedded_postgres/pginstall/include/server/optimizer/geqo_pool.h +40 -0
- embedded_postgres/pginstall/include/server/optimizer/geqo_random.h +38 -0
- embedded_postgres/pginstall/include/server/optimizer/geqo_recombination.h +89 -0
- embedded_postgres/pginstall/include/server/optimizer/geqo_selection.h +33 -0
- embedded_postgres/pginstall/include/server/optimizer/inherit.h +29 -0
- embedded_postgres/pginstall/include/server/optimizer/joininfo.h +30 -0
- embedded_postgres/pginstall/include/server/optimizer/optimizer.h +215 -0
- embedded_postgres/pginstall/include/server/optimizer/orclauses.h +21 -0
- embedded_postgres/pginstall/include/server/optimizer/paramassign.h +39 -0
- embedded_postgres/pginstall/include/server/optimizer/pathnode.h +356 -0
- embedded_postgres/pginstall/include/server/optimizer/paths.h +282 -0
- embedded_postgres/pginstall/include/server/optimizer/placeholder.h +37 -0
- embedded_postgres/pginstall/include/server/optimizer/plancat.h +82 -0
- embedded_postgres/pginstall/include/server/optimizer/planmain.h +134 -0
- embedded_postgres/pginstall/include/server/optimizer/planner.h +62 -0
- embedded_postgres/pginstall/include/server/optimizer/prep.h +58 -0
- embedded_postgres/pginstall/include/server/optimizer/restrictinfo.h +93 -0
- embedded_postgres/pginstall/include/server/optimizer/subselect.h +46 -0
- embedded_postgres/pginstall/include/server/optimizer/tlist.h +61 -0
- embedded_postgres/pginstall/include/server/parser/analyze.h +68 -0
- embedded_postgres/pginstall/include/server/parser/kwlist.h +521 -0
- embedded_postgres/pginstall/include/server/parser/parse_agg.h +65 -0
- embedded_postgres/pginstall/include/server/parser/parse_clause.h +57 -0
- embedded_postgres/pginstall/include/server/parser/parse_coerce.h +105 -0
- embedded_postgres/pginstall/include/server/parser/parse_collate.h +27 -0
- embedded_postgres/pginstall/include/server/parser/parse_cte.h +24 -0
- embedded_postgres/pginstall/include/server/parser/parse_enr.h +22 -0
- embedded_postgres/pginstall/include/server/parser/parse_expr.h +25 -0
- embedded_postgres/pginstall/include/server/parser/parse_func.h +74 -0
- embedded_postgres/pginstall/include/server/parser/parse_merge.h +21 -0
- embedded_postgres/pginstall/include/server/parser/parse_node.h +368 -0
- embedded_postgres/pginstall/include/server/parser/parse_oper.h +68 -0
- embedded_postgres/pginstall/include/server/parser/parse_param.h +25 -0
- embedded_postgres/pginstall/include/server/parser/parse_relation.h +133 -0
- embedded_postgres/pginstall/include/server/parser/parse_target.h +58 -0
- embedded_postgres/pginstall/include/server/parser/parse_type.h +61 -0
- embedded_postgres/pginstall/include/server/parser/parse_utilcmd.h +44 -0
- embedded_postgres/pginstall/include/server/parser/parser.h +68 -0
- embedded_postgres/pginstall/include/server/parser/parsetree.h +61 -0
- embedded_postgres/pginstall/include/server/parser/scanner.h +150 -0
- embedded_postgres/pginstall/include/server/parser/scansup.h +27 -0
- embedded_postgres/pginstall/include/server/partitioning/partbounds.h +146 -0
- embedded_postgres/pginstall/include/server/partitioning/partdefs.h +26 -0
- embedded_postgres/pginstall/include/server/partitioning/partdesc.h +75 -0
- embedded_postgres/pginstall/include/server/partitioning/partprune.h +81 -0
- embedded_postgres/pginstall/include/server/pg_config.h +824 -0
- embedded_postgres/pginstall/include/server/pg_config_manual.h +363 -0
- embedded_postgres/pginstall/include/server/pg_config_os.h +59 -0
- embedded_postgres/pginstall/include/server/pg_getopt.h +57 -0
- embedded_postgres/pginstall/include/server/pg_trace.h +17 -0
- embedded_postgres/pginstall/include/server/pgstat.h +842 -0
- embedded_postgres/pginstall/include/server/pgtar.h +89 -0
- embedded_postgres/pginstall/include/server/pgtime.h +101 -0
- embedded_postgres/pginstall/include/server/plpgsql.h +1336 -0
- embedded_postgres/pginstall/include/server/port/atomics/arch-arm.h +32 -0
- embedded_postgres/pginstall/include/server/port/atomics/arch-ppc.h +256 -0
- embedded_postgres/pginstall/include/server/port/atomics/arch-x86.h +246 -0
- embedded_postgres/pginstall/include/server/port/atomics/fallback.h +42 -0
- embedded_postgres/pginstall/include/server/port/atomics/generic-gcc.h +327 -0
- embedded_postgres/pginstall/include/server/port/atomics/generic-msvc.h +115 -0
- embedded_postgres/pginstall/include/server/port/atomics/generic-sunpro.h +113 -0
- embedded_postgres/pginstall/include/server/port/atomics/generic.h +427 -0
- embedded_postgres/pginstall/include/server/port/atomics.h +611 -0
- embedded_postgres/pginstall/include/server/port/cygwin.h +23 -0
- embedded_postgres/pginstall/include/server/port/darwin.h +13 -0
- embedded_postgres/pginstall/include/server/port/freebsd.h +8 -0
- embedded_postgres/pginstall/include/server/port/linux.h +22 -0
- embedded_postgres/pginstall/include/server/port/netbsd.h +1 -0
- embedded_postgres/pginstall/include/server/port/openbsd.h +1 -0
- embedded_postgres/pginstall/include/server/port/pg_bitutils.h +445 -0
- embedded_postgres/pginstall/include/server/port/pg_bswap.h +161 -0
- embedded_postgres/pginstall/include/server/port/pg_crc32c.h +169 -0
- embedded_postgres/pginstall/include/server/port/pg_iovec.h +127 -0
- embedded_postgres/pginstall/include/server/port/pg_lfind.h +209 -0
- embedded_postgres/pginstall/include/server/port/pg_numa.h +42 -0
- embedded_postgres/pginstall/include/server/port/pg_pthread.h +41 -0
- embedded_postgres/pginstall/include/server/port/simd.h +422 -0
- embedded_postgres/pginstall/include/server/port/solaris.h +35 -0
- embedded_postgres/pginstall/include/server/port/win32/arpa/inet.h +3 -0
- embedded_postgres/pginstall/include/server/port/win32/dlfcn.h +1 -0
- embedded_postgres/pginstall/include/server/port/win32/grp.h +1 -0
- embedded_postgres/pginstall/include/server/port/win32/netdb.h +7 -0
- embedded_postgres/pginstall/include/server/port/win32/netinet/in.h +3 -0
- embedded_postgres/pginstall/include/server/port/win32/netinet/tcp.h +7 -0
- embedded_postgres/pginstall/include/server/port/win32/pwd.h +3 -0
- embedded_postgres/pginstall/include/server/port/win32/sys/resource.h +20 -0
- embedded_postgres/pginstall/include/server/port/win32/sys/select.h +3 -0
- embedded_postgres/pginstall/include/server/port/win32/sys/socket.h +34 -0
- embedded_postgres/pginstall/include/server/port/win32/sys/un.h +17 -0
- embedded_postgres/pginstall/include/server/port/win32/sys/wait.h +3 -0
- embedded_postgres/pginstall/include/server/port/win32.h +59 -0
- embedded_postgres/pginstall/include/server/port/win32_msvc/dirent.h +34 -0
- embedded_postgres/pginstall/include/server/port/win32_msvc/sys/file.h +1 -0
- embedded_postgres/pginstall/include/server/port/win32_msvc/sys/param.h +1 -0
- embedded_postgres/pginstall/include/server/port/win32_msvc/sys/time.h +1 -0
- embedded_postgres/pginstall/include/server/port/win32_msvc/unistd.h +9 -0
- embedded_postgres/pginstall/include/server/port/win32_msvc/utime.h +3 -0
- embedded_postgres/pginstall/include/server/port/win32_port.h +589 -0
- embedded_postgres/pginstall/include/server/port/win32ntdll.h +34 -0
- embedded_postgres/pginstall/include/server/port.h +565 -0
- embedded_postgres/pginstall/include/server/portability/instr_time.h +197 -0
- embedded_postgres/pginstall/include/server/portability/mem.h +48 -0
- embedded_postgres/pginstall/include/server/postgres.h +584 -0
- embedded_postgres/pginstall/include/server/postgres_ext.h +74 -0
- embedded_postgres/pginstall/include/server/postgres_fe.h +34 -0
- embedded_postgres/pginstall/include/server/postmaster/autovacuum.h +71 -0
- embedded_postgres/pginstall/include/server/postmaster/auxprocess.h +18 -0
- embedded_postgres/pginstall/include/server/postmaster/bgworker.h +164 -0
- embedded_postgres/pginstall/include/server/postmaster/bgworker_internals.h +57 -0
- embedded_postgres/pginstall/include/server/postmaster/bgwriter.h +45 -0
- embedded_postgres/pginstall/include/server/postmaster/fork_process.h +17 -0
- embedded_postgres/pginstall/include/server/postmaster/interrupt.h +32 -0
- embedded_postgres/pginstall/include/server/postmaster/pgarch.h +36 -0
- embedded_postgres/pginstall/include/server/postmaster/postmaster.h +145 -0
- embedded_postgres/pginstall/include/server/postmaster/startup.h +41 -0
- embedded_postgres/pginstall/include/server/postmaster/syslogger.h +105 -0
- embedded_postgres/pginstall/include/server/postmaster/walsummarizer.h +35 -0
- embedded_postgres/pginstall/include/server/postmaster/walwriter.h +23 -0
- embedded_postgres/pginstall/include/server/regex/regcustom.h +99 -0
- embedded_postgres/pginstall/include/server/regex/regerrs.h +83 -0
- embedded_postgres/pginstall/include/server/regex/regex.h +272 -0
- embedded_postgres/pginstall/include/server/regex/regexport.h +61 -0
- embedded_postgres/pginstall/include/server/regex/regguts.h +563 -0
- embedded_postgres/pginstall/include/server/replication/conflict.h +90 -0
- embedded_postgres/pginstall/include/server/replication/decode.h +34 -0
- embedded_postgres/pginstall/include/server/replication/logical.h +158 -0
- embedded_postgres/pginstall/include/server/replication/logicallauncher.h +34 -0
- embedded_postgres/pginstall/include/server/replication/logicalproto.h +280 -0
- embedded_postgres/pginstall/include/server/replication/logicalrelation.h +54 -0
- embedded_postgres/pginstall/include/server/replication/logicalworker.h +33 -0
- embedded_postgres/pginstall/include/server/replication/message.h +42 -0
- embedded_postgres/pginstall/include/server/replication/origin.h +83 -0
- embedded_postgres/pginstall/include/server/replication/output_plugin.h +250 -0
- embedded_postgres/pginstall/include/server/replication/pgoutput.h +39 -0
- embedded_postgres/pginstall/include/server/replication/reorderbuffer.h +783 -0
- embedded_postgres/pginstall/include/server/replication/slot.h +327 -0
- embedded_postgres/pginstall/include/server/replication/slotsync.h +45 -0
- embedded_postgres/pginstall/include/server/replication/snapbuild.h +101 -0
- embedded_postgres/pginstall/include/server/replication/snapbuild_internal.h +199 -0
- embedded_postgres/pginstall/include/server/replication/syncrep.h +110 -0
- embedded_postgres/pginstall/include/server/replication/walreceiver.h +513 -0
- embedded_postgres/pginstall/include/server/replication/walsender.h +75 -0
- embedded_postgres/pginstall/include/server/replication/walsender_private.h +155 -0
- embedded_postgres/pginstall/include/server/replication/worker_internal.h +354 -0
- embedded_postgres/pginstall/include/server/rewrite/prs2lock.h +46 -0
- embedded_postgres/pginstall/include/server/rewrite/rewriteDefine.h +44 -0
- embedded_postgres/pginstall/include/server/rewrite/rewriteHandler.h +44 -0
- embedded_postgres/pginstall/include/server/rewrite/rewriteManip.h +122 -0
- embedded_postgres/pginstall/include/server/rewrite/rewriteRemove.h +21 -0
- embedded_postgres/pginstall/include/server/rewrite/rewriteSearchCycle.h +21 -0
- embedded_postgres/pginstall/include/server/rewrite/rewriteSupport.h +26 -0
- embedded_postgres/pginstall/include/server/rewrite/rowsecurity.h +49 -0
- embedded_postgres/pginstall/include/server/snowball/header.h +67 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/api.h +32 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/header.h +61 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_basque.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_catalan.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_danish.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_dutch.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_english.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_finnish.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_french.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_german.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_indonesian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_irish.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_italian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_norwegian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_porter.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_portuguese.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_spanish.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_1_swedish.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_ISO_8859_2_hungarian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_KOI8_R_russian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_arabic.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_armenian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_basque.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_catalan.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_danish.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_dutch.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_english.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_estonian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_finnish.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_french.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_german.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_greek.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_hindi.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_hungarian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_indonesian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_irish.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_italian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_lithuanian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_nepali.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_norwegian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_porter.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_portuguese.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_romanian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_russian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_serbian.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_spanish.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_swedish.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_tamil.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_turkish.h +15 -0
- embedded_postgres/pginstall/include/server/snowball/libstemmer/stem_UTF_8_yiddish.h +15 -0
- embedded_postgres/pginstall/include/server/statistics/extended_stats_internal.h +130 -0
- embedded_postgres/pginstall/include/server/statistics/stat_utils.h +43 -0
- embedded_postgres/pginstall/include/server/statistics/statistics.h +130 -0
- embedded_postgres/pginstall/include/server/storage/aio.h +369 -0
- embedded_postgres/pginstall/include/server/storage/aio_internal.h +416 -0
- embedded_postgres/pginstall/include/server/storage/aio_subsys.h +37 -0
- embedded_postgres/pginstall/include/server/storage/aio_types.h +137 -0
- embedded_postgres/pginstall/include/server/storage/barrier.h +46 -0
- embedded_postgres/pginstall/include/server/storage/block.h +108 -0
- embedded_postgres/pginstall/include/server/storage/buf.h +46 -0
- embedded_postgres/pginstall/include/server/storage/buf_internals.h +494 -0
- embedded_postgres/pginstall/include/server/storage/buffile.h +59 -0
- embedded_postgres/pginstall/include/server/storage/bufmgr.h +424 -0
- embedded_postgres/pginstall/include/server/storage/bufpage.h +511 -0
- embedded_postgres/pginstall/include/server/storage/bulk_write.h +41 -0
- embedded_postgres/pginstall/include/server/storage/checksum.h +24 -0
- embedded_postgres/pginstall/include/server/storage/checksum_impl.h +215 -0
- embedded_postgres/pginstall/include/server/storage/condition_variable.h +73 -0
- embedded_postgres/pginstall/include/server/storage/copydir.h +28 -0
- embedded_postgres/pginstall/include/server/storage/dsm.h +61 -0
- embedded_postgres/pginstall/include/server/storage/dsm_impl.h +79 -0
- embedded_postgres/pginstall/include/server/storage/dsm_registry.h +23 -0
- embedded_postgres/pginstall/include/server/storage/fd.h +233 -0
- embedded_postgres/pginstall/include/server/storage/fileset.h +40 -0
- embedded_postgres/pginstall/include/server/storage/freespace.h +39 -0
- embedded_postgres/pginstall/include/server/storage/fsm_internals.h +72 -0
- embedded_postgres/pginstall/include/server/storage/indexfsm.h +26 -0
- embedded_postgres/pginstall/include/server/storage/io_worker.h +22 -0
- embedded_postgres/pginstall/include/server/storage/ipc.h +87 -0
- embedded_postgres/pginstall/include/server/storage/item.h +19 -0
- embedded_postgres/pginstall/include/server/storage/itemid.h +184 -0
- embedded_postgres/pginstall/include/server/storage/itemptr.h +245 -0
- embedded_postgres/pginstall/include/server/storage/large_object.h +100 -0
- embedded_postgres/pginstall/include/server/storage/latch.h +140 -0
- embedded_postgres/pginstall/include/server/storage/lmgr.h +127 -0
- embedded_postgres/pginstall/include/server/storage/lock.h +630 -0
- embedded_postgres/pginstall/include/server/storage/lockdefs.h +61 -0
- embedded_postgres/pginstall/include/server/storage/lwlock.h +234 -0
- embedded_postgres/pginstall/include/server/storage/lwlocklist.h +86 -0
- embedded_postgres/pginstall/include/server/storage/lwlocknames.h +48 -0
- embedded_postgres/pginstall/include/server/storage/md.h +65 -0
- embedded_postgres/pginstall/include/server/storage/off.h +57 -0
- embedded_postgres/pginstall/include/server/storage/pg_sema.h +61 -0
- embedded_postgres/pginstall/include/server/storage/pg_shmem.h +94 -0
- embedded_postgres/pginstall/include/server/storage/pmsignal.h +110 -0
- embedded_postgres/pginstall/include/server/storage/predicate.h +84 -0
- embedded_postgres/pginstall/include/server/storage/predicate_internals.h +478 -0
- embedded_postgres/pginstall/include/server/storage/proc.h +516 -0
- embedded_postgres/pginstall/include/server/storage/procarray.h +103 -0
- embedded_postgres/pginstall/include/server/storage/proclist.h +219 -0
- embedded_postgres/pginstall/include/server/storage/proclist_types.h +53 -0
- embedded_postgres/pginstall/include/server/storage/procnumber.h +56 -0
- embedded_postgres/pginstall/include/server/storage/procsignal.h +95 -0
- embedded_postgres/pginstall/include/server/storage/read_stream.h +106 -0
- embedded_postgres/pginstall/include/server/storage/reinit.h +30 -0
- embedded_postgres/pginstall/include/server/storage/relfilelocator.h +100 -0
- embedded_postgres/pginstall/include/server/storage/s_lock.h +755 -0
- embedded_postgres/pginstall/include/server/storage/sharedfileset.h +37 -0
- embedded_postgres/pginstall/include/server/storage/shm_mq.h +86 -0
- embedded_postgres/pginstall/include/server/storage/shm_toc.h +58 -0
- embedded_postgres/pginstall/include/server/storage/shmem.h +62 -0
- embedded_postgres/pginstall/include/server/storage/sinval.h +167 -0
- embedded_postgres/pginstall/include/server/storage/sinvaladt.h +41 -0
- embedded_postgres/pginstall/include/server/storage/smgr.h +144 -0
- embedded_postgres/pginstall/include/server/storage/spin.h +65 -0
- embedded_postgres/pginstall/include/server/storage/standby.h +109 -0
- embedded_postgres/pginstall/include/server/storage/standbydefs.h +74 -0
- embedded_postgres/pginstall/include/server/storage/sync.h +66 -0
- embedded_postgres/pginstall/include/server/storage/waiteventset.h +98 -0
- embedded_postgres/pginstall/include/server/tcop/backend_startup.h +122 -0
- embedded_postgres/pginstall/include/server/tcop/cmdtag.h +62 -0
- embedded_postgres/pginstall/include/server/tcop/cmdtaglist.h +219 -0
- embedded_postgres/pginstall/include/server/tcop/deparse_utility.h +108 -0
- embedded_postgres/pginstall/include/server/tcop/dest.h +148 -0
- embedded_postgres/pginstall/include/server/tcop/fastpath.h +20 -0
- embedded_postgres/pginstall/include/server/tcop/pquery.h +51 -0
- embedded_postgres/pginstall/include/server/tcop/tcopprot.h +94 -0
- embedded_postgres/pginstall/include/server/tcop/utility.h +112 -0
- embedded_postgres/pginstall/include/server/tsearch/dicts/regis.h +49 -0
- embedded_postgres/pginstall/include/server/tsearch/dicts/spell.h +241 -0
- embedded_postgres/pginstall/include/server/tsearch/ts_cache.h +96 -0
- embedded_postgres/pginstall/include/server/tsearch/ts_locale.h +74 -0
- embedded_postgres/pginstall/include/server/tsearch/ts_public.h +159 -0
- embedded_postgres/pginstall/include/server/tsearch/ts_type.h +290 -0
- embedded_postgres/pginstall/include/server/tsearch/ts_utils.h +281 -0
- embedded_postgres/pginstall/include/server/utils/acl.h +293 -0
- embedded_postgres/pginstall/include/server/utils/aclchk_internal.h +45 -0
- embedded_postgres/pginstall/include/server/utils/array.h +481 -0
- embedded_postgres/pginstall/include/server/utils/arrayaccess.h +118 -0
- embedded_postgres/pginstall/include/server/utils/ascii.h +84 -0
- embedded_postgres/pginstall/include/server/utils/attoptcache.h +28 -0
- embedded_postgres/pginstall/include/server/utils/backend_progress.h +46 -0
- embedded_postgres/pginstall/include/server/utils/backend_status.h +349 -0
- embedded_postgres/pginstall/include/server/utils/builtins.h +140 -0
- embedded_postgres/pginstall/include/server/utils/bytea.h +28 -0
- embedded_postgres/pginstall/include/server/utils/cash.h +35 -0
- embedded_postgres/pginstall/include/server/utils/catcache.h +232 -0
- embedded_postgres/pginstall/include/server/utils/combocid.h +28 -0
- embedded_postgres/pginstall/include/server/utils/conffiles.h +27 -0
- embedded_postgres/pginstall/include/server/utils/date.h +118 -0
- embedded_postgres/pginstall/include/server/utils/datetime.h +369 -0
- embedded_postgres/pginstall/include/server/utils/datum.h +76 -0
- embedded_postgres/pginstall/include/server/utils/dsa.h +166 -0
- embedded_postgres/pginstall/include/server/utils/dynahash.h +20 -0
- embedded_postgres/pginstall/include/server/utils/elog.h +532 -0
- embedded_postgres/pginstall/include/server/utils/errcodes.h +356 -0
- embedded_postgres/pginstall/include/server/utils/evtcache.h +38 -0
- embedded_postgres/pginstall/include/server/utils/expandeddatum.h +170 -0
- embedded_postgres/pginstall/include/server/utils/expandedrecord.h +241 -0
- embedded_postgres/pginstall/include/server/utils/float.h +357 -0
- embedded_postgres/pginstall/include/server/utils/fmgroids.h +3430 -0
- embedded_postgres/pginstall/include/server/utils/fmgrprotos.h +2982 -0
- embedded_postgres/pginstall/include/server/utils/fmgrtab.h +49 -0
- embedded_postgres/pginstall/include/server/utils/formatting.h +35 -0
- embedded_postgres/pginstall/include/server/utils/freepage.h +99 -0
- embedded_postgres/pginstall/include/server/utils/funccache.h +134 -0
- embedded_postgres/pginstall/include/server/utils/geo_decls.h +285 -0
- embedded_postgres/pginstall/include/server/utils/guc.h +489 -0
- embedded_postgres/pginstall/include/server/utils/guc_hooks.h +178 -0
- embedded_postgres/pginstall/include/server/utils/guc_tables.h +341 -0
- embedded_postgres/pginstall/include/server/utils/help_config.h +17 -0
- embedded_postgres/pginstall/include/server/utils/hsearch.h +158 -0
- embedded_postgres/pginstall/include/server/utils/index_selfuncs.h +74 -0
- embedded_postgres/pginstall/include/server/utils/inet.h +184 -0
- embedded_postgres/pginstall/include/server/utils/injection_point.h +54 -0
- embedded_postgres/pginstall/include/server/utils/inval.h +84 -0
- embedded_postgres/pginstall/include/server/utils/json.h +33 -0
- embedded_postgres/pginstall/include/server/utils/jsonb.h +440 -0
- embedded_postgres/pginstall/include/server/utils/jsonfuncs.h +99 -0
- embedded_postgres/pginstall/include/server/utils/jsonpath.h +310 -0
- embedded_postgres/pginstall/include/server/utils/logtape.h +77 -0
- embedded_postgres/pginstall/include/server/utils/lsyscache.h +224 -0
- embedded_postgres/pginstall/include/server/utils/memdebug.h +82 -0
- embedded_postgres/pginstall/include/server/utils/memutils.h +322 -0
- embedded_postgres/pginstall/include/server/utils/memutils_internal.h +176 -0
- embedded_postgres/pginstall/include/server/utils/memutils_memorychunk.h +253 -0
- embedded_postgres/pginstall/include/server/utils/multirangetypes.h +150 -0
- embedded_postgres/pginstall/include/server/utils/numeric.h +115 -0
- embedded_postgres/pginstall/include/server/utils/palloc.h +165 -0
- embedded_postgres/pginstall/include/server/utils/partcache.h +103 -0
- embedded_postgres/pginstall/include/server/utils/pg_crc.h +107 -0
- embedded_postgres/pginstall/include/server/utils/pg_locale.h +185 -0
- embedded_postgres/pginstall/include/server/utils/pg_lsn.h +38 -0
- embedded_postgres/pginstall/include/server/utils/pg_rusage.h +32 -0
- embedded_postgres/pginstall/include/server/utils/pgstat_internal.h +945 -0
- embedded_postgres/pginstall/include/server/utils/pgstat_kind.h +72 -0
- embedded_postgres/pginstall/include/server/utils/pidfile.h +56 -0
- embedded_postgres/pginstall/include/server/utils/plancache.h +256 -0
- embedded_postgres/pginstall/include/server/utils/portal.h +251 -0
- embedded_postgres/pginstall/include/server/utils/probes.h +114 -0
- embedded_postgres/pginstall/include/server/utils/ps_status.h +47 -0
- embedded_postgres/pginstall/include/server/utils/queryenvironment.h +74 -0
- embedded_postgres/pginstall/include/server/utils/rangetypes.h +168 -0
- embedded_postgres/pginstall/include/server/utils/regproc.h +39 -0
- embedded_postgres/pginstall/include/server/utils/rel.h +731 -0
- embedded_postgres/pginstall/include/server/utils/relcache.h +163 -0
- embedded_postgres/pginstall/include/server/utils/relfilenumbermap.h +21 -0
- embedded_postgres/pginstall/include/server/utils/relmapper.h +73 -0
- embedded_postgres/pginstall/include/server/utils/relptr.h +93 -0
- embedded_postgres/pginstall/include/server/utils/reltrigger.h +81 -0
- embedded_postgres/pginstall/include/server/utils/resowner.h +172 -0
- embedded_postgres/pginstall/include/server/utils/rls.h +50 -0
- embedded_postgres/pginstall/include/server/utils/ruleutils.h +57 -0
- embedded_postgres/pginstall/include/server/utils/sampling.h +64 -0
- embedded_postgres/pginstall/include/server/utils/selfuncs.h +251 -0
- embedded_postgres/pginstall/include/server/utils/sharedtuplestore.h +61 -0
- embedded_postgres/pginstall/include/server/utils/skipsupport.h +98 -0
- embedded_postgres/pginstall/include/server/utils/snapmgr.h +122 -0
- embedded_postgres/pginstall/include/server/utils/snapshot.h +212 -0
- embedded_postgres/pginstall/include/server/utils/sortsupport.h +391 -0
- embedded_postgres/pginstall/include/server/utils/spccache.h +21 -0
- embedded_postgres/pginstall/include/server/utils/syscache.h +136 -0
- embedded_postgres/pginstall/include/server/utils/timeout.h +96 -0
- embedded_postgres/pginstall/include/server/utils/timestamp.h +159 -0
- embedded_postgres/pginstall/include/server/utils/tuplesort.h +480 -0
- embedded_postgres/pginstall/include/server/utils/tuplestore.h +91 -0
- embedded_postgres/pginstall/include/server/utils/typcache.h +215 -0
- embedded_postgres/pginstall/include/server/utils/tzparser.h +39 -0
- embedded_postgres/pginstall/include/server/utils/usercontext.h +26 -0
- embedded_postgres/pginstall/include/server/utils/uuid.h +42 -0
- embedded_postgres/pginstall/include/server/utils/varbit.h +89 -0
- embedded_postgres/pginstall/include/server/utils/varlena.h +53 -0
- embedded_postgres/pginstall/include/server/utils/wait_classes.h +29 -0
- embedded_postgres/pginstall/include/server/utils/wait_event.h +92 -0
- embedded_postgres/pginstall/include/server/utils/wait_event_types.h +225 -0
- embedded_postgres/pginstall/include/server/utils/xid8.h +32 -0
- embedded_postgres/pginstall/include/server/utils/xml.h +94 -0
- embedded_postgres/pginstall/include/server/varatt.h +358 -0
- embedded_postgres/pginstall/include/server/windowapi.h +64 -0
- embedded_postgres/pginstall/include/sql3types.h +43 -0
- embedded_postgres/pginstall/include/sqlca.h +66 -0
- embedded_postgres/pginstall/include/sqlda-compat.h +47 -0
- embedded_postgres/pginstall/include/sqlda-native.h +43 -0
- embedded_postgres/pginstall/include/sqlda.h +18 -0
- embedded_postgres/pginstall/lib/_int.dll +0 -0
- embedded_postgres/pginstall/lib/amcheck.dll +0 -0
- embedded_postgres/pginstall/lib/auth_delay.dll +0 -0
- embedded_postgres/pginstall/lib/auto_explain.dll +0 -0
- embedded_postgres/pginstall/lib/autoinc.dll +0 -0
- embedded_postgres/pginstall/lib/basebackup_to_shell.dll +0 -0
- embedded_postgres/pginstall/lib/basic_archive.dll +0 -0
- embedded_postgres/pginstall/lib/bloom.dll +0 -0
- embedded_postgres/pginstall/lib/btree_gin.dll +0 -0
- embedded_postgres/pginstall/lib/btree_gist.dll +0 -0
- embedded_postgres/pginstall/lib/citext.dll +0 -0
- embedded_postgres/pginstall/lib/cube.dll +0 -0
- embedded_postgres/pginstall/lib/cyrillic_and_mic.dll +0 -0
- embedded_postgres/pginstall/lib/dblink.dll +0 -0
- embedded_postgres/pginstall/lib/dict_int.dll +0 -0
- embedded_postgres/pginstall/lib/dict_snowball.dll +0 -0
- embedded_postgres/pginstall/lib/dict_xsyn.dll +0 -0
- embedded_postgres/pginstall/lib/earthdistance.dll +0 -0
- embedded_postgres/pginstall/lib/euc2004_sjis2004.dll +0 -0
- embedded_postgres/pginstall/lib/euc_cn_and_mic.dll +0 -0
- embedded_postgres/pginstall/lib/euc_jp_and_sjis.dll +0 -0
- embedded_postgres/pginstall/lib/euc_kr_and_mic.dll +0 -0
- embedded_postgres/pginstall/lib/euc_tw_and_big5.dll +0 -0
- embedded_postgres/pginstall/lib/file_fdw.dll +0 -0
- embedded_postgres/pginstall/lib/fuzzystrmatch.dll +0 -0
- embedded_postgres/pginstall/lib/hstore.dll +0 -0
- embedded_postgres/pginstall/lib/insert_username.dll +0 -0
- embedded_postgres/pginstall/lib/isn.dll +0 -0
- embedded_postgres/pginstall/lib/latin2_and_win1250.dll +0 -0
- embedded_postgres/pginstall/lib/latin_and_mic.dll +0 -0
- embedded_postgres/pginstall/lib/libecpg.a +0 -0
- embedded_postgres/pginstall/lib/libecpg.dll +0 -0
- embedded_postgres/pginstall/lib/libecpg_compat.a +0 -0
- embedded_postgres/pginstall/lib/libecpg_compat.dll +0 -0
- embedded_postgres/pginstall/lib/libpgcommon.a +0 -0
- embedded_postgres/pginstall/lib/libpgcommon_shlib.a +0 -0
- embedded_postgres/pginstall/lib/libpgfeutils.a +0 -0
- embedded_postgres/pginstall/lib/libpgport.a +0 -0
- embedded_postgres/pginstall/lib/libpgport_shlib.a +0 -0
- embedded_postgres/pginstall/lib/libpgtypes.a +0 -0
- embedded_postgres/pginstall/lib/libpgtypes.dll +0 -0
- embedded_postgres/pginstall/lib/libpostgres.a +0 -0
- embedded_postgres/pginstall/lib/libpq.a +0 -0
- embedded_postgres/pginstall/lib/libpq.dll +0 -0
- embedded_postgres/pginstall/lib/libpqwalreceiver.dll +0 -0
- embedded_postgres/pginstall/lib/lo.dll +0 -0
- embedded_postgres/pginstall/lib/ltree.dll +0 -0
- embedded_postgres/pginstall/lib/moddatetime.dll +0 -0
- embedded_postgres/pginstall/lib/pageinspect.dll +0 -0
- embedded_postgres/pginstall/lib/passwordcheck.dll +0 -0
- embedded_postgres/pginstall/lib/pg_buffercache.dll +0 -0
- embedded_postgres/pginstall/lib/pg_freespacemap.dll +0 -0
- embedded_postgres/pginstall/lib/pg_logicalinspect.dll +0 -0
- embedded_postgres/pginstall/lib/pg_overexplain.dll +0 -0
- embedded_postgres/pginstall/lib/pg_prewarm.dll +0 -0
- embedded_postgres/pginstall/lib/pg_stat_statements.dll +0 -0
- embedded_postgres/pginstall/lib/pg_surgery.dll +0 -0
- embedded_postgres/pginstall/lib/pg_trgm.dll +0 -0
- embedded_postgres/pginstall/lib/pg_visibility.dll +0 -0
- embedded_postgres/pginstall/lib/pg_walinspect.dll +0 -0
- embedded_postgres/pginstall/lib/pgevent.dll +0 -0
- embedded_postgres/pginstall/lib/pgoutput.dll +0 -0
- embedded_postgres/pginstall/lib/pgrowlocks.dll +0 -0
- embedded_postgres/pginstall/lib/pgstattuple.dll +0 -0
- embedded_postgres/pginstall/lib/pgxs/config/install-sh +527 -0
- embedded_postgres/pginstall/lib/pgxs/config/missing +54 -0
- embedded_postgres/pginstall/lib/pgxs/src/Makefile.global +1139 -0
- embedded_postgres/pginstall/lib/pgxs/src/Makefile.port +83 -0
- embedded_postgres/pginstall/lib/pgxs/src/Makefile.shlib +436 -0
- embedded_postgres/pginstall/lib/pgxs/src/makefiles/pgxs.mk +476 -0
- embedded_postgres/pginstall/lib/pgxs/src/nls-global.mk +182 -0
- embedded_postgres/pginstall/lib/pgxs/src/test/isolation/isolationtester.exe +0 -0
- embedded_postgres/pginstall/lib/pgxs/src/test/isolation/pg_isolation_regress.exe +0 -0
- embedded_postgres/pginstall/lib/pgxs/src/test/regress/pg_regress.exe +0 -0
- embedded_postgres/pginstall/lib/pkgconfig/libecpg.pc +14 -0
- embedded_postgres/pginstall/lib/pkgconfig/libecpg_compat.pc +14 -0
- embedded_postgres/pginstall/lib/pkgconfig/libpgtypes.pc +14 -0
- embedded_postgres/pginstall/lib/pkgconfig/libpq.pc +14 -0
- embedded_postgres/pginstall/lib/plpgsql.dll +0 -0
- embedded_postgres/pginstall/lib/postgres_fdw.dll +0 -0
- embedded_postgres/pginstall/lib/refint.dll +0 -0
- embedded_postgres/pginstall/lib/seg.dll +0 -0
- embedded_postgres/pginstall/lib/tablefunc.dll +0 -0
- embedded_postgres/pginstall/lib/tcn.dll +0 -0
- embedded_postgres/pginstall/lib/test_decoding.dll +0 -0
- embedded_postgres/pginstall/lib/tsm_system_rows.dll +0 -0
- embedded_postgres/pginstall/lib/tsm_system_time.dll +0 -0
- embedded_postgres/pginstall/lib/unaccent.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_big5.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_cyrillic.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_euc2004.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_euc_cn.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_euc_jp.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_euc_kr.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_euc_tw.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_gb18030.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_gbk.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_iso8859.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_iso8859_1.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_johab.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_sjis.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_sjis2004.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_uhc.dll +0 -0
- embedded_postgres/pginstall/lib/utf8_and_win.dll +0 -0
- embedded_postgres/pginstall/lib/vector.dll +0 -0
- embedded_postgres/pginstall/share/doc/extension/autoinc.example +35 -0
- embedded_postgres/pginstall/share/doc/extension/insert_username.example +20 -0
- embedded_postgres/pginstall/share/doc/extension/moddatetime.example +27 -0
- embedded_postgres/pginstall/share/doc/extension/refint.example +82 -0
- embedded_postgres/pginstall/share/errcodes.txt +501 -0
- embedded_postgres/pginstall/share/extension/amcheck--1.0--1.1.sql +29 -0
- embedded_postgres/pginstall/share/extension/amcheck--1.0.sql +24 -0
- embedded_postgres/pginstall/share/extension/amcheck--1.1--1.2.sql +19 -0
- embedded_postgres/pginstall/share/extension/amcheck--1.2--1.3.sql +30 -0
- embedded_postgres/pginstall/share/extension/amcheck--1.3--1.4.sql +29 -0
- embedded_postgres/pginstall/share/extension/amcheck--1.4--1.5.sql +14 -0
- embedded_postgres/pginstall/share/extension/amcheck.control +5 -0
- embedded_postgres/pginstall/share/extension/autoinc--1.0.sql +9 -0
- embedded_postgres/pginstall/share/extension/autoinc.control +5 -0
- embedded_postgres/pginstall/share/extension/bloom--1.0.sql +25 -0
- embedded_postgres/pginstall/share/extension/bloom.control +5 -0
- embedded_postgres/pginstall/share/extension/btree_gin--1.0--1.1.sql +35 -0
- embedded_postgres/pginstall/share/extension/btree_gin--1.0.sql +689 -0
- embedded_postgres/pginstall/share/extension/btree_gin--1.1--1.2.sql +47 -0
- embedded_postgres/pginstall/share/extension/btree_gin--1.2--1.3.sql +128 -0
- embedded_postgres/pginstall/share/extension/btree_gin.control +6 -0
- embedded_postgres/pginstall/share/extension/btree_gist--1.0--1.1.sql +127 -0
- embedded_postgres/pginstall/share/extension/btree_gist--1.1--1.2.sql +79 -0
- embedded_postgres/pginstall/share/extension/btree_gist--1.2--1.3.sql +65 -0
- embedded_postgres/pginstall/share/extension/btree_gist--1.2.sql +1570 -0
- embedded_postgres/pginstall/share/extension/btree_gist--1.3--1.4.sql +64 -0
- embedded_postgres/pginstall/share/extension/btree_gist--1.4--1.5.sql +69 -0
- embedded_postgres/pginstall/share/extension/btree_gist--1.5--1.6.sql +191 -0
- embedded_postgres/pginstall/share/extension/btree_gist--1.6--1.7.sql +77 -0
- embedded_postgres/pginstall/share/extension/btree_gist--1.7--1.8.sql +284 -0
- embedded_postgres/pginstall/share/extension/btree_gist.control +6 -0
- embedded_postgres/pginstall/share/extension/citext--1.0--1.1.sql +21 -0
- embedded_postgres/pginstall/share/extension/citext--1.1--1.2.sql +68 -0
- embedded_postgres/pginstall/share/extension/citext--1.2--1.3.sql +21 -0
- embedded_postgres/pginstall/share/extension/citext--1.3--1.4.sql +12 -0
- embedded_postgres/pginstall/share/extension/citext--1.4--1.5.sql +88 -0
- embedded_postgres/pginstall/share/extension/citext--1.4.sql +501 -0
- embedded_postgres/pginstall/share/extension/citext--1.5--1.6.sql +12 -0
- embedded_postgres/pginstall/share/extension/citext--1.6--1.7.sql +45 -0
- embedded_postgres/pginstall/share/extension/citext--1.7--1.8.sql +60 -0
- embedded_postgres/pginstall/share/extension/citext.control +6 -0
- embedded_postgres/pginstall/share/extension/cube--1.0--1.1.sql +59 -0
- embedded_postgres/pginstall/share/extension/cube--1.1--1.2.sql +75 -0
- embedded_postgres/pginstall/share/extension/cube--1.2--1.3.sql +12 -0
- embedded_postgres/pginstall/share/extension/cube--1.2.sql +378 -0
- embedded_postgres/pginstall/share/extension/cube--1.3--1.4.sql +58 -0
- embedded_postgres/pginstall/share/extension/cube--1.4--1.5.sql +21 -0
- embedded_postgres/pginstall/share/extension/cube.control +6 -0
- embedded_postgres/pginstall/share/extension/dblink--1.0--1.1.sql +14 -0
- embedded_postgres/pginstall/share/extension/dblink--1.1--1.2.sql +46 -0
- embedded_postgres/pginstall/share/extension/dblink--1.2.sql +235 -0
- embedded_postgres/pginstall/share/extension/dblink.control +5 -0
- embedded_postgres/pginstall/share/extension/dict_int--1.0.sql +25 -0
- embedded_postgres/pginstall/share/extension/dict_int.control +6 -0
- embedded_postgres/pginstall/share/extension/dict_xsyn--1.0.sql +25 -0
- embedded_postgres/pginstall/share/extension/dict_xsyn.control +5 -0
- embedded_postgres/pginstall/share/extension/earthdistance--1.0--1.1.sql +14 -0
- embedded_postgres/pginstall/share/extension/earthdistance--1.1--1.2.sql +73 -0
- embedded_postgres/pginstall/share/extension/earthdistance--1.1.sql +98 -0
- embedded_postgres/pginstall/share/extension/earthdistance.control +6 -0
- embedded_postgres/pginstall/share/extension/file_fdw--1.0.sql +18 -0
- embedded_postgres/pginstall/share/extension/file_fdw.control +5 -0
- embedded_postgres/pginstall/share/extension/fuzzystrmatch--1.0--1.1.sql +15 -0
- embedded_postgres/pginstall/share/extension/fuzzystrmatch--1.1--1.2.sql +8 -0
- embedded_postgres/pginstall/share/extension/fuzzystrmatch--1.1.sql +44 -0
- embedded_postgres/pginstall/share/extension/fuzzystrmatch.control +6 -0
- embedded_postgres/pginstall/share/extension/hstore--1.1--1.2.sql +53 -0
- embedded_postgres/pginstall/share/extension/hstore--1.2--1.3.sql +17 -0
- embedded_postgres/pginstall/share/extension/hstore--1.3--1.4.sql +99 -0
- embedded_postgres/pginstall/share/extension/hstore--1.4--1.5.sql +14 -0
- embedded_postgres/pginstall/share/extension/hstore--1.4.sql +550 -0
- embedded_postgres/pginstall/share/extension/hstore--1.5--1.6.sql +12 -0
- embedded_postgres/pginstall/share/extension/hstore--1.6--1.7.sql +27 -0
- embedded_postgres/pginstall/share/extension/hstore--1.7--1.8.sql +17 -0
- embedded_postgres/pginstall/share/extension/hstore.control +6 -0
- embedded_postgres/pginstall/share/extension/insert_username--1.0.sql +9 -0
- embedded_postgres/pginstall/share/extension/insert_username.control +5 -0
- embedded_postgres/pginstall/share/extension/intagg--1.0--1.1.sql +23 -0
- embedded_postgres/pginstall/share/extension/intagg--1.1.sql +37 -0
- embedded_postgres/pginstall/share/extension/intagg.control +4 -0
- embedded_postgres/pginstall/share/extension/intarray--1.0--1.1.sql +49 -0
- embedded_postgres/pginstall/share/extension/intarray--1.1--1.2.sql +94 -0
- embedded_postgres/pginstall/share/extension/intarray--1.2--1.3.sql +20 -0
- embedded_postgres/pginstall/share/extension/intarray--1.2.sql +520 -0
- embedded_postgres/pginstall/share/extension/intarray--1.3--1.4.sql +21 -0
- embedded_postgres/pginstall/share/extension/intarray--1.4--1.5.sql +8 -0
- embedded_postgres/pginstall/share/extension/intarray.control +6 -0
- embedded_postgres/pginstall/share/extension/isn--1.0--1.1.sql +250 -0
- embedded_postgres/pginstall/share/extension/isn--1.1--1.2.sql +228 -0
- embedded_postgres/pginstall/share/extension/isn--1.1.sql +3434 -0
- embedded_postgres/pginstall/share/extension/isn--1.2--1.3.sql +7 -0
- embedded_postgres/pginstall/share/extension/isn.control +6 -0
- embedded_postgres/pginstall/share/extension/lo--1.0--1.1.sql +6 -0
- embedded_postgres/pginstall/share/extension/lo--1.1--1.2.sql +8 -0
- embedded_postgres/pginstall/share/extension/lo--1.1.sql +25 -0
- embedded_postgres/pginstall/share/extension/lo.control +6 -0
- embedded_postgres/pginstall/share/extension/ltree--1.0--1.1.sql +115 -0
- embedded_postgres/pginstall/share/extension/ltree--1.1--1.2.sql +139 -0
- embedded_postgres/pginstall/share/extension/ltree--1.1.sql +872 -0
- embedded_postgres/pginstall/share/extension/ltree--1.2--1.3.sql +23 -0
- embedded_postgres/pginstall/share/extension/ltree.control +6 -0
- embedded_postgres/pginstall/share/extension/moddatetime--1.0.sql +9 -0
- embedded_postgres/pginstall/share/extension/moddatetime.control +5 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.0--1.1.sql +18 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.1--1.2.sql +18 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.10--1.11.sql +28 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.11--1.12.sql +40 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.12--1.13.sql +74 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.2--1.3.sql +82 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.3--1.4.sql +118 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.4--1.5.sql +24 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.5--1.6.sql +99 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.5.sql +279 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.6--1.7.sql +26 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.7--1.8.sql +69 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.8--1.9.sql +137 -0
- embedded_postgres/pginstall/share/extension/pageinspect--1.9--1.10.sql +21 -0
- embedded_postgres/pginstall/share/extension/pageinspect.control +5 -0
- embedded_postgres/pginstall/share/extension/pg_buffercache--1.0--1.1.sql +11 -0
- embedded_postgres/pginstall/share/extension/pg_buffercache--1.1--1.2.sql +6 -0
- embedded_postgres/pginstall/share/extension/pg_buffercache--1.2--1.3.sql +7 -0
- embedded_postgres/pginstall/share/extension/pg_buffercache--1.2.sql +21 -0
- embedded_postgres/pginstall/share/extension/pg_buffercache--1.3--1.4.sql +28 -0
- embedded_postgres/pginstall/share/extension/pg_buffercache--1.4--1.5.sql +6 -0
- embedded_postgres/pginstall/share/extension/pg_buffercache--1.5--1.6.sql +46 -0
- embedded_postgres/pginstall/share/extension/pg_buffercache.control +5 -0
- embedded_postgres/pginstall/share/extension/pg_freespacemap--1.0--1.1.sql +7 -0
- embedded_postgres/pginstall/share/extension/pg_freespacemap--1.1--1.2.sql +7 -0
- embedded_postgres/pginstall/share/extension/pg_freespacemap--1.1.sql +25 -0
- embedded_postgres/pginstall/share/extension/pg_freespacemap--1.2--1.3.sql +13 -0
- embedded_postgres/pginstall/share/extension/pg_freespacemap.control +5 -0
- embedded_postgres/pginstall/share/extension/pg_logicalinspect--1.0.sql +43 -0
- embedded_postgres/pginstall/share/extension/pg_logicalinspect.control +5 -0
- embedded_postgres/pginstall/share/extension/pg_prewarm--1.0--1.1.sql +6 -0
- embedded_postgres/pginstall/share/extension/pg_prewarm--1.1--1.2.sql +14 -0
- embedded_postgres/pginstall/share/extension/pg_prewarm--1.1.sql +14 -0
- embedded_postgres/pginstall/share/extension/pg_prewarm.control +5 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.0--1.1.sql +42 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.1--1.2.sql +43 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.10--1.11.sql +82 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.11--1.12.sql +76 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.2--1.3.sql +47 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.3--1.4.sql +7 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.4--1.5.sql +6 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.4.sql +48 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.5--1.6.sql +7 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.6--1.7.sql +22 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.7--1.8.sql +56 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.8--1.9.sql +71 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements--1.9--1.10.sql +67 -0
- embedded_postgres/pginstall/share/extension/pg_stat_statements.control +5 -0
- embedded_postgres/pginstall/share/extension/pg_surgery--1.0.sql +18 -0
- embedded_postgres/pginstall/share/extension/pg_surgery.control +5 -0
- embedded_postgres/pginstall/share/extension/pg_trgm--1.0--1.1.sql +12 -0
- embedded_postgres/pginstall/share/extension/pg_trgm--1.1--1.2.sql +74 -0
- embedded_postgres/pginstall/share/extension/pg_trgm--1.2--1.3.sql +65 -0
- embedded_postgres/pginstall/share/extension/pg_trgm--1.3--1.4.sql +68 -0
- embedded_postgres/pginstall/share/extension/pg_trgm--1.3.sql +254 -0
- embedded_postgres/pginstall/share/extension/pg_trgm--1.4--1.5.sql +23 -0
- embedded_postgres/pginstall/share/extension/pg_trgm--1.5--1.6.sql +10 -0
- embedded_postgres/pginstall/share/extension/pg_trgm.control +6 -0
- embedded_postgres/pginstall/share/extension/pg_visibility--1.0--1.1.sql +24 -0
- embedded_postgres/pginstall/share/extension/pg_visibility--1.1--1.2.sql +13 -0
- embedded_postgres/pginstall/share/extension/pg_visibility--1.1.sql +75 -0
- embedded_postgres/pginstall/share/extension/pg_visibility.control +5 -0
- embedded_postgres/pginstall/share/extension/pg_walinspect--1.0--1.1.sql +42 -0
- embedded_postgres/pginstall/share/extension/pg_walinspect--1.0.sql +118 -0
- embedded_postgres/pginstall/share/extension/pg_walinspect.control +5 -0
- embedded_postgres/pginstall/share/extension/pgrowlocks--1.0--1.1.sql +17 -0
- embedded_postgres/pginstall/share/extension/pgrowlocks--1.1--1.2.sql +6 -0
- embedded_postgres/pginstall/share/extension/pgrowlocks--1.2.sql +15 -0
- embedded_postgres/pginstall/share/extension/pgrowlocks.control +5 -0
- embedded_postgres/pginstall/share/extension/pgstattuple--1.0--1.1.sql +11 -0
- embedded_postgres/pginstall/share/extension/pgstattuple--1.1--1.2.sql +39 -0
- embedded_postgres/pginstall/share/extension/pgstattuple--1.2--1.3.sql +18 -0
- embedded_postgres/pginstall/share/extension/pgstattuple--1.3--1.4.sql +13 -0
- embedded_postgres/pginstall/share/extension/pgstattuple--1.4--1.5.sql +136 -0
- embedded_postgres/pginstall/share/extension/pgstattuple--1.4.sql +95 -0
- embedded_postgres/pginstall/share/extension/pgstattuple.control +5 -0
- embedded_postgres/pginstall/share/extension/plpgsql--1.0.sql +20 -0
- embedded_postgres/pginstall/share/extension/plpgsql.control +8 -0
- embedded_postgres/pginstall/share/extension/postgres_fdw--1.0--1.1.sql +20 -0
- embedded_postgres/pginstall/share/extension/postgres_fdw--1.0.sql +18 -0
- embedded_postgres/pginstall/share/extension/postgres_fdw--1.1--1.2.sql +18 -0
- embedded_postgres/pginstall/share/extension/postgres_fdw.control +5 -0
- embedded_postgres/pginstall/share/extension/refint--1.0.sql +14 -0
- embedded_postgres/pginstall/share/extension/refint.control +5 -0
- embedded_postgres/pginstall/share/extension/seg--1.0--1.1.sql +63 -0
- embedded_postgres/pginstall/share/extension/seg--1.1--1.2.sql +14 -0
- embedded_postgres/pginstall/share/extension/seg--1.1.sql +395 -0
- embedded_postgres/pginstall/share/extension/seg--1.2--1.3.sql +58 -0
- embedded_postgres/pginstall/share/extension/seg--1.3--1.4.sql +8 -0
- embedded_postgres/pginstall/share/extension/seg.control +6 -0
- embedded_postgres/pginstall/share/extension/tablefunc--1.0.sql +88 -0
- embedded_postgres/pginstall/share/extension/tablefunc.control +6 -0
- embedded_postgres/pginstall/share/extension/tcn--1.0.sql +9 -0
- embedded_postgres/pginstall/share/extension/tcn.control +6 -0
- embedded_postgres/pginstall/share/extension/tsm_system_rows--1.0.sql +9 -0
- embedded_postgres/pginstall/share/extension/tsm_system_rows.control +6 -0
- embedded_postgres/pginstall/share/extension/tsm_system_time--1.0.sql +9 -0
- embedded_postgres/pginstall/share/extension/tsm_system_time.control +6 -0
- embedded_postgres/pginstall/share/extension/unaccent--1.0--1.1.sql +9 -0
- embedded_postgres/pginstall/share/extension/unaccent--1.1.sql +34 -0
- embedded_postgres/pginstall/share/extension/unaccent.control +6 -0
- embedded_postgres/pginstall/share/extension/vector--0.1.0--0.1.1.sql +39 -0
- embedded_postgres/pginstall/share/extension/vector--0.1.1--0.1.3.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.1.3--0.1.4.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.1.4--0.1.5.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.1.5--0.1.6.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.1.6--0.1.7.sql +8 -0
- embedded_postgres/pginstall/share/extension/vector--0.1.7--0.1.8.sql +8 -0
- embedded_postgres/pginstall/share/extension/vector--0.1.8--0.2.0.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.2.0--0.2.1.sql +19 -0
- embedded_postgres/pginstall/share/extension/vector--0.2.1--0.2.2.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.2.2--0.2.3.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.2.3--0.2.4.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.2.4--0.2.5.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.2.5--0.2.6.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.2.6--0.2.7.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.2.7--0.3.0.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.3.0--0.3.1.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.3.1--0.3.2.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.3.2--0.4.0.sql +23 -0
- embedded_postgres/pginstall/share/extension/vector--0.4.0--0.4.1.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.4.1--0.4.2.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.4.2--0.4.3.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.4.3--0.4.4.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.4.4--0.5.0.sql +43 -0
- embedded_postgres/pginstall/share/extension/vector--0.5.0--0.5.1.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.5.1--0.6.0.sql +5 -0
- embedded_postgres/pginstall/share/extension/vector--0.6.0--0.6.1.sql +16 -0
- embedded_postgres/pginstall/share/extension/vector--0.6.1--0.6.2.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.6.2--0.7.0.sql +569 -0
- embedded_postgres/pginstall/share/extension/vector--0.7.0--0.7.1.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.7.1--0.7.2.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.7.2--0.7.3.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.7.3--0.7.4.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.7.4--0.8.0.sql +26 -0
- embedded_postgres/pginstall/share/extension/vector--0.8.0--0.8.1.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.8.1--0.8.2.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.8.2--0.8.3.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.8.3--0.8.4.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.8.4--0.8.5.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.8.5--0.8.6.sql +2 -0
- embedded_postgres/pginstall/share/extension/vector--0.8.6.sql +918 -0
- embedded_postgres/pginstall/share/extension/vector.control +4 -0
- embedded_postgres/pginstall/share/information_schema.sql +3011 -0
- embedded_postgres/pginstall/share/pg_hba.conf.sample +122 -0
- embedded_postgres/pginstall/share/pg_ident.conf.sample +72 -0
- embedded_postgres/pginstall/share/pg_service.conf.sample +17 -0
- embedded_postgres/pginstall/share/postgres.bki +11870 -0
- embedded_postgres/pginstall/share/postgresql.conf.sample +889 -0
- embedded_postgres/pginstall/share/psqlrc.sample +8 -0
- embedded_postgres/pginstall/share/snowball_create.sql +1253 -0
- embedded_postgres/pginstall/share/sql_features.txt +755 -0
- embedded_postgres/pginstall/share/system_constraints.sql +220 -0
- embedded_postgres/pginstall/share/system_functions.sql +808 -0
- embedded_postgres/pginstall/share/system_views.sql +1409 -0
- embedded_postgres/pginstall/share/timezonesets/Africa.txt +176 -0
- embedded_postgres/pginstall/share/timezonesets/America.txt +257 -0
- embedded_postgres/pginstall/share/timezonesets/Antarctica.txt +27 -0
- embedded_postgres/pginstall/share/timezonesets/Asia.txt +190 -0
- embedded_postgres/pginstall/share/timezonesets/Atlantic.txt +85 -0
- embedded_postgres/pginstall/share/timezonesets/Australia +27 -0
- embedded_postgres/pginstall/share/timezonesets/Australia.txt +71 -0
- embedded_postgres/pginstall/share/timezonesets/Default +629 -0
- embedded_postgres/pginstall/share/timezonesets/Etc.txt +34 -0
- embedded_postgres/pginstall/share/timezonesets/Europe.txt +217 -0
- embedded_postgres/pginstall/share/timezonesets/India +19 -0
- embedded_postgres/pginstall/share/timezonesets/Indian.txt +30 -0
- embedded_postgres/pginstall/share/timezonesets/Pacific.txt +84 -0
- embedded_postgres/pginstall/share/tsearch_data/danish.stop +94 -0
- embedded_postgres/pginstall/share/tsearch_data/dutch.stop +101 -0
- embedded_postgres/pginstall/share/tsearch_data/english.stop +127 -0
- embedded_postgres/pginstall/share/tsearch_data/finnish.stop +235 -0
- embedded_postgres/pginstall/share/tsearch_data/french.stop +155 -0
- embedded_postgres/pginstall/share/tsearch_data/german.stop +231 -0
- embedded_postgres/pginstall/share/tsearch_data/hungarian.stop +199 -0
- embedded_postgres/pginstall/share/tsearch_data/hunspell_sample.affix +23 -0
- embedded_postgres/pginstall/share/tsearch_data/hunspell_sample_long.affix +53 -0
- embedded_postgres/pginstall/share/tsearch_data/hunspell_sample_long.dict +11 -0
- embedded_postgres/pginstall/share/tsearch_data/hunspell_sample_num.affix +33 -0
- embedded_postgres/pginstall/share/tsearch_data/hunspell_sample_num.dict +9 -0
- embedded_postgres/pginstall/share/tsearch_data/ispell_sample.affix +26 -0
- embedded_postgres/pginstall/share/tsearch_data/ispell_sample.dict +8 -0
- embedded_postgres/pginstall/share/tsearch_data/italian.stop +279 -0
- embedded_postgres/pginstall/share/tsearch_data/nepali.stop +304 -0
- embedded_postgres/pginstall/share/tsearch_data/norwegian.stop +176 -0
- embedded_postgres/pginstall/share/tsearch_data/portuguese.stop +203 -0
- embedded_postgres/pginstall/share/tsearch_data/russian.stop +151 -0
- embedded_postgres/pginstall/share/tsearch_data/spanish.stop +313 -0
- embedded_postgres/pginstall/share/tsearch_data/swedish.stop +114 -0
- embedded_postgres/pginstall/share/tsearch_data/synonym_sample.syn +5 -0
- embedded_postgres/pginstall/share/tsearch_data/thesaurus_sample.ths +17 -0
- embedded_postgres/pginstall/share/tsearch_data/turkish.stop +53 -0
- embedded_postgres/pginstall/share/tsearch_data/unaccent.rules +2661 -0
- embedded_postgres/pginstall/share/tsearch_data/xsyn_sample.rules +6 -0
- embedded_postgres/postgres_server.py +291 -0
- embedded_postgres/py.typed +0 -0
- embedded_postgres/utils.py +278 -0
- embedded_postgres-18.6.0.dist-info/METADATA +106 -0
- embedded_postgres-18.6.0.dist-info/RECORD +1378 -0
- embedded_postgres-18.6.0.dist-info/WHEEL +5 -0
- embedded_postgres-18.6.0.dist-info/licenses/LICENSE +201 -0
- embedded_postgres-18.6.0.dist-info/licenses/NOTICE +10 -0
- embedded_postgres-18.6.0.dist-info/licenses/THIRD_PARTY_NOTICES.md +53 -0
- embedded_postgres-18.6.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
from typing import Optional, Dict, Union
|
|
3
|
+
import shutil
|
|
4
|
+
import atexit
|
|
5
|
+
import subprocess
|
|
6
|
+
import os
|
|
7
|
+
import logging
|
|
8
|
+
import platform
|
|
9
|
+
import psutil
|
|
10
|
+
import time
|
|
11
|
+
|
|
12
|
+
from ._commands import POSTGRES_BIN_PATH, initdb, pg_ctl
|
|
13
|
+
from .utils import find_suitable_port, find_suitable_socket_dir, DiskList, PostmasterInfo, process_is_running
|
|
14
|
+
|
|
15
|
+
if platform.system() != 'Windows':
|
|
16
|
+
from .utils import ensure_user_exists, ensure_prefix_permissions, ensure_folder_permissions
|
|
17
|
+
|
|
18
|
+
_logger = logging.getLogger('embedded_postgres')
|
|
19
|
+
|
|
20
|
+
class PostgresServer:
|
|
21
|
+
""" Provides a common interface for interacting with a server.
|
|
22
|
+
"""
|
|
23
|
+
import platformdirs
|
|
24
|
+
import fasteners
|
|
25
|
+
|
|
26
|
+
_instances : Dict[Path, 'PostgresServer'] = {}
|
|
27
|
+
|
|
28
|
+
# NB home does not always support locking, eg NFS or LUSTRE (eg some clusters)
|
|
29
|
+
# so, use user_runtime_path instead, which seems to be in a local filesystem
|
|
30
|
+
runtime_path : Path = platformdirs.user_runtime_path('python_PostgresServer')
|
|
31
|
+
lock_path = platformdirs.user_runtime_path('python_PostgresServer') / '.lockfile'
|
|
32
|
+
_lock = fasteners.InterProcessLock(lock_path)
|
|
33
|
+
|
|
34
|
+
def __init__(self, pgdata : Path, *, cleanup_mode : Optional[str] = 'stop'):
|
|
35
|
+
""" Initializes the postgresql server instance.
|
|
36
|
+
Constructor is intended to be called directly, use get_server() instead.
|
|
37
|
+
"""
|
|
38
|
+
assert cleanup_mode in [None, 'stop', 'delete']
|
|
39
|
+
|
|
40
|
+
self.pgdata = pgdata
|
|
41
|
+
self.log = self.pgdata / 'log'
|
|
42
|
+
|
|
43
|
+
# postgres user name, NB not the same as system user name
|
|
44
|
+
self.system_user = None
|
|
45
|
+
|
|
46
|
+
# note os.geteuid() is not available on windows, so must go after
|
|
47
|
+
if platform.system() != 'Windows' and os.geteuid() == 0:
|
|
48
|
+
# running as root
|
|
49
|
+
# need a different system user to run as
|
|
50
|
+
self.system_user = 'embedded_postgres'
|
|
51
|
+
ensure_user_exists(self.system_user)
|
|
52
|
+
|
|
53
|
+
self.postgres_user = "postgres"
|
|
54
|
+
list_path = self.pgdata / '.handle_pids.json'
|
|
55
|
+
self.global_process_id_list = DiskList(list_path)
|
|
56
|
+
self.cleanup_mode = cleanup_mode
|
|
57
|
+
self._postmaster_info : Optional[PostmasterInfo] = None
|
|
58
|
+
self._count = 0
|
|
59
|
+
|
|
60
|
+
atexit.register(self._cleanup)
|
|
61
|
+
with self._lock:
|
|
62
|
+
self._instances[self.pgdata] = self
|
|
63
|
+
self.ensure_pgdata_inited()
|
|
64
|
+
self.ensure_postgres_running()
|
|
65
|
+
self.global_process_id_list.get_and_add(os.getpid())
|
|
66
|
+
|
|
67
|
+
def get_postmaster_info(self) -> PostmasterInfo:
|
|
68
|
+
assert self._postmaster_info is not None
|
|
69
|
+
return self._postmaster_info
|
|
70
|
+
|
|
71
|
+
def get_pid(self) -> Optional[int]:
|
|
72
|
+
""" Returns the pid of the postgresql server process.
|
|
73
|
+
(First line of postmaster.pid file).
|
|
74
|
+
If the server is not running, returns None.
|
|
75
|
+
"""
|
|
76
|
+
return self.get_postmaster_info().pid
|
|
77
|
+
|
|
78
|
+
def get_uri(self, database : Optional[str] = None) -> str:
|
|
79
|
+
""" Returns a connection string for the postgresql server.
|
|
80
|
+
"""
|
|
81
|
+
return self.get_postmaster_info().get_uri(database=database)
|
|
82
|
+
|
|
83
|
+
def ensure_pgdata_inited(self) -> None:
|
|
84
|
+
""" Initializes the pgdata directory if it is not already initialized.
|
|
85
|
+
"""
|
|
86
|
+
if platform.system() != 'Windows' and os.geteuid() == 0:
|
|
87
|
+
import pwd
|
|
88
|
+
import stat
|
|
89
|
+
assert self.system_user is not None
|
|
90
|
+
ensure_prefix_permissions(self.pgdata)
|
|
91
|
+
ensure_prefix_permissions(POSTGRES_BIN_PATH)
|
|
92
|
+
|
|
93
|
+
read_perm = stat.S_IRGRP | stat.S_IROTH
|
|
94
|
+
execute_perm = stat.S_IXGRP | stat.S_IXOTH
|
|
95
|
+
# for envs like cibuildwheel docker, where the user is has no permission otherwise
|
|
96
|
+
ensure_folder_permissions(POSTGRES_BIN_PATH, execute_perm | read_perm)
|
|
97
|
+
ensure_folder_permissions(POSTGRES_BIN_PATH.parent / 'lib', read_perm)
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
os.chown(self.pgdata, pwd.getpwnam(self.system_user).pw_uid,
|
|
101
|
+
pwd.getpwnam(self.system_user).pw_gid)
|
|
102
|
+
|
|
103
|
+
if not (self.pgdata / 'PG_VERSION').exists(): # making a new PGDATA
|
|
104
|
+
# First ensure there are no left-over servers on a previous version of the same pgdata path,
|
|
105
|
+
# which does happen on Mac/Linux if the previous pgdata was deleted without stopping the server process
|
|
106
|
+
# (the old server continues running for some time, sometimes indefinitely)
|
|
107
|
+
#
|
|
108
|
+
# It is likely the old server could also corrupt the data beyond the socket file, so it is best to kill it.
|
|
109
|
+
# This must be done before initdb to ensure no race conditions with the old server.
|
|
110
|
+
#
|
|
111
|
+
# Since we do not know PID information of the old server, we stop all servers with the same pgdata path.
|
|
112
|
+
# way to test this: python -c 'import pixeltable as pxt; pxt.Client()'; rm -rf ~/.pixeltable/; python -c 'import pixeltable as pxt; pxt.Client()'
|
|
113
|
+
_logger.info(f'no PG_VERSION file found within {self.pgdata}. Initializing pgdata')
|
|
114
|
+
for proc in psutil.process_iter(attrs=['name', 'cmdline']):
|
|
115
|
+
if proc.info['name'] == 'postgres':
|
|
116
|
+
if proc.info['cmdline'] is not None and str(self.pgdata) in proc.info['cmdline']:
|
|
117
|
+
_logger.info(f"Found a running postgres server with same pgdata: {proc.as_dict(attrs=['name', 'pid', 'cmdline'])=}.\
|
|
118
|
+
Assuming it is a leftover from a previous run on a different version of the same pgdata path, killing it.")
|
|
119
|
+
proc.terminate()
|
|
120
|
+
try:
|
|
121
|
+
proc.wait(2) # wait at most a second
|
|
122
|
+
except psutil.TimeoutExpired:
|
|
123
|
+
pass
|
|
124
|
+
if proc.is_running():
|
|
125
|
+
proc.kill()
|
|
126
|
+
assert not proc.is_running()
|
|
127
|
+
|
|
128
|
+
initdb(['--auth=trust', '--auth-local=trust', '--encoding=utf8', '-U', self.postgres_user], pgdata=self.pgdata,
|
|
129
|
+
user=self.system_user)
|
|
130
|
+
else:
|
|
131
|
+
_logger.info('PG_VERSION file found, skipping initdb')
|
|
132
|
+
|
|
133
|
+
def ensure_postgres_running(self) -> None:
|
|
134
|
+
""" pre condition: pgdata is initialized, being run with lock.
|
|
135
|
+
post condition: self._postmaster_info is set.
|
|
136
|
+
"""
|
|
137
|
+
|
|
138
|
+
postmaster_info = PostmasterInfo.read_from_pgdata(self.pgdata)
|
|
139
|
+
if postmaster_info is not None and postmaster_info.is_running():
|
|
140
|
+
_logger.info(f"a postgres server is already running: {postmaster_info=} {postmaster_info.process=}")
|
|
141
|
+
self._postmaster_info = postmaster_info
|
|
142
|
+
else:
|
|
143
|
+
if postmaster_info is not None and not postmaster_info.is_running():
|
|
144
|
+
_logger.info(f"found a postmaster.pid file, but the server is not running: {postmaster_info=}")
|
|
145
|
+
if postmaster_info is None:
|
|
146
|
+
_logger.info(f"no postmaster.pid file found in {self.pgdata}")
|
|
147
|
+
|
|
148
|
+
if platform.system() != 'Windows':
|
|
149
|
+
# use sockets to avoid any future conflict with port numbers
|
|
150
|
+
socket_dir = find_suitable_socket_dir(self.pgdata, self.runtime_path)
|
|
151
|
+
|
|
152
|
+
if self.system_user is not None and socket_dir != self.pgdata:
|
|
153
|
+
ensure_prefix_permissions(socket_dir)
|
|
154
|
+
socket_dir.chmod(0o777)
|
|
155
|
+
|
|
156
|
+
pg_ctl_args = ['-w', # wait for server to start
|
|
157
|
+
'-o', '-h ""', # no listening on any IP addresses (forwarded to postgres exec) see man postgres for -hj
|
|
158
|
+
'-o', f'-k {socket_dir}', # socket option (forwarded to postgres exec) see man postgres for -k
|
|
159
|
+
'-l', str(self.log), # log location: set to pgdata dir also
|
|
160
|
+
'start' # action
|
|
161
|
+
]
|
|
162
|
+
else: # Windows,
|
|
163
|
+
socket_dir = None
|
|
164
|
+
# socket.AF_UNIX is undefined when running on Windows, so default to a port
|
|
165
|
+
host = "127.0.0.1"
|
|
166
|
+
port = find_suitable_port(host)
|
|
167
|
+
pg_ctl_args = ['-w', # wait for server to start
|
|
168
|
+
'-o', f'-h "{host}"',
|
|
169
|
+
'-o', f'-p {port}',
|
|
170
|
+
'-l', str(self.log), # log location: set to pgdata dir also
|
|
171
|
+
'start' # action
|
|
172
|
+
]
|
|
173
|
+
|
|
174
|
+
try:
|
|
175
|
+
_logger.info(f"running pg_ctl... {pg_ctl_args=}")
|
|
176
|
+
pg_ctl(pg_ctl_args,pgdata=self.pgdata, user=self.system_user, timeout=10)
|
|
177
|
+
except subprocess.CalledProcessError as err:
|
|
178
|
+
_logger.error(f"Failed to start server.\nShowing contents of postgres server log ({self.log.absolute()}) below:\n{self.log.read_text()}")
|
|
179
|
+
raise err
|
|
180
|
+
except subprocess.TimeoutExpired as err:
|
|
181
|
+
_logger.error(f"Timeout starting server.\nShowing contents of postgres server log ({self.log.absolute()}) below:\n{self.log.read_text()}")
|
|
182
|
+
raise err
|
|
183
|
+
|
|
184
|
+
while True:
|
|
185
|
+
# in Windows, when there is a postmaster.pid, init_ctl seems to return
|
|
186
|
+
# but the file is not immediately updated, here we wait until the file shows
|
|
187
|
+
# a new running server. see test_stale_postmaster
|
|
188
|
+
_logger.info(f'waiting for postmaster info to show a running process')
|
|
189
|
+
pinfo = PostmasterInfo.read_from_pgdata(self.pgdata)
|
|
190
|
+
_logger.info(f'running... checking if ready {pinfo=}')
|
|
191
|
+
if pinfo is not None and pinfo.is_running() and pinfo.status == 'ready':
|
|
192
|
+
self._postmaster_info = pinfo
|
|
193
|
+
break
|
|
194
|
+
|
|
195
|
+
_logger.info(f'not ready yet... waiting a bit more...')
|
|
196
|
+
time.sleep(1.)
|
|
197
|
+
|
|
198
|
+
_logger.info(f"Now asserting server is running {self._postmaster_info=}")
|
|
199
|
+
assert self._postmaster_info is not None
|
|
200
|
+
assert self._postmaster_info.is_running()
|
|
201
|
+
assert self._postmaster_info.status == 'ready'
|
|
202
|
+
|
|
203
|
+
def _cleanup(self) -> None:
|
|
204
|
+
with self._lock:
|
|
205
|
+
pids = self.global_process_id_list.get_and_remove(os.getpid())
|
|
206
|
+
_logger.info(f"exiting {os.getpid()} remaining {pids=}")
|
|
207
|
+
if pids != [os.getpid()]: # includes case where already cleaned up
|
|
208
|
+
return
|
|
209
|
+
|
|
210
|
+
_logger.info(f"cleaning last handle for server: {self.pgdata}")
|
|
211
|
+
# last handle is being removed
|
|
212
|
+
del self._instances[self.pgdata]
|
|
213
|
+
if self.cleanup_mode is None: # done
|
|
214
|
+
return
|
|
215
|
+
|
|
216
|
+
assert self.cleanup_mode in ['stop', 'delete']
|
|
217
|
+
if self._postmaster_info is not None:
|
|
218
|
+
if self._postmaster_info.process.is_running():
|
|
219
|
+
try:
|
|
220
|
+
pg_ctl(['-w', 'stop'], pgdata=self.pgdata, user=self.system_user)
|
|
221
|
+
stopped = True
|
|
222
|
+
except subprocess.CalledProcessError:
|
|
223
|
+
stopped = False
|
|
224
|
+
pass # somehow the server is already stopped.
|
|
225
|
+
|
|
226
|
+
if not stopped:
|
|
227
|
+
_logger.warning(f"Failed to stop server, killing it instead.")
|
|
228
|
+
self._postmaster_info.process.terminate()
|
|
229
|
+
try:
|
|
230
|
+
self._postmaster_info.process.wait(2)
|
|
231
|
+
except psutil.TimeoutExpired:
|
|
232
|
+
pass
|
|
233
|
+
if self._postmaster_info.process.is_running():
|
|
234
|
+
self._postmaster_info.process.kill()
|
|
235
|
+
|
|
236
|
+
if self.cleanup_mode == 'stop':
|
|
237
|
+
return
|
|
238
|
+
|
|
239
|
+
assert self.cleanup_mode == 'delete'
|
|
240
|
+
shutil.rmtree(str(self.pgdata))
|
|
241
|
+
atexit.unregister(self._cleanup)
|
|
242
|
+
|
|
243
|
+
def psql(self, command : str) -> str:
|
|
244
|
+
""" Runs a psql command on this server. The command is passed to psql via stdin.
|
|
245
|
+
"""
|
|
246
|
+
executable = POSTGRES_BIN_PATH / 'psql'
|
|
247
|
+
stdout = subprocess.check_output(f'{executable} {self.get_uri()}',
|
|
248
|
+
input=command.encode(), shell=True)
|
|
249
|
+
return stdout.decode("utf-8")
|
|
250
|
+
|
|
251
|
+
def __enter__(self):
|
|
252
|
+
self._count += 1
|
|
253
|
+
return self
|
|
254
|
+
|
|
255
|
+
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
256
|
+
self._count -= 1
|
|
257
|
+
if self._count <= 0:
|
|
258
|
+
self._cleanup()
|
|
259
|
+
|
|
260
|
+
def cleanup(self) -> None:
|
|
261
|
+
""" Stops the postgresql server and removes the pgdata directory.
|
|
262
|
+
"""
|
|
263
|
+
self._cleanup()
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
def get_server(pgdata : Union[Path,str] , cleanup_mode : Optional[str] = 'stop' ) -> PostgresServer:
|
|
267
|
+
""" Returns handle to postgresql server instance for the given pgdata directory.
|
|
268
|
+
Args:
|
|
269
|
+
pgdata: pddata directory. If the pgdata directory does not exist, it will be created, but its
|
|
270
|
+
parent must exists and be a valid directory.
|
|
271
|
+
cleanup_mode: If 'stop', the server will be stopped when the last handle is closed (default)
|
|
272
|
+
If 'delete', the server will be stopped and the pgdata directory will be deleted.
|
|
273
|
+
If None, the server will not be stopped or deleted.
|
|
274
|
+
|
|
275
|
+
To create a temporary server, use mkdtemp() to create a temporary directory and pass it as pg_data,
|
|
276
|
+
and set cleanup_mode to 'delete'.
|
|
277
|
+
"""
|
|
278
|
+
if isinstance(pgdata, str):
|
|
279
|
+
pgdata = Path(pgdata)
|
|
280
|
+
pgdata = pgdata.expanduser().resolve()
|
|
281
|
+
|
|
282
|
+
if not pgdata.parent.exists():
|
|
283
|
+
raise FileNotFoundError(f"Parent directory of pgdata does not exist: {pgdata.parent}")
|
|
284
|
+
|
|
285
|
+
if not pgdata.exists():
|
|
286
|
+
pgdata.mkdir(parents=False, exist_ok=False)
|
|
287
|
+
|
|
288
|
+
if pgdata in PostgresServer._instances:
|
|
289
|
+
return PostgresServer._instances[pgdata]
|
|
290
|
+
|
|
291
|
+
return PostgresServer(pgdata, cleanup_mode=cleanup_mode)
|
|
File without changes
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
import typing
|
|
3
|
+
from typing import Optional, List, Dict
|
|
4
|
+
import subprocess
|
|
5
|
+
import json
|
|
6
|
+
import logging
|
|
7
|
+
import hashlib
|
|
8
|
+
import socket
|
|
9
|
+
import platform
|
|
10
|
+
import stat
|
|
11
|
+
import psutil
|
|
12
|
+
import datetime
|
|
13
|
+
import shutil
|
|
14
|
+
|
|
15
|
+
_logger = logging.getLogger('embedded_postgres')
|
|
16
|
+
|
|
17
|
+
class PostmasterInfo:
|
|
18
|
+
"""Struct with contents of the PGDATA/postmaster.pid file, contains information about the running server.
|
|
19
|
+
Example of file contents: (comments added for clarity)
|
|
20
|
+
cat /Users/orm/Library/Application Support/Postgres/var-15/postmaster.pid
|
|
21
|
+
```
|
|
22
|
+
3072 # pid
|
|
23
|
+
/Users/orm/Library/Application Support/Postgres/var-15 # pgdata
|
|
24
|
+
1712346200 # start_time
|
|
25
|
+
5432 # port
|
|
26
|
+
/tmp # socker_dir, where .s.PGSQL.5432 is located
|
|
27
|
+
localhost # listening on this hostname
|
|
28
|
+
8826964 65536 # shared mem size?, shmget id (can deallocate with sysv_ipc.remove_shared_memory(shmget_id))
|
|
29
|
+
ready # server status
|
|
30
|
+
```
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
def __init__(self, lines : List[str]):
|
|
34
|
+
_lines = ['pid', 'pgdata', 'start_time', 'port', 'socket_dir', 'hostname', 'shared_memory_info', 'status']
|
|
35
|
+
assert len(lines) == len(_lines), f"_lines: {_lines=} lines: {lines=}"
|
|
36
|
+
clean_lines = [ line.strip() for line in lines ]
|
|
37
|
+
|
|
38
|
+
raw : Dict[str,str] = dict(zip(_lines, clean_lines))
|
|
39
|
+
|
|
40
|
+
self.pid = int(raw['pid'])
|
|
41
|
+
self.pgdata = Path(raw['pgdata'])
|
|
42
|
+
self.start_time = datetime.datetime.fromtimestamp(int(raw['start_time']))
|
|
43
|
+
|
|
44
|
+
if raw['socket_dir']:
|
|
45
|
+
self.socket_dir = Path(raw['socket_dir'])
|
|
46
|
+
else:
|
|
47
|
+
self.socket_dir = None
|
|
48
|
+
|
|
49
|
+
if raw['hostname']:
|
|
50
|
+
self.hostname = raw['hostname']
|
|
51
|
+
else:
|
|
52
|
+
self.hostname = None
|
|
53
|
+
|
|
54
|
+
if raw['port']:
|
|
55
|
+
self.port = int(raw['port'])
|
|
56
|
+
else:
|
|
57
|
+
self.port = None
|
|
58
|
+
|
|
59
|
+
# not sure what this is in windows
|
|
60
|
+
self.shmem_info = raw['shared_memory_info']
|
|
61
|
+
self.status = raw['status']
|
|
62
|
+
|
|
63
|
+
self.process = None # will be not None if process is running
|
|
64
|
+
self._init_process_meta()
|
|
65
|
+
|
|
66
|
+
def _init_process_meta(self) -> Optional[psutil.Process]:
|
|
67
|
+
if self.pid is None:
|
|
68
|
+
return
|
|
69
|
+
try:
|
|
70
|
+
process = psutil.Process(self.pid)
|
|
71
|
+
except psutil.NoSuchProcess:
|
|
72
|
+
return
|
|
73
|
+
|
|
74
|
+
self.process = process
|
|
75
|
+
# exact_create_time = datetime.datetime.fromtimestamp(process.create_time())
|
|
76
|
+
# if abs(self.start_time - exact_create_time) <= datetime.timedelta(seconds=1):
|
|
77
|
+
|
|
78
|
+
def is_running(self) -> bool:
|
|
79
|
+
return self.process is not None and self.process.is_running()
|
|
80
|
+
|
|
81
|
+
@classmethod
|
|
82
|
+
def read_from_pgdata(cls, pgdata : Path) -> Optional['PostmasterInfo']:
|
|
83
|
+
postmaster_file = pgdata / 'postmaster.pid'
|
|
84
|
+
if not postmaster_file.exists():
|
|
85
|
+
return None
|
|
86
|
+
|
|
87
|
+
lines = postmaster_file.read_text().splitlines()
|
|
88
|
+
return cls(lines)
|
|
89
|
+
|
|
90
|
+
def get_uri(self, user : str = 'postgres', database : Optional[str] = None) -> str:
|
|
91
|
+
""" Returns a connection uri string for the postgresql server using the information in postmaster.pid"""
|
|
92
|
+
if database is None:
|
|
93
|
+
database = user
|
|
94
|
+
|
|
95
|
+
if self.socket_dir is not None:
|
|
96
|
+
return f"postgresql://{user}:@/{database}?host={self.socket_dir}"
|
|
97
|
+
elif self.port is not None:
|
|
98
|
+
assert self.hostname is not None
|
|
99
|
+
return f"postgresql://{user}:@{self.hostname}:{self.port}/{database}"
|
|
100
|
+
else:
|
|
101
|
+
raise RuntimeError("postmaster.pid does not contain port or socket information")
|
|
102
|
+
|
|
103
|
+
@property
|
|
104
|
+
def shmget_id(self) -> Optional[int]:
|
|
105
|
+
if platform.system() == 'Windows':
|
|
106
|
+
return None
|
|
107
|
+
|
|
108
|
+
if not self.shmem_info:
|
|
109
|
+
return None
|
|
110
|
+
raw_id = self.shmem_info.split()[-1]
|
|
111
|
+
return int(raw_id)
|
|
112
|
+
|
|
113
|
+
@property
|
|
114
|
+
def socket_path(self) -> Optional[Path]:
|
|
115
|
+
if self.socket_dir is not None:
|
|
116
|
+
# TODO: is the port always 5432 for the socket? or does it depend on the port in postmaster.pid?
|
|
117
|
+
return self.socket_dir / f'.s.PGSQL.{self.port}'
|
|
118
|
+
return None
|
|
119
|
+
|
|
120
|
+
def __repr__(self) -> str:
|
|
121
|
+
return f"PostmasterInfo(pid={self.pid}, pgdata={self.pgdata}, start_time={self.start_time}, hostname={self.hostname} port={self.port}, socket_dir={self.socket_dir} status={self.status}, process={self.process})"
|
|
122
|
+
|
|
123
|
+
def __str__(self) -> str:
|
|
124
|
+
return self.__repr__()
|
|
125
|
+
|
|
126
|
+
def process_is_running(pid : int) -> bool:
|
|
127
|
+
assert pid is not None
|
|
128
|
+
return psutil.pid_exists(pid)
|
|
129
|
+
|
|
130
|
+
if platform.system() != 'Windows':
|
|
131
|
+
def ensure_user_exists(username : str) -> Optional['pwd.struct_passwd']:
|
|
132
|
+
""" Ensure system user `username` exists.
|
|
133
|
+
Returns their pwentry if user exists, otherwise it creates a user through `useradd`.
|
|
134
|
+
Assume permissions to add users, eg run as root.
|
|
135
|
+
"""
|
|
136
|
+
import pwd
|
|
137
|
+
|
|
138
|
+
try:
|
|
139
|
+
entry = pwd.getpwnam(username)
|
|
140
|
+
except KeyError:
|
|
141
|
+
entry = None
|
|
142
|
+
|
|
143
|
+
if entry is None:
|
|
144
|
+
subprocess.run(["useradd", "-s", "/bin/bash", username], check=True, capture_output=True, text=True)
|
|
145
|
+
entry = pwd.getpwnam(username)
|
|
146
|
+
|
|
147
|
+
return entry
|
|
148
|
+
|
|
149
|
+
def ensure_prefix_permissions(path: Path):
|
|
150
|
+
""" Ensure target user can traverse prefix to path
|
|
151
|
+
Permissions for everyone will be increased to ensure traversal.
|
|
152
|
+
"""
|
|
153
|
+
# ensure path exists and user exists
|
|
154
|
+
assert path.exists()
|
|
155
|
+
prefix = path.parent
|
|
156
|
+
# chmod g+rx,o+rx: enable other users to traverse prefix folders
|
|
157
|
+
g_rx_o_rx = stat.S_IRGRP | stat.S_IROTH | stat.S_IXGRP | stat.S_IXOTH
|
|
158
|
+
while True:
|
|
159
|
+
curr_permissions = prefix.stat().st_mode
|
|
160
|
+
ensure_permissions = curr_permissions | g_rx_o_rx
|
|
161
|
+
# TODO: are symlinks handled ok here?
|
|
162
|
+
prefix.chmod(ensure_permissions)
|
|
163
|
+
if prefix == prefix.parent: # reached file system root
|
|
164
|
+
break
|
|
165
|
+
prefix = prefix.parent
|
|
166
|
+
|
|
167
|
+
def ensure_folder_permissions(path: Path, flag : int):
|
|
168
|
+
""" Ensure target user can read, and execute the folder.
|
|
169
|
+
Permissions for everyone will be increased to ensure traversal.
|
|
170
|
+
"""
|
|
171
|
+
# read and traverse folder
|
|
172
|
+
g_rx_o_rx = stat.S_IRGRP | stat.S_IROTH | stat.S_IXGRP | stat.S_IXOTH
|
|
173
|
+
|
|
174
|
+
def _helper(path: Path):
|
|
175
|
+
if path.is_dir():
|
|
176
|
+
path.chmod(path.stat().st_mode | g_rx_o_rx )
|
|
177
|
+
for child in path.iterdir():
|
|
178
|
+
_helper(child)
|
|
179
|
+
else:
|
|
180
|
+
path.chmod(path.stat().st_mode | flag)
|
|
181
|
+
|
|
182
|
+
_helper(path)
|
|
183
|
+
|
|
184
|
+
class DiskList:
|
|
185
|
+
""" A list of integers stored in a file on disk.
|
|
186
|
+
"""
|
|
187
|
+
def __init__(self, path : Path):
|
|
188
|
+
self.path = path
|
|
189
|
+
|
|
190
|
+
def get_and_add(self, value : int) -> List[int]:
|
|
191
|
+
old_values = self.get()
|
|
192
|
+
values = old_values.copy()
|
|
193
|
+
if value not in values:
|
|
194
|
+
values.append(value)
|
|
195
|
+
self.put(values)
|
|
196
|
+
return old_values
|
|
197
|
+
|
|
198
|
+
def get_and_remove(self, value : int) -> List[int]:
|
|
199
|
+
old_values = self.get()
|
|
200
|
+
values = old_values.copy()
|
|
201
|
+
if value in values:
|
|
202
|
+
values.remove(value)
|
|
203
|
+
self.put(values)
|
|
204
|
+
return old_values
|
|
205
|
+
|
|
206
|
+
def get(self) -> List[int]:
|
|
207
|
+
if not self.path.exists():
|
|
208
|
+
return []
|
|
209
|
+
return json.loads(self.path.read_text())
|
|
210
|
+
|
|
211
|
+
def put(self, values : List[int]) -> None:
|
|
212
|
+
self.path.write_text(json.dumps(values))
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
def socket_name_length_ok(socket_name : Path):
|
|
216
|
+
''' checks whether a socket path is too long for domain sockets
|
|
217
|
+
on this system. Returns True if the socket path is ok, False if it is too long.
|
|
218
|
+
'''
|
|
219
|
+
if socket_name.exists():
|
|
220
|
+
return socket_name.is_socket()
|
|
221
|
+
|
|
222
|
+
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
|
223
|
+
try:
|
|
224
|
+
sock.bind(str(socket_name))
|
|
225
|
+
return True
|
|
226
|
+
except OSError as err:
|
|
227
|
+
if 'AF_UNIX path too long' in str(err):
|
|
228
|
+
return False
|
|
229
|
+
raise err
|
|
230
|
+
finally:
|
|
231
|
+
sock.close()
|
|
232
|
+
socket_name.unlink(missing_ok=True)
|
|
233
|
+
|
|
234
|
+
def find_suitable_socket_dir(pgdata, runtime_path) -> Path:
|
|
235
|
+
""" Assumes server is not running. Returns a suitable directory for used as pg_ctl -o '-k ' option.
|
|
236
|
+
Usually, this is the same directory as the pgdata directory.
|
|
237
|
+
However, if the pgdata directory exceeds the maximum length for domain sockets on this system,
|
|
238
|
+
a different directory will be used.
|
|
239
|
+
"""
|
|
240
|
+
# find a suitable directory for the domain socket
|
|
241
|
+
# 1. pgdata. simplest approach, but can be too long for unix socket depending on the path
|
|
242
|
+
# 2. runtime_path. This is a directory that is intended for storing runtime data.
|
|
243
|
+
|
|
244
|
+
# for shared folders, use a hash of the path to avoid collisions of different folders
|
|
245
|
+
# use a hash of the pgdata path combined with inode number to avoid collisions
|
|
246
|
+
string_identifier = f'{pgdata}-{pgdata.stat().st_ino}'
|
|
247
|
+
path_hash = hashlib.sha256(string_identifier.encode()).hexdigest()[:10]
|
|
248
|
+
|
|
249
|
+
candidate_socket_dir = [
|
|
250
|
+
pgdata,
|
|
251
|
+
runtime_path / path_hash,
|
|
252
|
+
]
|
|
253
|
+
|
|
254
|
+
ok_path = None
|
|
255
|
+
for path in candidate_socket_dir:
|
|
256
|
+
path.mkdir(parents=True, exist_ok=True)
|
|
257
|
+
# name used by postgresql for domain socket is .s.PGSQL.5432
|
|
258
|
+
if socket_name_length_ok(path / '.s.PGSQL.5432'):
|
|
259
|
+
ok_path = path
|
|
260
|
+
_logger.info(f"Using socket path: {path}")
|
|
261
|
+
break
|
|
262
|
+
else:
|
|
263
|
+
_logger.info(f"Socket path too long: {path}. Will try a different directory for socket.")
|
|
264
|
+
|
|
265
|
+
if ok_path is None:
|
|
266
|
+
raise RuntimeError("Could not find a suitable socket path")
|
|
267
|
+
|
|
268
|
+
return ok_path
|
|
269
|
+
|
|
270
|
+
def find_suitable_port(address : Optional[str] = None) -> int:
|
|
271
|
+
"""Find an available TCP port."""
|
|
272
|
+
if address is None:
|
|
273
|
+
address = '127.0.0.1'
|
|
274
|
+
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
275
|
+
sock.bind((address, 0))
|
|
276
|
+
port = sock.getsockname()[1]
|
|
277
|
+
sock.close()
|
|
278
|
+
return port
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: embedded-postgres
|
|
3
|
+
Version: 18.6.0
|
|
4
|
+
Summary: PostgreSQL server binaries as a pip-installable wheel, with a small Python layer to init, start and stop it
|
|
5
|
+
Author: Valeriy V. Pushkar
|
|
6
|
+
License-Expression: Apache-2.0
|
|
7
|
+
Project-URL: Repository, https://github.com/kainpl/embedded-postgres
|
|
8
|
+
Project-URL: Issues, https://github.com/kainpl/embedded-postgres/issues
|
|
9
|
+
Keywords: postgresql,postgres,embedded,pgvector,wheel
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
13
|
+
Classifier: Operating System :: MacOS
|
|
14
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Topic :: Database
|
|
17
|
+
Requires-Python: >=3.9
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
License-File: LICENSE
|
|
20
|
+
License-File: NOTICE
|
|
21
|
+
License-File: THIRD_PARTY_NOTICES.md
|
|
22
|
+
Requires-Dist: fasteners>=0.19
|
|
23
|
+
Requires-Dist: platformdirs>=4.0.0
|
|
24
|
+
Requires-Dist: psutil>=5.9.0
|
|
25
|
+
Provides-Extra: test
|
|
26
|
+
Requires-Dist: pytest; extra == "test"
|
|
27
|
+
Requires-Dist: pytest-timeout; extra == "test"
|
|
28
|
+
Requires-Dist: psycopg2-binary; extra == "test"
|
|
29
|
+
Requires-Dist: sqlalchemy>=2; extra == "test"
|
|
30
|
+
Requires-Dist: sqlalchemy-utils; extra == "test"
|
|
31
|
+
Dynamic: license-file
|
|
32
|
+
|
|
33
|
+
# embedded-postgres
|
|
34
|
+
|
|
35
|
+
PostgreSQL server binaries as a pip-installable wheel, plus a small Python
|
|
36
|
+
layer that runs `initdb`, starts and stops the server, and hands you a
|
|
37
|
+
connection URI. No system PostgreSQL, no root, no Docker.
|
|
38
|
+
|
|
39
|
+
```python
|
|
40
|
+
import embedded_postgres
|
|
41
|
+
|
|
42
|
+
with embedded_postgres.get_server("/path/to/pgdata") as pg:
|
|
43
|
+
uri = pg.get_uri() # postgresql://postgres:@localhost:PORT/postgres
|
|
44
|
+
pg.psql("create extension vector")
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Status
|
|
48
|
+
|
|
49
|
+
Early. This project started on 2026-09-07 as a fork of
|
|
50
|
+
[pgserver](https://github.com/orm011/pgserver), which had stopped at
|
|
51
|
+
PostgreSQL 16.2 in mid-2024. The goals that justify a separate project:
|
|
52
|
+
|
|
53
|
+
- **current PostgreSQL** (18.6 today), with minor releases picked up as they ship;
|
|
54
|
+
- **Linux aarch64** (and later armv7l) wheels next to x86_64, macOS and Windows;
|
|
55
|
+
- **one wheel per platform** (`py3-none-<platform>`) instead of one per Python version;
|
|
56
|
+
- **contrib** modules such as `pg_stat_statements` shipped alongside `pgvector`.
|
|
57
|
+
|
|
58
|
+
Current state (2026-09-07): PostgreSQL 18.6 + pgvector 0.8.6 build and pass
|
|
59
|
+
the test suite on all five targets — `manylinux_2_28` x86_64 and aarch64,
|
|
60
|
+
`macosx_11_0` arm64 and x86_64, `win_amd64` — 12–17 MB per wheel. Until the
|
|
61
|
+
first release is tagged, wheels are only available as workflow artifacts from
|
|
62
|
+
the GitHub Actions runs.
|
|
63
|
+
|
|
64
|
+
## Windows and Administrator accounts
|
|
65
|
+
|
|
66
|
+
PostgreSQL's tools refuse to run with Administrator rights: `initdb`,
|
|
67
|
+
`pg_ctl` and `postgres` re-launch themselves with a *restricted token* in which
|
|
68
|
+
the Administrators group is deny-only. Any directory that is reachable only
|
|
69
|
+
through that group is then invisible to them — including the binaries
|
|
70
|
+
themselves. Since CPython 3.12.4, `tempfile.mkdtemp()` on Windows creates
|
|
71
|
+
exactly such directories (SYSTEM, Administrators and the owner; for an
|
|
72
|
+
administrator the owner *is* Administrators). Symptom:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
invalid binary "...\embedded_postgres\pginstallin\initdb.exe": Permission denied
|
|
76
|
+
initdb: error: program "postgres" is needed by initdb but was not found in the same directory as "initdb"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
If you run as Administrator, keep the package and the data directory out of
|
|
80
|
+
`mkdtemp()`-created trees, or grant your user an explicit ACE
|
|
81
|
+
(`icacls <dir> /grant "%USERNAME%:(OI)(CI)F" /T`). Regular user accounts and
|
|
82
|
+
directories created with `os.mkdir()` / `python -m venv` are unaffected.
|
|
83
|
+
|
|
84
|
+
## Versioning
|
|
85
|
+
|
|
86
|
+
The package version mirrors the bundled PostgreSQL release: `MAJOR.MINOR` are
|
|
87
|
+
PostgreSQL's, the third number counts this package's own revisions for that
|
|
88
|
+
PostgreSQL version. `18.6.0` is the first packaging of PostgreSQL 18.6.
|
|
89
|
+
|
|
90
|
+
## How it is built
|
|
91
|
+
|
|
92
|
+
`pgbuild/Makefile` downloads the official PostgreSQL source tarball and
|
|
93
|
+
`pgvector`, builds `world-bin` (server, client tools and contrib, no docs)
|
|
94
|
+
with `configure && make`, and installs the result into
|
|
95
|
+
`src/embedded_postgres/pginstall/`. `cibuildwheel` runs that build once per
|
|
96
|
+
platform in CI and packages the tree into a wheel. Nothing is compiled on the
|
|
97
|
+
user's machine.
|
|
98
|
+
|
|
99
|
+
Configure flags: `--without-readline --without-icu`. No OpenSSL — the server
|
|
100
|
+
is meant to listen on localhost or a Unix socket.
|
|
101
|
+
|
|
102
|
+
## License
|
|
103
|
+
|
|
104
|
+
Apache License 2.0 for this project's own code. The bundled PostgreSQL and
|
|
105
|
+
pgvector binaries are distributed under the PostgreSQL License. See `NOTICE`
|
|
106
|
+
and `THIRD_PARTY_NOTICES.md`.
|