#pragma once #include "config.h" #if USE_LIBPQXX #include #include #include #include namespace DB { class TableFunctionPostgreSQL : public ITableFunction { public: static constexpr auto name = "postgresql"; std::string getName() const override { return name; } private: StoragePtr executeImpl( const ASTPtr & ast_function, ContextPtr context, const std::string & table_name, ColumnsDescription cached_columns, bool is_insert_query) const override; const char * getStorageTypeName() const override { return "PostgreSQL"; } ColumnsDescription getActualTableStructure(ContextPtr context, bool is_insert_query) const override; void parseArguments(const ASTPtr & ast_function, ContextPtr context) override; postgres::PoolWithFailoverPtr connection_pool; std::optional configuration; }; } #endif