PostgreSQL

PostgreSQLWindows Serverにインストールした。

https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows

特に問題はなかった。データベースの作り方も適当にググったら何とかなった。
ただいい感じの入門サイトがないのがちょっと使いにくいかなと。
あと、ポート開放するだけで外からも接続できるのかなと思ったらそうではなく、pg_hba.confをいじる必要がある。

qiita.com

それと百万件INSERTとかしようとしたら遅くで、そういうときはcsvからCOPY FROMで直接取り込んだほうが速いらしい。
csvエンコーディングUTF-8だとうまく取り込めなかったのでSJISにした。

symfoware.blog.fc2.com

ついでにpowershellPostgreSQLを扱ったのでそのときのコードを貼っておく。
Npgsqlはインストール必要あり。

[void][reflection.assembly]::LoadFrom("C:***\The Npgsql Development Team\Npgsql\Npgsql-2.2.3.0-net45\Npgsql.dll")
$ConnectionString = "Server=localhost;Port=****;User Id=****;Password=****;Database=****;"
$conn = New-Object NpgSql.NpgsqlConnection($ConnectionString)

#接続する
$conn.Open()

$sql = "INSERT INTO test_table  VALUES (***)"
$command = New-Object NpgSql.NpgSqlCommand($sql, $conn)
$result = $command.ExecuteNonQuery()

$conn.Close()

ついでにASP.NETから扱ったときのコードも。
NugetでNpgsqlをインストール必要あり。

using Npgsql;

            NpgsqlConnection conn = new NpgsqlConnection("Server=localhost;Port=****;User Id=****;Password=****;Database=****;");
            NpgsqlCommand command = new NpgsqlCommand($"select * from test_table", conn);
            try
            {
                conn.Open();
                NpgsqlDataReader dr = command.ExecuteReader();
                while (dr.Read())
                {
                    //ここに処理
                }
            }
            finally
            {
                conn.Close();
            }

まあどっちもそのへんで拾ったやつですが。