The columns named in entity_col
and cidr_col
must exist in the
data frame or CSV file. All _name
s must be valid PostgreSQL syntax for
said names. Setting drop=TRUE
is destructive.
NOTE that cidr_col
is a primary key. Thus duplicate CIDRs are not allowed
and it's up to you to ensure that.
create_cidr_lookup_table( pgcon, tbl_name, drop = FALSE, xdf, entity_col = "entity", cidr_col = "cidr" )
pgcon | a PostgreSQL DBI connection |
---|---|
tbl_name | name of the CIDR table (valid PG table name syntax) |
drop | drop existing CIDR table if it has the same name? Defaults to |
xdf | Data frame to use to populate the table or a path to a CSV file.
If a path it will be |
entity_col | Name of the column that holds the entity reference name for the CIDR |
cidr_col | Name of the column that holds the CIDR block |
if (FALSE) { DBI::dbConnect( odbc::odbc(), driver = "/usr/local/lib/psqlodbca.so", Database = "working", Host = "localhost" ) -> con create_cidr_lookup_table( pgcon = con, tbl_name = "amazon_cidrs", drop = TRUE, xdf = system.file("extdat", "amzn-cidrs.csv", package = "pgcidr"), ) create_ip_source_table( pgcon = con, tbl_name = "weblog", drop = TRUE, xdf = system.file("extdat", "weblog.csv", package = "pgcidr") ) find_ips_in_cidrs( con, "weblog", "amazon_cidrs" ) }