Create a class to handle database connections and queries:

using Npgsql;
using System;
namespace ShinyDataReport
public class PostgreSQLConnector
private readonly string _connectionString;
public PostgreSQLConnector(string connectionString)
_connectionString = connectionString;
public void RetrieveData()
try
using (var connection = new NpgsqlConnection(_connectionString))
connection.Open();
                    var command = new NpgsqlCommand("SELECT * FROM your_table_name", connection);
                    var reader = command.ExecuteReader();
                    while (reader.Read())
Console.WriteLine(reader["column_name"]);
catch (Exception ex)
Console.WriteLine(ex.Message);

For the technically inclined, you can generate your own shiny.dat from Niantic’s Game Master file. This ensures you have the absolute latest data.

Note: This requires knowledge of protocol buffers (protobuf) and scripting (Python, Node.js). Not recommended for casual users.


After installation, test the shiny scanner:

If you see rings on species that are impossible to be shiny, your shiny.dat is either outdated or corrupted. If you see no rings at all, the file may be missing or in the wrong directory.