This code is working for me; so you can compare with your code.
using LibPQ
using Dates
using DataFrames
conn = LibPQ.Connection("dbname=pljulia")
result = execute(conn, """
DROP TABLE IF EXISTS test_dailymetrics;
CREATE TABLE test_dailymetrics (
dmdate DATE,
dmmetric TEXT,
dmnum integer
);
""",
throw_error=true
)
LibPQ.load!(
( dmdate = [ Date(2022, 7, 17) ]
, dmmetric = [ "overall" ]
, dmnum = [ 8 ]
),
conn,
"INSERT INTO test_dailymetrics (dmdate, dmmetric, dmnum) VALUES (\$1, \$2, \$3);"
)
df=DataFrame(execute(conn, "SELECT * FROM test_dailymetrics"));
df
close(conn)
log
julia> using LibPQ
julia> using Dates
julia> using DataFrames
julia> conn = LibPQ.Connection("dbname=pljulia")
PostgreSQL connection (CONNECTION_OK) with parameters:
user = pljulia
password = ********************
channel_binding = prefer
dbname = pljulia
hostaddr = 127.0.0.1
port = 5432
client_encoding = UTF8
options = -c DateStyle=ISO,YMD -c IntervalStyle=iso_8601 -c TimeZone=UTC
application_name = LibPQ.jl
sslmode = prefer
sslcompression = 0
sslsni = 1
ssl_min_protocol_version = TLSv1.2
gssencmode = prefer
krbsrvname = postgres
target_session_attrs = any
julia> result = execute(conn, """
DROP TABLE IF EXISTS test_dailymetrics;
CREATE TABLE test_dailymetrics (
dmdate DATE,
dmmetric TEXT,
dmnum integer
);
""",
throw_error=true
)
PostgreSQL result
julia> LibPQ.load!(
( dmdate = [ Date(2022, 7, 17) ]
, dmmetric = [ "overall" ]
, dmnum = [ 8 ]
),
conn,
"INSERT INTO test_dailymetrics (dmdate, dmmetric, dmnum) VALUES (\$1, \$2, \$3);"
)
PostgreSQL prepared statement named __libpq_stmt_0__ with query INSERT INTO test_dailymetrics (dmdate, dmmetric, dmnum) VALUES ($1, $2, $3);
julia> df=DataFrame(execute(conn, "SELECT * FROM test_dailymetrics"));
julia> df
1×3 DataFrame
Row │ dmdate dmmetric dmnum
│ Date? String? Int32?
─────┼──────────────────────────────
1 │ 2022-07-17 overall 8
julia> close(conn)
julia>
some hints:
- in the testcode LibPQ.jl/test/runtests.jl at master · JuliaDatabases/LibPQ.jl · GitHub .. there are lot of examples.
- Insertion example in the Doc : https://invenia.github.io/LibPQ.jl/stable/#Insertion
- LibPQ.load! doc
- Julia Tables doc: Home · Tables.jl