Ik gebruik al vele jaren MS-SQL server icm C# en lees de laatste tijd veel goede verhalen over PostgreSQL.
Dus dat wil ik dan toch eens zelf proberen. Daarom begonnen met het omzetten van een bestaand simpel programma van MSSQL naar PostgreSQL. Maar het inloggen lukt niet.
De foutmelding is:
Inloggen via de terminal lukt wel. Met "psql -d fileindex -U dbuser"
En dan kan ik gewoon dit soort queries doen:
Inloggen via pgAdmin 4 lukt ook. Daarin kan ik gewoon de database en schema zien.
Alleen dus nog niet via C#. Hier is een stukje van de DbContext:
En dan het belangrijkste, het ~/data/pg_hba.conf bestand
dit is het laatste gedeelte daarvan:
Ik had de METHOD voor de dbuser ook met md5 gewisseld maar dat maakt niets uit.
En na de wisseling ook "sudo systemctl restart postgresql"
Dus heeft er iemand nog tips?
Dus dat wil ik dan toch eens zelf proberen. Daarom begonnen met het omzetten van een bestaand simpel programma van MSSQL naar PostgreSQL. Maar het inloggen lukt niet.
De foutmelding is:
code:
1
2
3
4
5
6
| Opening connection to database 'fileindex' on server 'tcp://localhost:5432'. An error occurred using the connection to database 'fileindex' on server 'tcp://localhost:5432'. 'IndexerContext' disposed. Disposing connection to database 'fileindex' on server 'tcp://localhost:5432'. Disposed connection to database 'fileindex' on server 'tcp://localhost:5432' (0ms). Npgsql.PostgresException (0x80004005): 28000: Ident authentication failed for user "dbuser" |
Inloggen via de terminal lukt wel. Met "psql -d fileindex -U dbuser"
En dan kan ik gewoon dit soort queries doen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| fileindex=> SELECT * FROM pg_stat_activity WHERE pid = pg_backend_pid(); datid | datname | pid | leader_pid | usesysid | usename | application_name | client_addr | client_hostname | client_port | backend_start | xact_start | query_start | state_change | wait_event_type | wait_event | state | backend_xid | backend_xmin | query_i d | query | backend_type -------+-----------+-------+------------+----------+---------+------------------+-------------+-----------------+-------------+-------------------------------+------- ------------------------+-------------------------------+-------------------------------+-----------------+------------+--------+-------------+--------------+-------- --+--------------------------------------------------------------+---------------- 16393 | fileindex | 29506 | | 16392 | dbuser | psql | | | -1 | 2025-10-04 07:44:44.097287+02 | 2025-1 0-04 07:46:08.237872+02 | 2025-10-04 07:46:08.237872+02 | 2025-10-04 07:46:08.237876+02 | | | active | | 770 | | SELECT * FROM pg_stat_activity WHERE pid = pg_backend_pid(); | client backend (1 row) fileindex=> SELECT current_setting('listen_addresses') AS listen_addresses, current_setting('port') AS port; listen_addresses | port ------------------+------ localhost | 5432 (1 row) |
Inloggen via pgAdmin 4 lukt ook. Daarin kan ik gewoon de database en schema zien.
Alleen dus nog niet via C#. Hier is een stukje van de DbContext:
code:
1
2
3
4
5
6
7
8
9
| protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { string connectionString = @"Host=localhost;Port=5432;Database=fileindex;Username=dbuser;Password=geheim"; if (!optionsBuilder.IsConfigured) { optionsBuilder.UseNpgsql(connectionString); } } |
En dan het belangrijkste, het ~/data/pg_hba.conf bestand
dit is het laatste gedeelte daarvan:
code:
1
2
3
4
5
6
7
8
9
10
| # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all dbuser md5 local all all peer # IPv4 local connections: host all dbuser 127.0.0.1/32 md5 host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 ident |
Ik had de METHOD voor de dbuser ook met md5 gewisseld maar dat maakt niets uit.
En na de wisseling ook "sudo systemctl restart postgresql"
Dus heeft er iemand nog tips?
weet het niet meer